Varning: Nedan är inte testat ännu och det är en bugg. Se nedan för rättad version
Har knåpat ihop ett triggerskript som tar Gvar och sätter tidstriggers. Har inte testat det ännu. Tanken är att när MACD2 (S) ger signal så aktiveras skriptet via tid1. Se skript för OMX-triggers nedan. Man kan byta trigger genom att låta ett annat skript läsa in variabel 100 (för exit long) och 101 (för exita en köpt shortposition).
1) Säljskriptet exempel för Long:
{ Exit Long position via en trailstop efter signal från analystrigger }
{ 160823 }
max_procent:=6 {max procent tillåten spread}
klock2:=1042
stoppgräns:=mult(scrpar(16),0.60) {Initial SL reducerad till 60 proc}
{ }
i1(
{Analystrigger startar klockan för skriptet, om avstängd så är tid 1380}
klock1=GetGvar(100)
spread_ok=lt(div(s,b),add(div(max_procent,100),1))
samma_dag=eqv(int(d),int(date()))
öppet=ge(mult(1440,sub(market(c),frac(date()))),4)
{ }
okantal=gt(portfolio(v),0)
index=and(and(eqv(hhv(v,10),0),and(eqv(s,0),eqv(b,0))),gt(llv(c,10),0))
{ Villkor för att aktivera bevakning }
tid1=gt(int(mult(frac(d),1440)),klock1)
tid2=lt(int(mult(frac(d),1440)),klock2)
start=if(and(öppet,ge(d,lasttrade(b,d))),if(spread_ok,b,0),0)
maxhittills=hhv(start,502)
stoploss=Sub(maxhittills,stoppgräns)
{ Koppla ihop villkor }
sälj1=and(tid1,tid2)
sälj2=and(le(if(index,c,b),stoploss),sälj1)
sälj3=and(sälj2,or(index,spread_ok))
sälj4=and(and(and(sälj3,samma_dag),okantal),öppet)
mult(sälj4,10)
)
2) Skript för att sätta triggers på valt index eller underliggande tillgång
{ Sätter triggers till script från MACD-signaler. Triggers är tidsangivelser som aktiverar en flytstopp }
{ 160823 }
i5(
tidvalue=int(mult(frac(d),1440))
ExitLong=MACD2(S)
ExitShort=MACD2(B)
{ Nollar cell 100 för MACD sälj som är exit long och cell 101 för MACD köp som är exit short första minuten med att sätta tid som är omöjlig dvs kl 23 }
nollacell=and(eqv(xtime(date(),m),0),eqv(xtime(date(),h),9))
SetGVarIf(1380,100,nollacell)
SetGVarIf(1380,101,nollacell)
{ Vid exit long signal så sätts cell 100 till tiden då säljskriptet ska starta dvs nu. Om signalen reverseras så skjuts tiden till 23 igen }
SetGVarIf(tidvalue,100,ExitLong)
SetGVarIf(1380,100,ExitShort)
{ Vid exit short signal så sätts cell 101 till tiden då säljskriptet ska starta dvs nu. Om signalen reverseras så skjuts tiden till 23 igen }
SetGVarIf(tidvalue,101,ExitShort)
SetGVarIf(1380,101,ExitLong)
)
Har knåpat ihop ett triggerskript som tar Gvar och sätter tidstriggers. Har inte testat det ännu. Tanken är att när MACD2 (S) ger signal så aktiveras skriptet via tid1. Se skript för OMX-triggers nedan. Man kan byta trigger genom att låta ett annat skript läsa in variabel 100 (för exit long) och 101 (för exita en köpt shortposition).
1) Säljskriptet exempel för Long:
{ Exit Long position via en trailstop efter signal från analystrigger }
{ 160823 }
max_procent:=6 {max procent tillåten spread}
klock2:=1042
stoppgräns:=mult(scrpar(16),0.60) {Initial SL reducerad till 60 proc}
{ }
i1(
{Analystrigger startar klockan för skriptet, om avstängd så är tid 1380}
klock1=GetGvar(100)
spread_ok=lt(div(s,b),add(div(max_procent,100),1))
samma_dag=eqv(int(d),int(date()))
öppet=ge(mult(1440,sub(market(c),frac(date()))),4)
{ }
okantal=gt(portfolio(v),0)
index=and(and(eqv(hhv(v,10),0),and(eqv(s,0),eqv(b,0))),gt(llv(c,10),0))
{ Villkor för att aktivera bevakning }
tid1=gt(int(mult(frac(d),1440)),klock1)
tid2=lt(int(mult(frac(d),1440)),klock2)
start=if(and(öppet,ge(d,lasttrade(b,d))),if(spread_ok,b,0),0)
maxhittills=hhv(start,502)
stoploss=Sub(maxhittills,stoppgräns)
{ Koppla ihop villkor }
sälj1=and(tid1,tid2)
sälj2=and(le(if(index,c,b),stoploss),sälj1)
sälj3=and(sälj2,or(index,spread_ok))
sälj4=and(and(and(sälj3,samma_dag),okantal),öppet)
mult(sälj4,10)
)
2) Skript för att sätta triggers på valt index eller underliggande tillgång
{ Sätter triggers till script från MACD-signaler. Triggers är tidsangivelser som aktiverar en flytstopp }
{ 160823 }
i5(
tidvalue=int(mult(frac(d),1440))
ExitLong=MACD2(S)
ExitShort=MACD2(B)
{ Nollar cell 100 för MACD sälj som är exit long och cell 101 för MACD köp som är exit short första minuten med att sätta tid som är omöjlig dvs kl 23 }
nollacell=and(eqv(xtime(date(),m),0),eqv(xtime(date(),h),9))
SetGVarIf(1380,100,nollacell)
SetGVarIf(1380,101,nollacell)
{ Vid exit long signal så sätts cell 100 till tiden då säljskriptet ska starta dvs nu. Om signalen reverseras så skjuts tiden till 23 igen }
SetGVarIf(tidvalue,100,ExitLong)
SetGVarIf(1380,100,ExitShort)
{ Vid exit short signal så sätts cell 101 till tiden då säljskriptet ska starta dvs nu. Om signalen reverseras så skjuts tiden till 23 igen }
SetGVarIf(tidvalue,101,ExitShort)
SetGVarIf(1380,101,ExitLong)
)
Comment