Hej!
Jag har anslutit 4 stycken ordermodeller mot OMXS30 på 2 olika testkonton och kopplat dessa mot ett tredje testkonto via ETP link för köp av minifutures enligt nedan.
Köp/Sälj long på testkonto1
Köp/Sälj kort på testkonto2
ETP Link köp/sälj long/kort på testkonto3.
Jag har ännu inte stött på problemet då jag inte handlat mot skarpt konto på dessa modeller, men jag misstänker att det kan bli problem.
Eftersom jag vill t ex sälja long position och köpa kort position på samma stapel, så kommer ju testkonto1 skicka en sälj long signal via ETP link till testkonto3 och testkonto2 kommer skicka en köp kort signal till testkonto3. Om köpsignalen "kommer fram" först så finns eventuellt inte täckning för köpet. (på testkonto kan man ju övertrassera så där går det ju att göra köpet först)
Jag tänkte lösa detta genom att ändra köpscripten till att köpa en period senare bara. inte alltid optimalt, men hellre det än riskera att köpen inte ens går igenom. Finns det bättre sätt, typ att göra någon inställning där säljsignaler alltid hanteras först eller något sådant så vore det toppen.
Men om jag nu kör på min lösning att helt enkelt förskjuta köpen en period så vill jag ju att den gör precis det. Dock får jag inte förskjutningen att fungera och skulle behöva lite hjälp att reda ut varför. Jag har försökt leta igenom varför den inte gör som jag vill men jag lyckas inte.
Mitt köpscript ser ut på ett ungefär såhär:
sl) köp long (testkonto1)
innehav:=Portfolio(v)
ok_att_handla:=Eqv(innehav,0)
i1(
omxs30c=cmpref(c,0,a)
omxs30o=cmpref(o,0,a)
omxs30l=cmpref(l,0,a)
omxs30h=cmpref(h,0,a)
blabla
blabla
blabla
Mult(köpsignal,15)
)
{@A(1,OMX Stock )}
Men när jag förskjuter köpsignalen enligt nedan så får jag det inte att stämma till 100%.
sl) köp long FÖRSKJUTET (testkonto1)
innehav:=Portfolio(v)
ok_att_handla:=Eqv(innehav,0)
i1(
omxs30c=cmpref(c,0,a)
omxs30o=cmpref(o,0,a)
omxs30l=cmpref(l,0,a)
omxs30h=cmpref(h,0,a)
blabla
blabla
blabla
Mult(aref(köpsignal,3),12)
)
{@A(1,OMX Stock )}
Bifogar bild på ett exempel där den verkar "missa" en signal. Ljusgrön är skarpa och den mörkgröna signalen ska vara med förskjutning.
Läste en annan tråd att om man jobbade i olika upplösningar var man tvungen att använda retval/getval. Men jag kör endast intradayupplöst, och kör allt utom innehavskontrollen inom intraday-prefixet.
förskjutning.PNG
Jag har anslutit 4 stycken ordermodeller mot OMXS30 på 2 olika testkonton och kopplat dessa mot ett tredje testkonto via ETP link för köp av minifutures enligt nedan.
Köp/Sälj long på testkonto1
Köp/Sälj kort på testkonto2
ETP Link köp/sälj long/kort på testkonto3.
Jag har ännu inte stött på problemet då jag inte handlat mot skarpt konto på dessa modeller, men jag misstänker att det kan bli problem.
Eftersom jag vill t ex sälja long position och köpa kort position på samma stapel, så kommer ju testkonto1 skicka en sälj long signal via ETP link till testkonto3 och testkonto2 kommer skicka en köp kort signal till testkonto3. Om köpsignalen "kommer fram" först så finns eventuellt inte täckning för köpet. (på testkonto kan man ju övertrassera så där går det ju att göra köpet först)
Jag tänkte lösa detta genom att ändra köpscripten till att köpa en period senare bara. inte alltid optimalt, men hellre det än riskera att köpen inte ens går igenom. Finns det bättre sätt, typ att göra någon inställning där säljsignaler alltid hanteras först eller något sådant så vore det toppen.
Men om jag nu kör på min lösning att helt enkelt förskjuta köpen en period så vill jag ju att den gör precis det. Dock får jag inte förskjutningen att fungera och skulle behöva lite hjälp att reda ut varför. Jag har försökt leta igenom varför den inte gör som jag vill men jag lyckas inte.
Mitt köpscript ser ut på ett ungefär såhär:
sl) köp long (testkonto1)
innehav:=Portfolio(v)
ok_att_handla:=Eqv(innehav,0)
i1(
omxs30c=cmpref(c,0,a)
omxs30o=cmpref(o,0,a)
omxs30l=cmpref(l,0,a)
omxs30h=cmpref(h,0,a)
blabla
blabla
blabla
Mult(köpsignal,15)
)
{@A(1,OMX Stock )}
Men när jag förskjuter köpsignalen enligt nedan så får jag det inte att stämma till 100%.
sl) köp long FÖRSKJUTET (testkonto1)
innehav:=Portfolio(v)
ok_att_handla:=Eqv(innehav,0)
i1(
omxs30c=cmpref(c,0,a)
omxs30o=cmpref(o,0,a)
omxs30l=cmpref(l,0,a)
omxs30h=cmpref(h,0,a)
blabla
blabla
blabla
Mult(aref(köpsignal,3),12)
)
{@A(1,OMX Stock )}
Bifogar bild på ett exempel där den verkar "missa" en signal. Ljusgrön är skarpa och den mörkgröna signalen ska vara med förskjutning.
Läste en annan tråd att om man jobbade i olika upplösningar var man tvungen att använda retval/getval. Men jag kör endast intradayupplöst, och kör allt utom innehavskontrollen inom intraday-prefixet.
förskjutning.PNG
Comment