Jag vill inte säga något innan bekräftat. I kväll kör jag en variant av #169 som handlar i steg likt originalet fast med återinvestering. Då ska signalerna överensstämma till 100%.
Allmänt meddelande
Collapse
No announcement yet.
Fusion MultiStrategy
Collapse
X
-
Ursprungligen postat av Henric Visa inläggDet borde finnas lite förbättringspotential genom en mer dynamisk anpassning av vollafiltret.
Only time will tell…
va) Köp maxantal vad kassan tillåter enligt aktuell close
if(lt(portfolio(v),0),Abs(portfolio(v)),int(div(cash(),c)))
va) Sälj maxantal vad kassan tillåter enligt aktuell close
if(gt(portfolio(v),0),Abs(portfolio(v)),int(div(cash(),c)))
I ord så vill jag alltså avsluta positionen om det finns en sån annars ta position med max vad kassan tillåter.
Detta fick dock mitt analysprojekt att köpa/sälja/köpa/sälja i en evig ström och jag begriper inte varför antalskripten gör så att signaler genereras när det ska vara sl) Fusion OMX index buy/sell som styr detta.
/Fredrik
Comment
-
Ursprungligen postat av Christer Visa inläggTack för bra tankar, Henric!
Bara som en sista bekräftelse, om jag laddar ned officiell Fusion i AutoTrader, så är det strategin i inlägg #169 som körs? Jag har tänkt byta från Legato OMX till Fusion (#169).
Comment
-
Ursprungligen postat av Rikard Autostock Visa inlägg169 innehåller samma signaler men med återinvestering, med viss reservation för de småposter som handlas ibland.
Comment
-
Ursprungligen postat av Freddan Visa inläggJag var inne på just en mer dynamisk användning av vollan i #221 och har gjort en del körningar sen dess med förändringar i just hur fördelningen mellan Coda och Legato styrs av olika volla-nivåer. Har även tänkt prova kombinera volla-filtret med andra typer av indikatorer. Jag har dock inte lyckats göra de förändringar i ordermodellerna som behövs för att få simuleringen att fungera med återinvestering för att kunna jämföra med det data som presenteras i denna tråd. Jag tar tacksamt emot tips eller färdiga skript för att få detta att fungera. Det jag trodde skulle fungera var att skapa två antalskript:
va) Köp maxantal vad kassan tillåter enligt aktuell close
if(lt(portfolio(v),0),Abs(portfolio(v)),int(div(cash(),c)))
va) Sälj maxantal vad kassan tillåter enligt aktuell close
if(gt(portfolio(v),0),Abs(portfolio(v)),int(div(cash(),c)))
I ord så vill jag alltså avsluta positionen om det finns en sån annars ta position med max vad kassan tillåter.
Detta fick dock mitt analysprojekt att köpa/sälja/köpa/sälja i en evig ström och jag begriper inte varför antalskripten gör så att signaler genereras när det ska vara sl) Fusion OMX index buy/sell som styr detta.
/Fredrik
Comment
-
Ursprungligen postat av jimmy Visa inläggAtt aktivera återinvestering, innebär det att man sätter "-" indataskriptet-Standardmodell insats", t.ex. -30 för 30% så som andra strategier? eller innebär det något annat?
Comment
-
Ursprungligen postat av mikola Visa inläggGår de på nåt vis att få bort att signalen hela tiden ligger på, tills motsatt signal kommer?
För nu köper den tillbaka direkt när man experimenterar med stoploss, take profit eller nån annan säljsignal.
Mikael
Comment
-
Ursprungligen postat av Rikard Autostock Visa inlägg169 innehåller samma signaler men med återinvestering, med viss reservation för de småposter som handlas ibland.
Comment
-
Hej, här är en analys av resultatet i transaktionsfilen i inlägg 265. Strategin handlar i delar av portföljen i likhet med strategin i inlägg 243 - och jag har således använt samma analysmetod. Jag har räknat på handel med minifutures (eller motsvarande), gearing 3,7x och 0,25% i spread och slippage per position (entry+exit).
CAGR 148%
Drawdowns
Average drawdown -9,9%
Drawdown 1 -46,9%
Drawdown 2 -35,0%
Drawdown 3 -32,3%
Drawdown 4 -29,2%
Drawdown 5 -27,3%
Drawdown 6 -24,8%
Drawdown 7 -22,4%
Drawdown 8 -18,9%
Drawdown 9 -18,4%
Drawdown 10 -17,9%
Duration Drawdowns (kalenderdagar)
Average duration 40
Allra längsta 167
Näst längsta 119
Tredje längsta 118
Fjärde längsta 112
Femte längsta 112
Sjätte längsta 103
Sjunde längsta 98
Åttonde längsta 94
Nionde längsta 92
Tionde längsta 91
Jag valde gearing 3,7x för att få ungefär samma max drawdown som i de tidigare analyserna. (Gearing 3,0x ger en CAGR på 110% och en max drawdown på -40,2%. Gearing 4,0x ger en CAGR på 166% och en max drawdown på -49,6%. Gearing 1,25x ger en CAGR på 34% och en max drawdown på -20,0%.)
Baserat på min analys så känns den här strategin faktiskt mycket lovande! Hög avkastning i förhållande till max drawdown, lite kortare genomsnittlig tid i drawdown. Suveränt jobbat Henric!
Jag förstår dock inte exakt vad skillnaden var i den här strategin, jämfört med de tidigare. Har du möjlighet att utveckla, Henric?Last edited by Christer; 2016-05-19, 20:06.
Comment
-
Ursprungligen postat av Henric Visa inläggDet vet jag inte. Jag körde en variant där jag gick direkt till målantalet utan att handla i steg. Vi har kört lite analys och kidnappat tråden. Jag bifogar en version som har samma signaler som originalet med fastavärden. Sedan tror jag det är bäst att Rikard avgör vad som är original med återinvestering. Christer, hoppas det hjälper dig i ditt val.
Comment
-
Jag har inte gjort så mycket. Tillbaka till ruta ett, ha ha. Ändrade antalscriptet så att den handlar samtidigt som originalversionen med fasta värden, samt ändrade tillbaka filtret. Rikard har lagt ut någon version med återinvestering där det blev skvättar. Detta resultat borde inte skilja mycket. Fortfarande bra om Rikard bekräftar så du får rätt information.
Det går att öka totalresultatet en hel del med filter, etc. Eftersom att den avkastar så pass bra är det som i tidigare diskussioner drawdown som är det viktigaste.
Comment
-
Ursprungligen postat av Rikard Autostock Visa inläggSnyggt! Är det originalscripten men med direkt målantal? I så fall borde man bara kunna byta antalscripten och låta slavmodellerna vara kvar. I praktiken spelar det nog mindre roll eftersom all skarp handel sker efter att indexmodellerna gjort sitt.
Comment
-
OK, jag är inte med på alla versioner nu, har inte hunnit hålla så värst bra koll på tråden. Roligt att det finns intresse! Bifogar original-triggers så kan vi kanske se vad som är ändrat. Är det 50/50 ibland och 100 Legato under låg volla?
{ Fusion OMX index long 160501 }
$par1:=10 {0-30}
dagar:=20
advance:=5
pred1=find(lt(d,sub(const(d),30)),25,c,1)
pred2=find(lt(d,sub(const(d),60)),50,c,1)
pred3=find(lt(d,sub(const(d),90)),75,c,1)
pred4=find(lt(d,sub(const(d),120)),100,c,1)
pred5=find(lt(d,sub(const(d),150)),125,c,1)
steg=sub(23,mx(mn(advance,22),1))
år2=aref(c,236)
år3=aref(c,476)
år4=aref(c,729)
år5=aref(c,982)
år6=aref(c,1234)
medel=mov(aref(div(add(add(add(add(år2,år3),år4),år5),år6),6),steg:22),5,s)
pred_tot=aref(div(add(pred1,add(pred2,add(pred3,add(pred4,pred5)))),5),mx(1,$par1):35)
p1=gt(roc(add(medel,pred_tot),5,%),0)
v2=and(lt(dayofmonth(),if(p1,19,14)),gt(dayofmonth(),if(p1,7,6)))
v4=and(lt(dayofmonth(),if(p1,32,31)),gt(dayofmonth(),if(p1,19,27)))
stängning=le(mult(1440,sub(market(c),frac(date()))),10)
öppet=ge(mult(1440,sub(market(c),frac(date()))),6)
dagen_efter=gt(int(d),lasttrade(s,d))
hist=sub(macd2(n),macd2(t))
extremt=lt(hist,-5)
ma100=mov(c,150,s)
över=or(extremt,gt(c,ma100))
longL1a=and(and(lt(c,hhv(aref(c,1),2)),v2),över)
longL1b=and(lt(c,hhv(aref(c,1),3)),v4)
longL2=and(or(longL1a,longL1b),le(getgvar(854),0))
longL3=and(and(longL2,and(öppet,stängning)),dagen_efter)
setgvarif(1,854,longL3)
måndag=eqv(dayofweek(),1)
tisdag=eqv(dayofweek(),2)
ej_fredag=lt(dayofweek(),5)
under=lt(c,mov(c,100,s))
days=if(under,6,3)
köpC1=and(måndag,lt(l,llv(aref(l,1),3)))
köpC2=and(tisdag,lt(l,llv(aref(l,1),2)))
köpC3=and(or(or(köpC1,köpC2),and(lt(l,llv(aref(l,1),days:10)),ej_fredag)),le(getgvar(855),0))
köpC4=and(and(köpC3,and(öppet,stängning)),dagen_efter)
setgvarif(1,855,köpC4)
lägsta=llv(aref(c,1),dagar)
stoploss=gt(c,add(lasttrade(s,p),mult(3,atr(10))))
coverL1=lt(c,lägsta)
coverL2=and(or(stoploss,coverL1),and(or(stoploss,stängning),öppet))
coverL3=and(coverL2,lt(getgvar(854),0))
setgvarif(0,854,coverL3)
setgvarif(0,855,coverL3)
setgvarif(portfolio(v),857,1)
volla=stdev(div(c,aref(c,1)),22)
hög_vo=hhv(gt(volla,0.015),100)
fusion_pos=if(hög_vo,add(getgvar(855),getgvar(854)),mult(2,getgvar(854)))
trade_time=le(mult(1440,sub(market(c),frac(date()))),7)
and(lt(portfolio(v),fusion_pos),trade_time)
{ Fusion OMX index shrt 160501 }
$par1:=10 {0-30}
advance:=5
pred1=find(lt(d,sub(const(d),30)),25,c,1)
pred2=find(lt(d,sub(const(d),60)),50,c,1)
pred3=find(lt(d,sub(const(d),90)),75,c,1)
pred4=find(lt(d,sub(const(d),120)),100,c,1)
pred5=find(lt(d,sub(const(d),150)),125,c,1)
steg=sub(23,mx(mn(advance,22),1))
år2=aref(c,236)
år3=aref(c,476)
år4=aref(c,729)
år5=aref(c,982)
år6=aref(c,1234)
medel=mov(aref(div(add(add(add(add(år2,år3),år4),år5),år6),6),steg:22),5,s)
pred_tot=aref(div(add(pred1,add(pred2,add(pred3,add(pred4,pred5)))),5),mx(1,$par1):35)
p1=lt(roc(add(medel,pred_tot),5,%),0)
v1=or(lt(dayofmonth(),if(p1,8,7)),gt(dayofmonth(),if(p1,30,31)))
v3=and(lt(dayofmonth(),if(p1,23,20)),gt(dayofmonth(),if(p1,10,13)))
stängning=le(mult(1440,sub(market(c),frac(date()))),8)
öppet=ge(mult(1440,sub(market(c),frac(date()))),6)
dagen_efter=gt(int(d),lasttrade(b,d))
ma200=mov(c,200,s)
under=lt(c,ma200)
ej_extremt=gt(macd2(n),-50)
shrtL1=and(lt(c,aref(c,1)),under)
shrtL2=and(and(and(shrtL1,or(v1,v3)),ge(getgvar(854),0)),ej_extremt)
shrtL3=and(and(shrtL2,and(öppet,stängning)),dagen_efter)
setgvarif(-1,854,shrtL3)
ej_onsdag=not(eqv(dayofweek(),3))
shrtC1=and(ej_onsdag,gt(c,hhv(aref(c,1),2)))
shrtC2=and(shrtC1,lt(c,mov(c,150,s)))
shrtC3=and(shrtC2,ge(getgvar(855),0))
shrtC4=and(and(shrtC3,and(öppet,stängning)),dagen_efter)
setgvarif(-1,855,shrtC4)
ve1=or(lt(dayofmonth(),if(p1,8,6)),gt(dayofmonth(),if(p1,31,30)))
ve3=and(lt(dayofmonth(),if(p1,18,22)),gt(dayofmonth(),if(p1,17,17)))
lägre=lt(c,aref(c,1))
rättd=ge(dayofweek(),2)
stoploss=lt(c,sub(lasttrade(b,p),mult(3,atr(10))))
sellL1=lt(c,llv(aref(c,1),2))
sellL2=and(and(sellL1,or(stoploss,or(ve1,ve3))),gt(getgvar(854),0))
sellL3=and(and(and(sellL2,and(or(lägre,stängning),öppet)),rättd),dagen_efter)
setgvarif(0,854,sellL3)
xhi=hhv(aref(c,1),2)
ma1=mov(c,100,s)
high=and(gt(c,xhi),lt(c,ma1))
fredag=eqv(dayofweek(),5)
säljC1=or(stoploss,or(high,fredag))
säljC2=and(säljC1,gt(getgvar(855),0))
säljC3=and(and(säljC2,and(öppet,stängning)),dagen_efter)
setgvarif(0,855,säljC3)
volla=stdev(div(c,aref(c,1)),22)
hög_vo=hhv(gt(volla,0.015),100)
fusion_pos=if(hög_vo,add(getgvar(855),getgvar(854)),mult(2,getgvar(854)))
trade_time=le(mult(1440,sub(market(c),frac(date()))),7)
and(gt(portfolio(v),fusion_pos),trade_time)
Comment
Comment