Jag skulle vilja ha en stopp loss som justeras automatiskt varje timme. Detta kanske redan finns skriptat någonstans?
Allmänt meddelande
Collapse
No announcement yet.
Justera stop loss per tidsintervall
Collapse
X
-
Ursprungligen postat av johansson Visa inläggJag skulle vilja ha en stopp loss som justeras automatiskt varje timme. Detta kanske redan finns skriptat någonstans?
Jag har ju gjort en dynamisk Take Profit se http://www.autostock.se/vbulletin/sh...postcount=1887
Detta script är ju inställt på kronor, men går ju att göra om för procent som så önskas. Just här så måste man först uppnå 7 kronor i vinst och sedan ett dropp ner till 7-1.5 =5.5 kronor innan det slår till. Men har man någon gång fått 8 kronor i vinst är stoppen 8-(((8-7)/2)-1.5)=6 kronor. Får man stora vinster är alltså stoppen generösare men dock max 12 kronor under högsta teoretiska vinsten.
Kan tankegångarna från min TP appliceras på din tänkta SL ?
Jag använder mig även av SL som inte bara är baserade på min köpkurs utan också på den högsta kursen som blivit efter mitt köp.
Då jag handlar cykliska rörelser på terminen så tänker jag att jag visserligen kunde prediktera en topp efter mitt köp fast den var mindre så ingen TP löste ut, sedan anser jag att om kursen droppat x kronor efter toppen så bör TP lösa ut förutsatt att jag även ligger y kronor i förlust.
Med vänlig hälsning
Bertil
-
Jag menar såhär: Efter köp ska säljskriptet varje timme kolla om trenden går åt rätt håll. Om trenden går åt rätt håll då ska stoplosen minska till säg medelvärdet att senaste säljskurs och den kurs jag köpte för.
Jag antar man kan skriva ett tidsintervall varje timme som ger sant. Dock måste ju de timmarna beräknas utifrån senaste köp. Hur vet jag att detta köp är från denna ordermodell och inte andra?
Comment
-
Jag skrev lite fel. Det är en TP blankning som jag använder, men man kan göra en SL som fungerar på liknande sätt.
Så här ser min TP ut som inte utgår från blankningskursen utan från högsta topp efter det.
{ Bertils dynamiska TP blank efter topp }
{ 150528 }
innehav:=Portfolio(v)
ok_att_handla:=Lt(innehav,0)
triggvinst:=9
stoppgränsa:=1
maxis:=12
tidspärr1:=1
tidspärr2:=1
lt1:=LastTrade(S,D)
lt2:=LastTrade(S,D)
Lastsell:=LastTrade(S,P)
minSedanSälj:=Mult(Sub(Date(),lt1),1440)
minSedanTrans:=Mult(Sub(Date(),lt2),1440)
delay_ok:=gt(minSedanSälj,tidspärr1)
trans_ok:=gt(minSedanTrans,tidspärr2)
i1(
{ efter kl 15.30 }
tid1=gt(int(mult(frac(d),1440)),930)
tid2=lt(int(mult(frac(d),1440)),1042)
start01=if(And(ge(d,LastTrade(s,d)),tid1),c,0)
maxhittills=hhv(start01,500)
start02=if(And(ge(d,LastTrade(s,d)),tid1),c,9999)
minhittills=Llv(start02,500)
högstav=Sub(maxhittills,minhittills)
stoppgräns3=ADD(Div(Sub(högstav,triggvinst),2),stoppgränsa)
stoppgräns2=IF(GE(stoppgräns3,maxis),maxis,stoppgräns3)
stoppgräns1=IF(GE(stoppgräns2,stoppgränsa),stoppgräns2,stoppgränsa)
tillåt=ge(högstav,triggvinst)
level1=Add(minhittills,stoppgräns1)
köpa=And(And(Ge(c,level1),tillåt),Gt(lastsell,c))
ditt_köpscript=And(And(And(köpa,tid1),tid2),delay_ok)
köpsignal=And(ditt_köpscript,ok_att_handla)
Mult(köpsignal,25)
)
Med vänlig hälsning
Bertil
Comment
-
till säljskriptet vill jag ha lägsta av dagens kurs och priset jag köpte för:
omxhigh=cmpref(h,0,a)
betalt=LastTrade(B,P)
topp=MIN(omxhigh,betalt)
{@A(0,OMX Stock )}
Detta funkar inte av två anledningar:
1. senaste köpt kan vara en annan ordermodellsköp
2. köpet kan vara en minifuture med lägre pris och kan således ej jämföras med kursen!
Tips?
Comment
-
Hej. När du gör ett köp så lagrar du kursen i ett GVar som du sedan hämtar och jämför med high. Så måste man även göra med terminer.
Jag låter va)-scriptet göra detta ifall den skickar ett antal som är större än noll för att jag ska vara säker på att det enbart vid affärstillfällen lagras ett värde i GVar:en
Lycka till!
/Erik
Comment
-
Du har ett fel i raden med MIN, som jag gissar ska vara MN-kommandot?
topp=MN(omxhigh,betalt)
Grundfelet är väl annars att du jämför OMX-index högsta kurs med inköpsvärdet för instrumentet du handlat. Jag är inte riktigt med på vad du vill göra.
Annars är det enkelt att avgöra om en position är köpt av en viss modell. Spara en unik siffra med Retval() i köpscriptet, tex:
retval(27,0)
Detta skriver värdet 27 till cell 0 som lagras med transaktionen. Då kan man läsa av den i säljscriptet med LastTrade(b,0) och se om värdet är 27, vilket bevisar att det är köpt med "din" modell.
Comment
-
Om man handlar minifutures eller BULL och BEAR med glest mellan avsluten så får man ju titta på köp eller säljkurs istället. Då fungerar ju inte heller H eller L. Man få ju då istället gå ner på minuter i periodtid och använda HHV och LLV. Alltså
i1)
...
{ efter kl 09.30 }
tid1=gt(int(mult(frac(d),1440)),570)
start01=if(And(ge(d,LastTrade(s,d)),tid1),B,0)
maxhittills=hhv(start01,500)
...
Med vänlig hälsning
Bertil
Last edited by Bertil; 2015-08-11, 23:42.
Comment
Comment