Allmänt meddelande

Collapse
No announcement yet.

Trailing stop loss

Collapse
X
 
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • Trailing stop loss

    Jag vill bygga en trailing stop loss enligt följande:
    Identifiera dags-stapeln med högsta uppnådda pris sedan inköp,
    Lägg en stop 0,5% under denna stapels lägsta pris.
    Ovan agerar enbart på dags staplar.
    I de fall en dags range är större än 5% vill jag istället lägga stop loss 0,5% under hälftennivån på denna stapel.

    Tacksam om någon kunde dela koden för ovan villkor, fick inte till det av ngn anledning...

  • #2
    Om man fått en 5%-dag och flyttar stoplossen, vad händer nästa dag? Ska den ligga kvar 0,5% under den dagens halva stapel eller gå tillbaka till 0,5% under stapeln med högsta High sedan köp?

    Ska stoppen få lösa ut mitt på dagen?

    Comment


    • #3
      Den ska flyttas varje gång ny högsta. Det jag inte fick till var att hitta högsta dagsstapeln sedan köp och dess stängning.

      Comment


      • #4
        Här är ett utkast, inte hunnit testa dock. Men det borde visa sig ganska snabb i simulatorn.

        { EOD trailing stoploss }
        { 140424 }
        tid_innan_stäng:=6 {minuter innan stängning}
        max_spread_procent:=2 { max tillåten spread i procent }
        tidspärr1:=1 { minuter mellan orderförsök }
        stoppgräns1:=1.005 { stoplossnivå i procent }
        { }
        öppet=ge(mult(1440,sub(market(c),frac(d))),tid_innan_stäng)
        lastbuy=LastTrade(B,P)
        innehav=Portfolio(v)
        account_ok=not(eqv(cash(d),0))
        inpådagen=gt(frac(date()),0.376)
        start1=if(and(öppet,ge(d,tidpunkt)),L,0)
        start2=if(and(öppet,ge(d,tidpunkt)),div(add(L,H),2),0)
        maxhittills1=hhv(start1,200)
        maxhittills2=hhv(start2,200)
        range=div(h,l)
        över5=gt(range,1.05)
        level1=Mult(maxhittills1,stoppgräns1)
        level2=Mult(maxhittills2,stoppgräns1)
        level3=if(över5,level2,level1)
        flytstopp2=Lt(b,level3)
        Draw(If(and(and(delay_ok,account_ok),Gt(innehav,0)),level3,0),9,rqb)
        signal1=And(flytstopp2,Gt(innehav,0))
        signal2=And(And(And(signal1,xor(stoppgräns1,0)),delay_ok),account_ok)
        signal3=and(and(and(signal2,inpådagen),öppet),gt(b,0))
        Mult(signal3,10)

        Comment

        Working...
        X