Hej, Jag får inte mitt kontrollscript att fungera. Tanken är att det skall hantera falska signaler genom att återköpa intrumentet om "flaggan" försvinner.
Jag exemplifierar med köp-sidan.
tre villkor måste uppfyllas:
- Senaste transaktion skall vara Sälj. Dvs. 0 i innehav av instrumentet i fråga.
- RSI-linjen skall ligga över signallinjen. Dvs köpläge.
- Det skall ske inom tidsfönstret. 240 sekunder från sälj och inte senare än 480 sekunder.
Så här ser koden ut på köpsidan och jag fattar inte vad jag gjort för fel. Återköpet verkar inte fungera alls.
Sedan har jag ett nästintill likadant för sälj:
Jag exemplifierar med köp-sidan.
tre villkor måste uppfyllas:
- Senaste transaktion skall vara Sälj. Dvs. 0 i innehav av instrumentet i fråga.
- RSI-linjen skall ligga över signallinjen. Dvs köpläge.
- Det skall ske inom tidsfönstret. 240 sekunder från sälj och inte senare än 480 sekunder.
Så här ser koden ut på köpsidan och jag fattar inte vad jag gjort för fel. Återköpet verkar inte fungera alls.
Kod:
i8( ....... SendBuySignal=... Själva köpsignalen vid RSI-kors { PortföljKontroll } PrefStateInnehav=GT(RSILine,SignalLine) { 1 om innehav bör finnas dvs. köp om ej finns } EmptyPortfolio=EQV(Portfolio(v),0) LastTradeSell=EQV(LastTrade(),1) NoStock=AND(EmptyPortfolio,LastTradeSell) SellTS=LastTrade(S,D) SekSinceSell=MULT(SUB(D,SellTS),86400) Tidsfönster=AND(GT(SekSinceSell,240),LT(SekSinceSell,480)) AgeraPåTom=IF(NoStock,AND(PrefStateInnehav,Tidsfönster),0) ParseSignal1=AND(SendBuySignal,SpreadOK) ParseSignal2=OR(ParseSignal1,AgeraPåTom) ParseSignal3=AND(ParseSignal2,EmptyPortfolio) MULT(ParseSignal3,10) )
Kod:
i8( ....... SendSignalB=... Själva säljsignalen vid RSI-kors { PortföljKontroll } PrefStateEmpty=LT(RSILine,SignalLine) InPortfolio=GT(Portfolio(v),0) LastTradeBuy=EQV(LastTrade(),0) HasStock=AND(LastTradeBuy,LastTradeBuy) BuyTS=LastTrade(B,D) SekSinceBuy=MULT(SUB(D,BuyTS),86400) Tidsfönster=AND(GT(SekSinceBuy,240),LT(SekSinceBuy,480)) AgeraPåInnehav=IF(HasStock,AND(PrefStateEmpty,Tidsfönster),0) ParseSignal1=AND(SendSignalB,SpreadOK) ParseSignal2=OR(ParseSignal1,AgeraPåInnehav) ParseSignal3=AND(ParseSignal2,InPortfolio) { Sälj alltid 5 min innan stängning } mt1=mult(sub(market(c),frac(d)),1440) mt2=le(mt1,5) MULT(OR(ParseSignal3,mt2),10) )
Comment