Allmänt meddelande

Collapse
No announcement yet.

Fusion MultiStrategy

Collapse
X
 
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • Ser ut som att Fusion säljer av 50 % av innehavet idag. Hoppas alltså på att dagen bjuder på en rejäl uppgång...

    Comment


    • Går coda alltid neutral på fredagar?

      Comment


      • Om den ligger Long, ja.

        Comment


        • Ok, den kan ligga kort eller neutral över helgen, me comprende.

          Comment


          • Hej, är det möjligt att se när i framtiden Fusion slår om så att Coda kopplas ur?

            Comment


            • Ursprungligen postat av Christer Visa inlägg
              Hej! Som några av er kanske redan vet så gillar jag att Entry tas baserat på vald gearing, dvs. antalscriptet ska beräkna rätt antal instrument så att vald gearing uppnås. Jag byggde en sådan lösning för Legato OMX och har nu ett förslag på modifierat antalscript för Fusion. Vad tror ni, kommer detta fungera?

              Original Antal-script: Bull Köp

              i1(
              signal=div(getgvar(857),2)
              insats1=div(abs(scrpar(21)),100)
              insats2=mult(sub(add(cash(a),cash(t)),cash(u)),insats1)
              insats3=if(gt(scrpar(21),0),scrpar(21),insats2)
              maxantal=Int(Div(insats3,s))
              målantal=mult(if(gt(signal,0),signal,0),maxantal)
              innehav=Portfolio(v)
              övermål=Ge(innehav,målantal)
              slutantal1=If(övermål,0,SUB(målantal,innehav))
              add(0,slutantal1)
              )



              Modifierat Antal-script: Bull Köp

              i1(
              Signal=div(getgvar(857),2)
              Index=cmpref(c,0,A)
              MålGearing=ScrPar(32)
              GearingInstrument=div(Index,s)
              Andel1=div(MålGearing,GearingInstrument)
              Andel2=if(gt(Andel1,0.90),0.90,Andel1)
              Kapital=sub(add(cash(a),cash(t)),cash(u))
              MaxAntal=div(mult(Andel2,Kapital),s)
              MålAntal=int(mult(if(gt(Signal,0),Signal,0),MaxAntal))
              Innehav=Portfolio(v)
              Övermål=ge(Innehav,MålAntal)
              Slutantal1=If(Övermål,0,SUB(MålAntal,Innehav))
              add(0,Slutantal1)
              )


              {@A(0,OMX Stock )}
              Hej,

              Jag tycker gearing (hävstångsanpassning) vid entry skulle vara väldigt bra att ha som standard i Fusion (troligen flera stadardmodeller)!

              Tittade lite snabbt på koden och ser att insats1-insats3 inte är med, jag tolkar att du därmed inte sätter % av portfölj eller belopp (och sedan sedan anpassar antal till önskad hävstång för insatsbeloppbelopp), utan hoppar över det steget och direkt utgår från portföljkapital.

              Exempel på målgearing värde, är det t.ex. procent av portfölj givet i 1-100?

              EDIT: Någon som ser nackdel med den här metoden (att den t.ex. inte redan används som standard, något man bör känna till)?

              Last edited by jimmy; 2016-09-25, 10:37.

              Comment


              • Gearing

                Har inte läst koden så noga men jag tycker att det verkar bra. Eftersom gearing är ett bättre sätt att styra sin exponering än procent. Skull personligen tycka att det att det vore ett bra tillägg.

                Jag har använt gearing i mina simuleringar men inte på samma sätt utan mer att jag utgår från hur mycket jag är beredd att förlora per trade och sedan räknar jag ut tillsammans med stopploss hur många instrument jag kan köpa. Det tycker jag funkar just i denna strategi.

                Comment


                • Ser ut som att Fusion ökar till 100% long ikväll (från 50% long).

                  Comment


                  • Jimmy och HenrikSyst, jag har byggt egna Fusion slavscript som handlar minifutures. Den enda manuella inputen är vald gearing, tex. 4, vilket matas in i ScrPar. Jag är ingen duktig scriptkodare, så jag utvärderar fortfarande mina egna script. Än så länge ser de dock ut att fungera. Här kan ni läsa mer om min målsättning med de nya slavscripten, http://www.autostock.se/vbulletin/sh...&postcount=972

                    Koden i inlägg 996 är inte aktuell längre. Ska jag lägga ut min nya kod? Vore ju toppen om fler testar och utvärderar dem. Rikard, det vore även bra om någon av proffsen kan kika på min kod och se om den ser korrekt ut.

                    Comment


                    • Lägg gärna ut den så tittar vi på den, vore ju strålande om vi kunde använda den.

                      Comment


                      • Här kommer mina egenhändigt byggda Fusion slavscript. Utöver de fyra slavscripten har jag även behövt bygga om de fyra antalscripten. Notera att det kanske inte är den allra mest tjusiga kodningen, men den verkar fungera. OBS, jag tar inget ansvar för kodens funktion och om ni väljer att använda denna kod så gör ni det på egen risk!

                        Mina mål med slavscripten för följande:
                        1. Jag vill styra positionens gearing genom att sätta ett värde (målgearingen) i en Scrpar.
                        2. Jag vill kunna göra manuella justeringar i positionen utan att riskera att modellen återställer positionen automatiskt.
                        3. Då den sammanlagda signalen ändras, dvs. värdet i cell 857 ändras, ska hela innehavet "resettas" till ny beräknad position (baserad på portföljvärde och målgearing)



                        sl) C: Fusion Bull Köp

                        { C: Fusion Bull Köp 2016-07-08 }

                        i1(
                        lt1=LastTrade(b,d)
                        MinSedanTrans=mult(sub(date(),lt1),1440)
                        TidSpärr=gt(MinSedanTrans,0.3)
                        trade_time=le(mult(1440,sub(market(c),frac(date()))),5.5)
                        öppet=ge(mult(1440,sub(market(c),frac(date()))),4)
                        innehav=portfolio(v)
                        setgvarif(innehav,861,1)
                        värde=mult(innehav,b)
                        setgvarif(värde,867,1)

                        { Om kl är mindre än 17.20: skriv innehav till 859 och 860, samt nollställ ändringsindikator }
                        reset=gt(mult(1440,sub(market(c),frac(date()))),10)
                        setgvarif(getgvar(857),858,reset)
                        setgvarif(innehav,859,reset)
                        setgvarif(innehav,860,reset)

                        { Läs in signal och kontrollera om ändring }
                        signal=div(getgvar(857),2)
                        lång=gt(getgvar(857),0)
                        ändring=and(and(not(eqv(getgvar(857),getgvar(858))),lång),trade_time)

                        { Beräkna målantal }
                        index=cmpref(c,0,A)
                        målgearing=scrpar(29)
                        gearinginstrument=div(index,s)
                        andel1=div(målgearing,gearinginstrument)
                        andel2=if(gt(andel1,0.90),0.90,andel1)
                        kapital=add(add(cash(t),getgvar(867)),getgvar(868))
                        antalmax=div(mult(andel2,kapital),s)
                        målantal=int(mult(if(gt(signal,0),signal,0),antalmax))

                        { Skriv målantal till cell 859, ska endast göras en en gång }
                        setgvarif(målantal,859,and(and(ändring,trade_time),eqv(getgvar(859),getgvar(860))))

                        { Har målantalet uppnåtts så ska triggern stängas av }
                        setgvarif(getgvar(857),858,and(and(and(ändring,trade_time),not(eqv(getgvar(859),getgvar(860)))),eqv(innehav,getgvar(859))))

                        samma_dag=eqv(int(date()),int(d))
                        IngetMotsattInnehav=eqv(getgvar(865),0)
                        buy1=and(ändring,not(eqv(getgvar(859),getgvar(860))))
                        buy2=and(buy1,lt(innehav,getgvar(859)))
                        buy3=and(buy2,IngetMotsattInnehav)
                        buy4=and(and(and(and(buy3,samma_dag),trade_time),TidSpärr),öppet)
                        mult(buy4,10)
                        )


                        {@A(0,OMX Stock )}

                        ==================

                        sl) C: Fusion Bull Sälj

                        { C: Fusion Bull Sälj 2016-07-08 }

                        i1(
                        lt1=LastTrade(s,d)
                        MinSedanTrans=mult(sub(date(),lt1),1440)
                        TidSpärr=gt(MinSedanTrans,0.3)
                        trade_time=le(mult(1440,sub(market(c),frac(date()))),6)
                        öppet=ge(mult(1440,sub(market(c),frac(date()))),4)
                        innehav=portfolio(v)
                        setgvarif(innehav,861,1)
                        värde=mult(innehav,b)
                        setgvarif(värde,867,1)

                        { Om kl är mindre än 17.20: skriv innehav till 859 och 860, samt nollställ ändringsindikator }
                        reset=gt(mult(1440,sub(market(c),frac(date()))),10)
                        setgvarif(getgvar(857),858,reset)
                        setgvarif(innehav,859,reset)
                        setgvarif(innehav,860,reset)

                        { Läs in signal och kontrollera om ändring }
                        signal=div(getgvar(857),2)

                        ändring=and(not(eqv(getgvar(857),getgvar(858))),trade_time)

                        { Beräkna målantal }
                        index=cmpref(c,0,A)
                        målgearing=scrpar(29)
                        gearinginstrument=div(index,s)
                        andel1=div(målgearing,gearinginstrument)
                        andel2=if(gt(andel1,0.90),0.90,andel1)
                        kapital=add(add(cash(t),getgvar(867)),getgvar(868))
                        antalmax=div(mult(andel2,kapital),s)
                        målantal=int(mult(if(gt(signal,0),signal,0),antalmax))

                        { Skriv målantal till cell 859, ska endast göras en en gång }
                        setgvarif(målantal,859,and(and(ändring,trade_time),eqv(getgvar(859),getgvar(860))))

                        { Har målantalet uppnåtts så ska triggern stängas av }
                        setgvarif(getgvar(857),858,and(and(and(ändring,trade_time),not(eqv(getgvar(859),getgvar(860)))),eqv(innehav,getgvar(859))))

                        samma_dag=eqv(int(date()),int(d))

                        sell1=and(ändring,not(eqv(getgvar(859),getgvar(860))))
                        sell2=and(sell1,gt(innehav,getgvar(859)))

                        sell3=and(and(and(and(sell2,samma_dag),trade_time),TidSpärr),öppet)
                        mult(sell3,10)
                        )


                        {@A(0,OMX Stock )}

                        ==================

                        sl) C: Fusion Bear Köp

                        { C: Fusion Bear Köp 2016-07-08 }

                        i1(
                        lt1=LastTrade(b,d)
                        MinSedanTrans=mult(sub(date(),lt1),1440)
                        TidSpärr=gt(MinSedanTrans,0.3)
                        trade_time=le(mult(1440,sub(market(c),frac(date()))),5.5)
                        öppet=ge(mult(1440,sub(market(c),frac(date()))),4)
                        innehav=portfolio(v)
                        setgvarif(innehav,865,1)
                        värde=mult(innehav,b)
                        setgvarif(värde,868,1)

                        { Om kl är mindre än 17.20: skriv innehav till 863 och 864, samt nollställ ändringsindikator }
                        reset=gt(mult(1440,sub(market(c),frac(date()))),10)
                        setgvarif(getgvar(857),862,reset)
                        setgvarif(innehav,863,reset)
                        setgvarif(innehav,864,reset)

                        { Läs in signal och kontrollera om ändring }
                        signal=div(getgvar(857),2)
                        kort=lt(getgvar(857),0)
                        ändring=and(and(not(eqv(getgvar(857),getgvar(862))),kort),trade_time)

                        { Beräkna målantal }
                        index=cmpref(c,0,A)
                        målgearing=scrpar(29)
                        gearinginstrument=div(index,s)
                        andel1=div(målgearing,gearinginstrument)
                        andel2=if(gt(andel1,0.90),0.90,andel1)
                        kapital=add(add(cash(t),getgvar(867)),getgvar(868))
                        antalmax=div(mult(andel2,kapital),s)
                        målantal=int(mult(if(lt(signal,0),abs(signal),0),antalmax))

                        { Skriv målantal till cell 863, ska endast göras en en gång }
                        setgvarif(målantal,863,and(and(ändring,trade_time),eqv(getgvar(863),getgvar(864))))

                        { Har målantalet uppnåtts så ska triggern stängas av }
                        setgvarif(getgvar(857),862,and(and(and(ändring,trade_time),not(eqv(getgvar(863),getgvar(864)))),eqv(innehav,getgvar(863))))

                        samma_dag=eqv(int(date()),int(d))
                        IngetMotsattInnehav=eqv(getgvar(861),0)
                        buy1=and(ändring,not(eqv(getgvar(863),getgvar(864))))
                        buy2=and(buy1,lt(innehav,getgvar(863)))
                        buy3=and(buy2,IngetMotsattInnehav)
                        buy4=and(and(and(and(buy3,samma_dag),trade_time),TidSpärr),öppet)
                        mult(buy4,10)
                        )


                        {@A(0,OMX Stock )}

                        ==================

                        sl) C: Fusion Bear Sälj

                        { C: Fusion Bear Sälj 2016-07-08 }

                        i1(
                        lt1=LastTrade(s,d)
                        MinSedanTrans=mult(sub(date(),lt1),1440)
                        TidSpärr=gt(MinSedanTrans,0.3)
                        trade_time=le(mult(1440,sub(market(c),frac(date()))),6)
                        öppet=ge(mult(1440,sub(market(c),frac(date()))),4)
                        innehav=portfolio(v)
                        setgvarif(innehav,865,1)
                        värde=mult(innehav,b)
                        setgvarif(värde,868,1)

                        { Om kl är mindre än 17.20: skriv innehav till 863 och 864, samt nollställ ändringsindikator }
                        reset=gt(mult(1440,sub(market(c),frac(date()))),10)
                        setgvarif(getgvar(857),862,reset)
                        setgvarif(innehav,863,reset)
                        setgvarif(innehav,864,reset)

                        { Läs in signal och kontrollera om ändring }
                        signal=div(getgvar(857),2)

                        ändring=and(not(eqv(getgvar(857),getgvar(862))),trade_time)

                        { Beräkna målantal }
                        index=cmpref(c,0,A)
                        målgearing=scrpar(29)
                        gearinginstrument=div(index,s)
                        andel1=div(målgearing,gearinginstrument)
                        andel2=if(gt(andel1,0.90),0.90,andel1)
                        kapital=add(add(cash(t),getgvar(867)),getgvar(868))
                        antalmax=div(mult(andel2,kapital),s)
                        målantal=int(mult(if(lt(signal,0),abs(signal),0),antalmax))

                        { Skriv målantal till cell 863, ska endast göras en en gång }
                        setgvarif(målantal,863,and(and(ändring,trade_time),eqv(getgvar(863),getgvar(864))))

                        { Har målantalet uppnåtts så ska triggern stängas av }
                        setgvarif(getgvar(857),862,and(and(and(ändring,trade_time),not(eqv(getgvar(863),getgvar(864)))),eqv(innehav,getgvar(863))))

                        samma_dag=eqv(int(date()),int(d))

                        sell1=and(ändring,not(eqv(getgvar(863),getgvar(864))))
                        sell2=and(sell1,gt(innehav,getgvar(863)))

                        sell3=and(and(and(and(sell2,samma_dag),trade_time),TidSpärr),öppet)
                        mult(sell3,10)
                        )


                        {@A(0,OMX Stock )}

                        ==================

                        va) C: Fusion Bull Köp-antal

                        { C: Fusion Bull Köp-antal 2016-06-15 }

                        i1(
                        målantal=getgvar(859)
                        innehav=portfolio(v)
                        övermål=ge(innehav,målantal)
                        slutantal1=If(övermål,0,sub(målantal,innehav))
                        add(0,slutantal1)
                        )

                        ==================

                        va) C: Fusion Bull Sälj-antal

                        { C: Fusion Bull Sälj-antal 2016-06-15 }

                        i1(
                        målantal=getgvar(859)
                        innehav=portfolio(v)
                        övermål=ge(innehav,målantal)
                        slutantal1=If(övermål,sub(innehav,målantal),0)
                        add(0,slutantal1)
                        )

                        ==================

                        va) C: Fusion Bear Köp-antal

                        { C: Fusion Bear Köp-antal 2016-06-15 }

                        i1(
                        målantal=getgvar(863)
                        innehav=portfolio(v)
                        övermål=ge(innehav,målantal)
                        slutantal1=If(övermål,0,sub(målantal,innehav))
                        add(0,slutantal1)
                        )

                        ==================

                        va) C: Fusion Bear Sälj-antal

                        { C: Fusion Bear Sälj-antal 2016-06-15 }

                        i1(
                        målantal=getgvar(863)
                        innehav=portfolio(v)
                        övermål=ge(innehav,målantal)
                        slutantal1=If(övermål,sub(innehav,målantal),0)
                        add(0,slutantal1)
                        )

                        ==================

                        Sammanställning över globala celler som används:
                        857 signal från master-scripten
                        858 föregående position i Bull-scripten
                        859 beräknat målantal Bull
                        860 tidigare innehav Bull
                        861 momentant innehav Bull
                        862 föregående position i Bear-scripten
                        863 beräknat målantal Bear
                        864 tidigare innehav Bear
                        865 momentant innehav Bear
                        867 marknadsvärde Bull-innehav (baserat på köp-kurs)
                        868 marknadsvärde Bear-innehav (baserat på köp-kurs)
                        Last edited by Christer; 2016-09-26, 11:35.

                        Comment


                        • Long 100 dag.

                          Comment


                          • Japp samma här. Lite orolig för jag var inne och grejade med uppdateringar.

                            Comment


                            • Jag har två fiktiva konton som köpte OMX-index kl 17:22. Det ena kontot har dessutom ett annat innehav. Men någon riktig Fusion-position blev det inte. Ska jag ta bort ett fiktivt konto, och i så fall vilket? Eller måste jag ta bort alla kopplingar och fiktiva konton och börja om från början? (Jag har inte använt Fusion på ett tag och minns inte vilket av de två kontona jag använde.)

                              Comment


                              • 100 long här också.

                                Comment

                                Working...
                                X