Allmänt meddelande

Collapse
No announcement yet.

Gå från simulering till Live

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

  • #16
    Då man bygger upp en ordermodell börjar man mycket enkelt och kollar genom simulering att det fungerar.Sedan ökar man komplexiteten kontrollerar att det funvgerar som tänkt osv. Själv scriptade jag i över ett år med ett hundratal ordermodeller innan jag ens började att använda globala variabler. Jag frågade tidigare om du simulerat enbart bull utan att ta hänsyn till globala variabler.Fungerar det? Fungerar Bear utan globala variabler? Fugerar Bull och Bear samtidigt utan globala variabler där du väljer ett köpbelopp men har så stor simulerad kassa att både Bull och Bear kan vara köpta samtidigt? Som sagt vid all programering måste man börja väldigt enkelt och sakta bygga vidare. Om man direkt bygger väldigt komplext och måste ha mycket hjälp för att komma vidare lär man sig inte grunderna.
    Mvh
    Berti

    Comment


    • #17
      Ursprungligen postat av Bertil Visa inlägg
      Då man bygger upp en ordermodell börjar man mycket enkelt och kollar genom simulering att det fungerar.Sedan ökar man komplexiteten kontrollerar att det funvgerar som tänkt osv. Själv scriptade jag i över ett år med ett hundratal ordermodeller innan jag ens började att använda globala variabler. Jag frågade tidigare om du simulerat enbart bull utan att ta hänsyn till globala variabler.Fungerar det? Fungerar Bear utan globala variabler? Fugerar Bull och Bear samtidigt utan globala variabler där du väljer ett köpbelopp men har så stor simulerad kassa att både Bull och Bear kan vara köpta samtidigt? Som sagt vid all programering måste man börja väldigt enkelt och sakta bygga vidare. Om man direkt bygger väldigt komplext och måste ha mycket hjälp för att komma vidare lär man sig inte grunderna.
      Mvh
      Berti
      Hej Bertil,
      Tack för ditt svar!
      Det jag hade simulerat var köp/sälj scripten i varsina ordermodeller mot OMX index, som är den bakomliggande instrumentet för trigger. Allt fungerar perfekt. Det jag inte hade gjort var att simulera ordermodellerna med XactBull och Bear eftersom jag inte hade kunskaper om hur set-up:en med ordermodeller och script skulle kunna se ut. Där fick jag hjälp med att förstå att Exraobjekt var en bra lösning då OMX cash data ska ligga till grund för triggers. När jag nu kör detta i simulering så får jag Excat BULL BUY/ SELL att fungera. Jag håller med om din strategi för hur man utvecklar. Jag själv har arbete med denna strategi i NAT sedan årsskiftet och lärt mig scriptspråket efterhand. Dock kan jag långt ifrån allt varför jag vänder mig till forumet och Autostock support.

      Detta case borde vara något av en standardmodell/set-up varför jag väljer att lägga ut min fråga/utmaning på forumet. Utöver att jag skulle få konstruktiv hjälp med att lösa denna utmaning så är förhoppningen att någon annan NAT-ägare också skulle kunna ha nytta av hur en BULL/BEAR set-up(villkor, innehavkoll, kodning hur ordermodellerna konfigureras) kan designas.
      Mvh
      Benjamin

      Comment


      • #18
        Ett fel som du har är att parameternamnet säljsignal_bear är ett delnamn av TSM_Säljsignal_bear. Parameternamnen skiljer inte på stora och små bokstäver.

        Sedan har du cmpref B utan att ha cmpref A. Vet inte om det är OK att ha det. Har man bara en cmpref så brukar det ju vara A.
        Med vänlig hälsning
        Bertil

        Comment


        • #19
          [QUOTE=Bertil;32449]Ett fel som du har är att parameternamnet säljsignal_bear är ett delnamn av TSM_Säljsignal_bear. Parameternamnen skiljer inte på stora och små bokstäver.

          Sedan har du cmpref B utan att ha cmpref A. Vet inte om det är OK att ha det. Har man bara en cmpref så brukar det ju vara A.
          Med vänlig hälsning
          Bertil
          [/QUOTE

          Hej,
          Förstår jag dig rätt i att kompilatorn inte kan skilja på "säljsignal_bear" och "TSM_Säljsignal_bear", dvs det uppstår ett kompileringsfel? Är det bättre att jag använder namnet TSM_Säljtrigger_bear?

          Scriptet är bantat och cmpref A används för en annan funktion i scriptet som nu är bortkopplat....bara för att göra så som du föreslog. Dvs göra det så enkelt som möjligt. Jag testar och ändra och justerar så att cmpref A används i stället.
          Tack!

          Comment


          • #20
            Hej,
            Har fått det att fungera. Nu bygger jag på med villkor så får vi se hur det år. Jag skapade en kopia på Analysprojektet och då ville allt fungera samt att jag av misstag hade TMS_BEAR på både köp och sälj sida.

            Comment


            • #21
              Du har många diagramfält öppna i din bild. Jag kan inte se att flaggorna kommer i diagrambilden. Förenkla och ha bara diagrambilden framme och kolla om flaggorna kommer i nederkanten.

              Kommer flaggorna korrekt så är det va) eller vl) scripten som det är buggar i eller så säljer du istället för att köpa.
              Jämför med Bullscripten som fungerar. Ordermodellerna skall vara identiska.
              Med vänlig hälsning
              Bertil

              Comment


              • #22
                Ursprungligen postat av Benji Visa inlägg
                Hej,
                Har fått det att fungera. Nu bygger jag på med villkor så får vi se hur det år. Jag skapade en kopia på Analysprojektet och då ville allt fungera samt att jag av misstag hade TMS_BEAR på både köp och sälj sida.
                Roligt att du fått det att fungera så långt.
                Med vänlig hälsning
                Bertil

                Comment


                • #23
                  Härligt! Får vi se lite bra resultat nu då??

                  Comment


                  • #24
                    Hej Benjamin!
                    Nu då du fått det att fungera säger jag som Rikard att det vore kul att få ta del av lite simuleringsresultat. Man kan ju handla Bull och Bear med olika hävstång. Det vore instressant med simuleringar med olika Bull och Bear produkter mot OMX. Själv handlar jag ju terminer som har en hävstång på ca 10 gånger. Har också för mig att Bull och Bear går mot terminen och inte mot index. Terminen är lite mer volatil än index, men det märks mest på kortisiktig handel som jag sysslar med.
                    mvh
                    Bertil

                    Comment


                    • #25
                      Jo det kan vara enklaste vägen, att låta ett av triggerscripten skriva signalstatus i en global cell som alla de andra modellerna helt enkelt bara läser av och handlar efter. Då behövs bara själva analysen i ett av triggerscripten. De andra behöver bara kolla innehav och signalstatus. Det blir väldigt enkelt.

                      Comment


                      • #26
                        Ursprungligen postat av Henric Visa inlägg
                        Du ska nog inte skriva direkt i standardscripten. Om du kör en uppdatering kommer dessa att ändras. Det går att kopiera hela ordermodeller med färdiga knappar och även script i en ordermodell.

                        Eftersom analysen görs på ett instrument och handeln sker i två instrument behövs minst 4 ordermodeller, Bull Entry, Bull Exit, Bear Entry och Bear Exit(det går dock att bygga en ordermodell med flera sekvenser, men är i detta fall nog mer komplicerat).Varje gång Bull signalerar måste Bear Exit kolla om det finns ett innehav och eventuellt sälja. Tvärtom när Bear signalerar.

                        Är inte scripten allt för komplicerade är det enklast köra analysen med extraobjekt. Alternativ direkt på OMX i en ordermodell som aldrig triggar. Vi förutsätter här extraobjekt. Sedan kopplas ordermodellerna live till de instrument som handlas.

                        Jag själv tycker det är enklast att lagra signalerna(inte signatrigger för själva modellen) i en global cell. Då kan även exitmodellerna använda signalen, särskilt då en modell bara går mellan long/short. Tex long=1, short=-1 och exit=0. Själva ordermodellerna signalerar på värdet i cellen och om det finns eller inte finns innehav.
                        Hej Henric,
                        Har du möjlighet att hjäpla mig med exempel på hur man ska få till ditt förslag på att använda en global cell enligt. Jag antar att cellen ska få sitt värde efter respektive order sekvens enligt scripten enligt exempel nedan.

                        Script BULL BUY
                        köptrigger=and(Villkor1,Villkor2)
                        innehav=Portfolio(v)
                        ok_att_handla=lt(innehav,1)
                        köpsignal=and(köptrigger,ok_att_handla)
                        paper_ok=eqv(scrpar(26),1)
                        Mult(and(paper_ok,köpsignal),10)

                        Script BULL SELL
                        säljtrigger=and(Villkor3,Villkor4)
                        innehav=Portfolio(v)
                        ok_att_handla=gt(innehav,0)
                        säljsignal=and(säljtrigger,ok_att_handla)
                        paper_ok=eqv(scrpar(26),1)
                        Mult(and(paper_ok,sälsignal),10)

                        Script BEAR BUY
                        köptrigger=and(Villkor3,Villkor4)
                        innehav=Portfolio(v)
                        ok_att_handla=lt(innehav,1)
                        köpsignal=and(köptrigger,ok_att_handla)
                        paper_ok=eqv(scrpar(26),2)
                        Mult(and(paper_ok,köpsignal),10)

                        Script BEAR SELL
                        säljtrigger=and(Villkor1,Villkor2)
                        innehav=Portfolio(v)
                        ok_att_handla=gt(innehav,0)
                        köpsignal=and(säljtrigger,ok_att_handla)
                        paper_ok=eqv(scrpar(26),2)
                        Mult(and(paper_ok,köpsignal),10)

                        Vore otroligt tacksam för om du skulle hjälpa mig att förstå hur detta ska realiceras.
                        Mvh
                        Benjamin

                        Comment


                        • #27
                          Pendlar du alltid mellan long och short på index utan några villkor för exit (Bull/Bear måste ta exit, men det är annan sak)?

                          Comment


                          • #28
                            Ursprungligen postat av Henric Visa inlägg
                            Pendlar du alltid mellan long och short på index utan några villkor för exit (Bull/Bear måste ta exit, men det är annan sak)?
                            Ja, exit för trigger för BULL SELL är samma trigger för BEAR BUY och BEAR SELL trigger är detsamma som BULL BUY trigger.

                            Comment


                            • #29
                              Ursprungligen postat av Rikard Nilsson Visa inlägg
                              Härligt! Får vi se lite bra resultat nu då??

                              Berättar när vi hörs inom kort

                              Comment


                              • #30
                                Det är lämpligt att lagra signalerna i en global cell b.l.a. då signalscripten annars använder globala celler(undvika dubbla uppsättningar och eventuella krockar) samt styrning av ordningen av ordermodeller med endast en sekvens i varje(tex försäljning ska ske för köp). Om modellerna inte använder globala celler och går mellan long och short kan tex Exit Bull använda scriptet för Köp Bear samt kolla om det finns ett innehav.

                                Exempel med en global cell:
                                (ah såg att du skiljer på instrumenten med scrpar. Det kan behövas vid simulering, men inte live)

                                Köp Bull
                                =====
                                signal=and(sant,eqv(scrpar(26),1)) {sant = signalvillkor för modellen}
                                SetGvarIf(1,500,signal)
                                köp1=and(gt(GetGvar(500),0),le(portfolio(v),0))
                                köp2=and(köp1,eqv(scrpar(26),1))

                                Exit Bull
                                =====
                                sälj1=and(le(GetGvar(500),0),gt(portfolio(v),0))
                                sälj2=and(sälj1,eqv(scrpar(26),1))

                                Köp Bear
                                ======
                                signal=and(sant,eqv(scarpar(26),2))
                                SetGvarIf(-1,500,signal)
                                köp1=and(lt(GetGvar(500),0),le(portfolio(v),0))
                                köp2=and(köp1,eqv(scrpar(26),2))

                                Exit Bear
                                ======
                                sälj1=and(ge(GetGvar(500),0),gt(portfolio(v),0))
                                sälj2=and(sälj1,eqv(scrpar(26),2))

                                Comment

                                Working...
                                X