Tog fram supertrend med bara minnesceller. Borde fungera i både diagram och simulering. Har inte testat med getval i simulering. Jag bytte ut ema på true range till ATR. Nästan samma eller ändra själv tillbaka. Ni får kolla om den fungerar som tänkt. Fördelen är att det inte behövs historik innan den är synkad med nuet.
Ops: inte korrigerat för den kan sättas flera gånger i samma period i simulering/skarpt. Återkommer med justering.
perioder:=10
multiplier:=3
längd:=500
Arange=atr(perioder)
HLA=div(add(h,l),2)
BUB1=add(HLA,mult(multiplier,Arange))
BLB1=sub(HLA,mult(multiplier,Arange))
retval(if(eqv(getval(3),0),if(aref(ge(c,mov(c,perioder,s)),längd),aref(BLB1,längd),aref(BUB1,längd)),getval(3)),3)
retval(0,0)
turns=retval(add(getval(0),1),0)
lookBack1=sub(längd,turns)
lookBack2=add(lookBack1,1)
BUB2=if(eqv(turns,längd),BUB1,aref(BUB1,lookBack1))
BLB2=if(eqv(turns,längd),BLB1,aref(BLB1,lookBack1))
FinalU=if(or(or(eqv(getval(1),0),lt(BUB2,getval(1))),gt(aref(c,lookBack2),getval(1))),BUB2,getval(1))
FinalL=if(or(or(eqv(getval(2),0),gt(BLB2,getval(2))),lt(aref(c,lookBack2),getval(2))),BLB2,getval(2))
loop(turns,längd)
superTrnd=if(or(and(eqv(getval(3),getval(1)),lt(c,FinalU)),and(eqv(getval(3),FinalL),lt(c,FinalL))),FinalU,FinalL)
retval(FinalU,1)
retval(FinalL,2)
retval(superTrnd,3)
draw(superTrnd,3,bqb)
and(0,0)
Ops: inte korrigerat för den kan sättas flera gånger i samma period i simulering/skarpt. Återkommer med justering.
perioder:=10
multiplier:=3
längd:=500
Arange=atr(perioder)
HLA=div(add(h,l),2)
BUB1=add(HLA,mult(multiplier,Arange))
BLB1=sub(HLA,mult(multiplier,Arange))
retval(if(eqv(getval(3),0),if(aref(ge(c,mov(c,perioder,s)),längd),aref(BLB1,längd),aref(BUB1,längd)),getval(3)),3)
retval(0,0)
turns=retval(add(getval(0),1),0)
lookBack1=sub(längd,turns)
lookBack2=add(lookBack1,1)
BUB2=if(eqv(turns,längd),BUB1,aref(BUB1,lookBack1))
BLB2=if(eqv(turns,längd),BLB1,aref(BLB1,lookBack1))
FinalU=if(or(or(eqv(getval(1),0),lt(BUB2,getval(1))),gt(aref(c,lookBack2),getval(1))),BUB2,getval(1))
FinalL=if(or(or(eqv(getval(2),0),gt(BLB2,getval(2))),lt(aref(c,lookBack2),getval(2))),BLB2,getval(2))
loop(turns,längd)
superTrnd=if(or(and(eqv(getval(3),getval(1)),lt(c,FinalU)),and(eqv(getval(3),FinalL),lt(c,FinalL))),FinalU,FinalL)
retval(FinalU,1)
retval(FinalL,2)
retval(superTrnd,3)
draw(superTrnd,3,bqb)
and(0,0)
Comment