Allmänt meddelande

Collapse
No announcement yet.

Värde i indata script

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

  • Värde i indata script

    Hej,
    Om man kör en flytande stoploss så tas värdet från indata scriptet i ruta 1 ScrPar(1) och skriver man -1 så blir det procent. Dock verkar det inte funka om man justerar direkt i scriptet alltså ändrar från stoppgräns1=ScrPar(1) till stoppgräns1:=-1
    Gissar att det beror på att den läser värdet som -1 istället för procent.
    Min fråga är om det finns nån lösning på hur man enkelt kan editera scriptet så jag kan justera i procent direkt i scriptet?

    Mvh Greger

  • #2
    Borde funka, procentomräkningen görs senare i stoppgräns2 har jag för mig. Lägg gärna upp hela scriptet så ser vi direkt.

    Comment


    • #3
      Jag får inte samma värden när jag kör den i bänken och skriver -0.9 i indata script jämfört med nedan.

      så här ser scriptet ut:

      { Stoploss Mini Long }
      { 160829 }
      elastisk:=0 { 1=JA 0=NEJ - använd 0 för minifutures}
      tid_innan_stäng:=4 { minuter innan stängning }
      max_spread_procent:=4 { max tillåten spread i procent }
      tidspärr1:=0.33 { minuter mellan orderförsök }
      stoppgräns1:=-0.9
      { }
      i1(
      öppet=ge(mult(1440,sub(market(c),frac(d))),tid_innan_stäng)
      {stoppgräns1=ScrPar(1)}
      stoppgräns2=sub(1,div(abs(stoppgräns1),100))
      målantal=ScrPar(2)
      lastbuy=LastTrade(B,P)
      innehav=Portfolio(v)
      index=and(and(eqv(hhv(v,10),0),and(eqv(s,0),eqv(b,0))),gt(llv(c,10),0))
      mv1=Mov(if(index,c,b),2,s)
      fastmfi=Mov(LinReg(Mfi(3),4),4,e)
      mfiner=Lt(LlvBars(fastmfi,2),1)
      lt1=LastTrade(B,D)
      minSedanKöp=Mult(Sub(d,lt1),1440)
      delay_ok=gt(minSedanKöp,tidspärr1)
      inpådagen=gt(frac(date()),0.376)
      spreadcheck1=lt(div(s,b),add(1,div(max_spread_procent,100)))
      spreadcheck2=or(index,and(and(spreadcheck1,gt(s,b)),gt(b,0)))
      start=if(and(öppet,ge(d,lasttrade(b,d))),if(spreadcheck2,if(index,c,b),0),0)
      maxhittills=hhv(start,2000)
      level1=Sub(maxhittills,stoppgräns1)
      level2=Mult(maxhittills,stoppgräns2)
      level3=if(lt(scrpar(1),0),level2,level1)
      flytstopp1=And(Lt(if(index,c,b),level3),Lt(mv1,level3))
      flytstopp2=Lt(if(index,c,b),level3)
      flytstopp3=If(elastisk,flytstopp1,flytstopp2)
      Draw(If(and(delay_ok,Gt(innehav,målantal)),level3,0),9,rqb)
      signal1=And(And(And(or(mfiner,Not(elastisk)),flytstopp3),Gt(innehav,målantal)),Gt(innehav,0))
      signal2=And(And(signal1,xor(stoppgräns1,0)),delay_ok)
      signal3=and(and(and(and(signal2,inpådagen),öppet),spreadcheck2),or(index,gt(b,0)))
      Mult(signal3,10)
      )

      Comment


      • #4
        Scarpar(1) används även längre ner i scriptet. Vet ej om det är det som spökar?

        level3=if(lt(scrpar(1),0),level2,level1)

        Borde vara:
        level3=if(lt(stoppgräns1,0),level2,level1)

        Comment

        Working...
        X