Har du klickat Hämta rapport igen efter körning så rättas kurvan till.
Allmänt meddelande
Collapse
No announcement yet.
Trendig-att ta fram en swingstrategi
Collapse
X
-
Ursprungligen postat av Rikard Autostock Visa inläggHar du klickat Hämta rapport igen efter körning så rättas kurvan till.
Jag har:
1) Avslutat NAT.
2) Laddat ner ny programversion.
3) Dödat Analyzer.exe (avslutas ju inte då man stänger NAT)
4) Startat NAT
5) Startat analysatorn.
6) Uppdaterat projektet
7) Kört projektet
8) Tryckt på knappen "Visa vinstkurva i diagram"
9) Tryckt på knappen "Visa diagram"
Allt är exakt lika som tidigare.
mvh
Bertil
Edit: Hittade pilen för hämta vinstrapport. Då jag klickar på den kommer bara diagrammet upp utan vinstkurvan. Då diagrammet är uppe försvinner pilen. Vet inte hur du menar.Last edited by Bertil; 2020-02-19, 14:41.
Comment
-
Ursprungligen postat av Rikard Autostock Visa inläggOk, så klick på Hämta vinstrapport (grön pil nedåt) laddar inte om kurvan?
Är "Visa resultat i diagram" förvalt sedan tidigare och jag sedan trycker "Hämta vinstrapport" kommer diagrammet upp utan vinstkurvan.
Är både "Visa resultat i diagram" och "Visa vinstkurva i diagram" förvalda då jag trycker på "Hämta vinstrapport" kommer diagrammet upp utan vinstkurva.
mvh
Bertil
Comment
-
Ursprungligen postat av Rikard Autostock Visa inläggOk, men jag tänker om du har diagram med kurva upp - blir det ingen skillnad om du klickar på knappen då? Kurvan refreshas och ritas om, och ifall den är knasig brukar den bli rätt då nämligen. Problemet händer bara vid blankningsaffärer för övrigt.
Kolumnen "Ack Resultat" visar ju korrekt vinstutveckling oavsett blankning. Det är väl bara att rita vinstkurvan efter den kolumnen.
mvh
Bertil
Comment
-
Man skall väl inte behöva använda Excel för att få till en korrekt vinstrapport!
Det är ju självklart att vinstkurvan skall vara lika med "Ack resultat" och inget annat!
Som kuriosa länkar jag till ett inlägg jag gjorde 2013 då NAT betan precis började få kläm på "Ack. resultat".
http://www.autostock.se/vbulletin/sh...&postcount=611
Men vinstkurvan klarar efter 7 år fortfarande inte av att rita efter Ack resultat kolumnen. Jag blir så trött...
mvh
Bertil
Edit: Ni kanske tror att detta problem med korrupt vinstrapport är exklusivt för mig som handlar terminen, men så är inte fallet. Alla ni som simulerar mot index har samma problem.Last edited by Bertil; 2020-02-19, 18:03.
Comment
-
Här kommer senaste uppdateringen på Trendig för att kunna hantera en kris då man ligger felpositionerad.
------------------------
{ Mitt Trendig4b sälj vänd }
{ 200229 }
innehav:=Portfolio(v)
ok_att_handla:=Gt(innehav,0)
steg01:=1.2
steg02:=5
steg03:=1
tidspärrA1:=120
tidspärrA2:=120
tidspärrB1:=30
tidspärrB2:=1440
vellkor01:=gt(Sub(GetGVar(4506),abs(GetGVar(2656))),35)
tidspärr1:=add(0,tidspärrA1)
tidspärr2:=if(vellkor01,tidspärrB2,tidspärrB1)
lt1:=LastTrade(S,D)
lt2:=LastTrade(B,D)
minSedanSälj:=Mult(Sub(Date(),lt1),1440)
minSedanKöp:=Mult(Sub(Date(),lt2),1440)
delay_ok:=gt(minSedanSälj,tidspärr1)
trans_ok:=gt(minSedanKöp,tidspärr2)
i1(
tid1=gt(int(mult(frac(d),1440)),600)
tid2=lt(int(mult(frac(d),1440)),1020)
ras=Gt(sub(HHV(L,30),LLV(H,30)),15)
kris=Lt(sub(c,LastTrade(b,p)),-25)
villkor001=or(Gt(Mult(GetGVar(4500),-1),steg01),Eqv(GetGVar(4505),-1))
{ villkor002=or(Lt(Mult(GetGVar(4500),-1),steg02),Eqv(GetGVar(4505),-1)) }
villkor002=or(or(Lt(Mult(GetGVar(4500),-1),steg02),Eqv(GetGVar(4505),-1)),Lt(GetGVar(4500),-10))
villkor003=Lt(GetGVar(4501),0)
villkor004=Lt(GetGVar(4502),0)
villkor005=Lt(GetGVar(4503),0)
villkor006=Lt(GetGVar(4504),steg03)
villkor030=And(Lt(Sub(c,LastTrade(B,P)),-22),Gt(GetGVar(4500),3))
sälja=or(or(and(and(and(and(and(villkor001,villkor002),villkor003),villkor004),villkor005),villkor006),ras),kris)
trams=or(trans_ok,ras)
ditt_säljscript=And(And(And(And(delay_ok,trams),sälja),tid1),tid2)
säljsignal=And(ditt_säljscript,ok_att_handla)
Mult(säljsignal,10)
)
-----------------
mvh
Bertil
Edit: Ovanstående ändring ökar vinsten för intervallet 8A-0C med ca 200 punkter där nästan all förbättring ligger i termin 0C. Villkoret påverkar även andra terminer men summerar ihop sig till +-0 för dessa. Detta är en enkel men effektiv quick-fix för att hantera ras/kris.Last edited by Bertil; 2020-02-29, 16:05.
Comment
-
Senaste veckan har det inte bara varit ras utan också dead-cat-bounce-toppar.
Trendig är ju konstruerad så att vid större amplituder så blir trendig segare (=sitter still i båten), men med riktigt stora förändringar som vi haft senare veckan måste trendig justeras så att strategin blir snabbare.
Liten amplitud - snabb
Stor amplitud - långsam
Mycket stor amplitud - snabb
Har endast ändrat ett par rader men lägger in hela scripten.
-------------------
{ Mitt Trendig5 köp }
{ 200315 }
innehav:=Portfolio(v)
ok_att_handla:=eqv(innehav,0)
Förlustköp:=if(and(Lt(sub(c,LastTrade(b,p)),0),Gt(innehav,0)),sub(c,LastTrade(b,p)),0)
Förlustsälj:=if(and(Lt(sub(LastTrade(s,p),c),0),Lt(innehav,0)),sub(LastTrade(s,p),c),0)
antal01:=1500
steg01:=0.6
steg02:=5
steg03:=0.4
tidspärr1:=300
tidspärr2:=300
lt1:=LastTrade(S,D)
lt2:=LastTrade(B,D)
minSedanSälj:=Mult(Sub(Date(),lt1),1440)
minSedanKöp:=Mult(Sub(Date(),lt2),1440)
delay_ok:=gt(minSedanSälj,tidspärr1)
trans_ok:=gt(minSedanKöp,tidspärr2)
i1(
SetGVarif(förlustsälj,4507,And(lt(innehav,0),Lt(förlustsälj,0)))
SetGVarif(0,4507,And(lt(innehav,0),Gt(förlustsälj,0)))
SetGVarif(förlustköp,4507,And(gt(innehav,0),Lt(förlustköp,0)))
SetGVarif(0,4507,And(gt(innehav,0),Gt(förlustköp,0)))
SetGVarif(0,4507,eqv(innehav,0))
ettag=if(Gt(LastTrade(b,d),LastTrade(S,d)),LastTrade(b,d),LastTrade(s,d))
stund=sub(d,ettag)
filur=div(mult(stund,GetGVar(4507)),100)
tid1=gt(int(mult(frac(d),1440)),610)
tid2=lt(int(mult(frac(d),1440)),1020)
Kurvahög=HHV(L,antal01)
Kurvalåg=LLV(H,antal01)
{ antal02=int(add(100,0)) }
antal02=int(if(gt(sub(kurvahög,kurvalåg),60),MX(sub(160,sub(kurvahög,kurvalåg)),10),100))
{ diff01=sub(kurvahög,kurvalåg) }
diff01=if(gt(sub(kurvahög,kurvalåg),60),MX(sub(120,sub(kurvahög,kurvalåg)),30),sub(kurvahög,kurvalåg))
diff02=sqrt(diff01)
diff03=sqrt(diff02)
{ kurva01=sub(kurvahög,diff03)
kurva02=add(kurvalåg,diff03) }
diff04=Int(mult(antal02,diff03))
diff05=Int(mult(antal02,diff02))
kurva03=mov(c,diff04:2000)
kurva04=mov(c,diff05:2000)
kurva05=mov(c,10)
kurva06=mov(sub(kurva03,kurva04),300)
kurva07=mov(abs(sub(kurva03,kurva04)),300)
gräns01=abs(sub(kurva06,kurva07))
kurva08=mov(sub(kurva03,kurva04),200)
kurva09=mov(abs(sub(kurva03,kurva04)),200)
gräns02=abs(sub(kurva08,kurva09))
SetGVarIf(sub(kurva03,kurva04),4500,1)
SetGVarIf(sub(kurva03,aref(kurva03,1)),4501,1)
SetGVarIf(sub(kurva04,aref(kurva04,1)),4502,1)
SetGVarIf(sub(kurva05,aref(kurva05,1)),4503,1)
SetGVarIf(gräns01,4504,1)
SetGVarIf(gräns02,4505,1)
SetGVarIf(diff01,4506,1)
villkor001=or(Gt(GetGVar(4500),steg01),Gt(GetGVar(4501),1.06))
{ villkor002=or(Lt(GetGVar(4500),steg02),Gt(GetGVar(4501),1.06)) }
villkor002=or(or(Lt(GetGVar(4500),steg02),Gt(GetGVar(4501),1.06)),Gt(GetGVar(4500),10))
villkor003=Gt(GetGVar(4501),0)
villkor004=Gt(GetGVar(4502),0)
villkor005=Gt(GetGVar(4503),0)
villkor006=Lt(GetGVar(4504),steg03)
vellkor01=if(Lt(GetGVar(4506),25),Lt(GetGVar(2656),6),1)
draw(kurva03,3,kqb0)
draw(kurva04,2,mqb0)
villkor92=And(Gt(Sub(Mx(cmpref(H,2,a),cmpref(H,1,a)),MN(cmpref(L,2,a),cmpref(L,1,a))),35),or(EQV(DayOfWeek(),1),EQV(DayOfWeek(),5)))
villkor93=And(Gt(Sub(Mx(cmpref(H,3,a),cmpref(H,2,a)),MN(cmpref(L,3,a),cmpref(L,2,a))),35),or(EQV(DayOfWeek(),1),EQV(DayOfWeek(),5)))
villkor98=Or(Not(or(EQV(DayOfWeek(),1),EQV(DayOfWeek(),5))),or(And(villkor92,villkor93),and(EQV(DayOfWeek(),5),or(villkor92,villkor92))))
köpa=and(and(and(and(and(and(and(villkor001,villkor002),villkor003),villkor004),villkor005),villkor006),villkor98),vellkor01)
ditt_köpscript=And(And(And(And(delay_ok,trans_ok),köpa),tid1),tid2)
köpsignal=And(ditt_köpscript,ok_att_handla)
Mult(köpsignal,10)
)
{@A(0,OMX Stock )}
--------------------------
{ Mitt Trendig5 sälj vänd }
{ 200315 }
innehav:=Portfolio(v)
ok_att_handla:=Gt(innehav,0)
steg01:=1.2
steg02:=5
steg03:=1
tidspärrA1:=120
tidspärrA2:=120
tidspärrB1:=30
tidspärrB2:=1440
vellkor01:=gt(Sub(GetGVar(4506),abs(GetGVar(2656))),35)
tidspärr1:=add(0,tidspärrA1)
tidspärr2:=if(vellkor01,tidspärrB2,tidspärrB1)
lt1:=LastTrade(S,D)
lt2:=LastTrade(B,D)
minSedanSälj:=Mult(Sub(Date(),lt1),1440)
minSedanKöp:=Mult(Sub(Date(),lt2),1440)
delay_ok:=gt(minSedanSälj,tidspärr1)
trans_ok:=gt(minSedanKöp,tidspärr2)
i1(
tid1=gt(int(mult(frac(d),1440)),600)
tid2=lt(int(mult(frac(d),1440)),1020)
ras=Gt(sub(HHV(L,30),LLV(H,30)),15)
kris=And(Lt(sub(c,LastTrade(b,p)),-25),Lt(GetGVar(2656),-15))
villkor001=or(Gt(Mult(GetGVar(4500),-1),steg01),Eqv(GetGVar(4505),-1))
{ villkor002=or(Lt(Mult(GetGVar(4500),-1),steg02),Eqv(GetGVar(4505),-1)) }
villkor002=or(or(Lt(Mult(GetGVar(4500),-1),steg02),Eqv(GetGVar(4505),-1)),Lt(GetGVar(4500),-10))
villkor003=Lt(GetGVar(4501),0)
villkor004=Lt(GetGVar(4502),0)
villkor005=Lt(GetGVar(4503),0)
villkor006=Lt(GetGVar(4504),steg03)
villkor030=And(Lt(Sub(c,LastTrade(B,P)),-22),Gt(GetGVar(4500),3))
sälja=or(or(and(and(and(and(and(villkor001,villkor002),villkor003),villkor004),villkor005),villkor006),ras),kris)
trams=or(trans_ok,ras)
ditt_säljscript=And(And(And(And(delay_ok,trams),sälja),or(tid1,kris)),tid2)
säljsignal=And(ditt_säljscript,ok_att_handla)
Mult(säljsignal,10)
)
---------------------------
{ Trendig hjälp }
{ 200315 }
i1(
tid1=gt(int(mult(frac(d),1440)),554)
perioder01=Sub(int(mult(frac(d),1440)),541)
igårclose02=mov(aref(c,add(perioder01,6):600),1)
igårclose03=mov(aref(c,add(perioder01,6):600),12)
igårclose01=if(tid1,igårclose03,igårclose02)
idagopen02=aref(c,add(perioder01,0):600)
idagopen03=mov(aref(c,add(perioder01,0):600),12)
idagopen01=if(tid1,idagopen03,idagopen02)
diff03=sub(idagopen01,igårclose01)
SetGVarIf(diff03,2656,1,T)
Draw(igårclose01,4,rqb0)
Draw(idagopen01,5,dgqb0)
Mult(0,10)
)
-------------------------------------
mvh
Bertil
Last edited by Bertil; 2020-03-15, 22:03.
Comment
-
Resultatet blir så här för OMXS300C.
Avkastning 61.25 kr 0.45% på 8 affärer under 59:59:00 tim
Av dessa blankat 5 st med avkastning 154.50 kr 1.87%
Innehav 0 st med vinst 0.00 kr 0.00%
Innehav 3 st med förlust -93.25 kr -1.75%
Blankning 4 st med vinst 166.25 kr 2.53%
Blankning 1 st med förlust -11.75 kr -0.69%
mvh
Bertil
Attached FilesLast edited by Bertil; 2020-03-15, 22:10.
Comment
-
Snubblar ofta över nån av dina trådar Bertil och tycker dem är riktigt roliga att läsa!
En generell fråga som inte nödvändigtvis rör "Trendig", men hur använder du dig av de olika marknadsfaserna när du bygger dina strategier? Jag bygger en del strategier själv, mestadels i Python nuförtiden, men märker hur en bra definition och strategi av hur man läser av marknadsläget boostar vilken strategi som helst!
Comment
-
Kul att du uppskattar mina inlägg.
Nästan alla mina strategier både bra och dåliga brukar börja med att jag studerar indexkurvan i bästa upplösning och sedan försöker jag ta fram någon typ av nytt medelvärde som följer kurvan bra och som också kan användas för triggning. Jag gillar dynamiska medelvärden alltså där antalet perioder man medelvärdesbildar beror av andra saker som högsta-lägsta range mm.
Jag försöker klura ut hur man kan extrahera information ur kurvan. Jag tittar på derivatan, alltså kurvans lutning, jag blandar in volymen, tar till kvadreringar och kvadratrötter, studerar korrelationen mellan OMXS30-DAX, lägger öppningsgap i globala variabler. Jag lägger in villkor för olika tider på handelsdagen. Sedan testar jag strategierna i analysatorn för det senaste två åren. Förbättrar och simulerar igen. Blir det bra kör jag skarpt. Kommer ett nytt marknadsklimat modifierar jag ordermodellerna och kör vidare. Strategier är färskvara.
Som jag tidigare berättat har jag aldrig läst någon tradinglitteratur och försöker inte efterskapa funktioner som andra beskrivit. Hade andra lyckats med att ta fram bra strategier så skulle alla köra dem och vara supernöjda. Som bekant är så inte fallet. Jag har gått igenom de flesta funktionerna i NAT biblioteket och undersökt vad de kan användas till. Som sagt helt vanlig hederlig Trial and Error (mest error).
mvh
Bertil
Edit: Kör tyvärr inte Python. Om jag hade kunnat Python från andra sammanhang skulle jag förstås även labbat med programmet för trading. Hade jag varit duktig på Python så skulle jag vilja jobba med FFT (Fast Fourier Transform)-analys, icke fasvridande digital filtrering samt polynomanpassning av olika grader. Tradinggrafer är även väldigt mycket geometri.Last edited by Bertil; 2020-03-17, 10:52.
Comment
Comment