Allmänt meddelande

Collapse
No announcement yet.

Problem med Minifutures

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

  • Problem med Minifutures

    Hej!

    Finns det något känt problem gällande handel med minifutures på testkonton?

    Jag utvecklar en ordermodell där ett signalscript skickar köp & säljsignaler till globala celler som anges i Indatafältet.
    Sedan kopplar jag ett orderscript till respektive instrument som läser av signalerna i cellerna och skickar ordern när signalen kommer.

    Detta fungerar i princip som det ska när jag kopplar orderscriptet till en aktie, men när jag kopplar det till en minifuture så händer ingenting, trots att det är samma script och samma celler som används.

    Jag har t.o.m. testat att göra så att orderscriptet levererar "sant" hela tiden, men ändå sker inga ordrar.

    Har det med att testkonto används för tillfället, eller något annat?

    Mvh //Håkan

  • #2
    Är det kopplat samtidigt till flera instrument? I så fall blir det konflikt om du använder samma globala celler.

    En annan sak att kolla är om minifuturen "lever" så att den inte är utstoppad idag tex när vi har stora kursrörelser.

    Comment


    • #3
      De är levande (får åtminstone uppdaterade köp & säljkurser i listan).
      Samma problem fanns även i början av veckan.

      På de minifutures jag testar på just nu så hade jag kopplat orderscriptet till både minifuturen och den underliggande aktien (tanken var att bägge skulle köpas när signalen kommer, så kan jag jämföra utvecklingen mellan en minilong & en aktie), i de fallen använde jag samma cellnummer eftersom orderna skulle läggas samtidigt.

      Nu har jag kopplat bort så att bara minifuturerna är inkopplade, men det händer fortfarande inget.

      I övrigt så är det olika cellnummer angivna för respektive instrument som ska handlas (som parats ihop med den underliggande aktie som ska analyseras).

      Comment


      • #4
        Ok, ja då förstår jag. Så aktien analyseras men minifuturen ska handlas? Kolla så att scriptet som är anslutet till aktien är Larmbevakat. Annars skrivs inget i cellen.

        Comment


        • #5
          Ja precis, jag kan ta ett konkret exempel.......

          Jag har kopplat ett signalscript till aktien ABB, som när köpvillkoren är uppfyllda skriver värdet 10 i den cell som angivits i fält 30 i indata. (Detta script är larmbevakat)

          Sedan kopplar jag orderscriptet nedan (för den som orkar läsa) till både en minlong ABB, och till själva aktien ABB (eftersom jag vill att bägge ska köpas för att kunna jämföra med varann)
          Detta knyts till ett testkonto.

          Slutligen anger jag värdet 302 i fält 30 (indata) på både aktien ABB och på Minilong ABB.

          När köpsignalen sedan kommer så köps endast aktien ABB, men inte minilong ABB trots att det är samma signal och samma orderscript (enda skillnaden mellan orderscripten är från vilken cell det hämtar värdet för insatsprocenten, för där vill jag ha olika beroende på om det är en aktie eller en hävstångsprodukt).

          Som du även ser nedan så har jag provat med att koppla förbi både signalen, depåkontrollen och samtliga kontrollscript, men ändå köps inget.

          Någon som kan finna något fel i scriptet?


          { Projekt 2 Köp Bull {Multi} }
          { OrderScript Bull }

          { DEFINITIONER }

          MaxProcent:=4 { Max procent tillåten spread }
          Tidspärr:=1 { Minsta antal minuter sedan senaste order skickades }
          {}
          { Läs in cellnummer }
          CellBull=scrpar(30)

          { DEPÅVÄRDE & INSATSBELOPP }
          Depåvärde=sub(add(cash(a),cash(t)),cash(u))
          Belåning=sub(Depåvärde,cash(a))
          Reserv=getgvar(102)
          InsatsProc=div(abs(getgvar(100)),100)
          Insatsbelopp=mult(Depåvärde,InsatsProc)

          { KONTROLLSCRIPT }

          { Samma Dag }
          SammaDag=eqv(int(d),int(date())) { Kontroll 1 }

          { Testa om börsen fortfarand är öppen }
          Öppet=ge(mult(1440,sub(market(c),frac(date()))),6) { Kontroll 2 }

          { Kurser Finns }
          KurserFinns=and(gt(b,0),gt(s,0)) { Kontroll 3 }

          { Volym Finns }
          VolymOk=gt(v,0) { Kontroll 4 } { Dubbelkolla om denna behövs vid ETP’er }

          { Maximal Spread i procent } { En rad till för att vända på b&s? }
          SpreadOk=lt(div(s,b),add(div(MaxProcent,100),1)) { Kontroll 5 }

          KontrollOk=and(and(and(and(SammaDag,KurserFinns),VolymOk),SpreadOk),Öppet)

          { VILLKORSCRIPT }

          { KöpSignal }
          Signal=eqv(getgvar(CellBull),10) { Villkor 1 }

          PengarFinns=lt(add(Reserv,Insatsbelopp),Belåning) { Villkor 2 }

          { Inget Innehav }
          Ej_Innehav=Le(Portfolio(V),0) { Villkor 3 }

          { Delay Order }
          Lt1=LastTrade(B,D)
          Lt2=LastTrade(S,D)
          MinSedanKöp=Mult(Sub(Date(),Lt1),1440)
          MinSedanSälj=Mult(Sub(Date(),Lt2),1440)
          DelayOk=And(Gt(MinSedanKöp,Tidspärr),Gt(MinSedanSälj,Tidspärr)) { Villkor 4 }

          VillkorOk=and(and(and({Signal}1,Ej_Innehav),DelayOk),{PengarFinns}1)

          { SAMMANKOPPLING AV SCRIPT }

          Köp1=and({KontrollOk}1,VillkorOk)

          { Funktion för signalen }
          mult(Köp1,10)

          Comment


          • #6
            Aha, du har ett test på om volym finns, det är ju inte säkert att minifuturen har omsatts just idag så då blir det testet falskt och ingen order triggas.

            Comment


            • #7
              Absolut, tänkte också att det kunde vara så, men då borde den väl köpa ändå när jag kopplade förbi hela gruppen av kontrollscript längst ner i scriptet, eller måste jag ta bort själva volymkontroll-delen helt från scriptet?

              Comment


              • #8
                Jo, det missade jag ju, den ska köpa om kontrolldelen är bortkopplad. Är minifuturen upplagd just idag? Det behövs omstart om du ska handla den samma dag, annars fungerar den imorgon automatiskt.

                Comment


                • #9
                  Det enda som borde krävas för att scriptet ska triggas (som det är skrivet nu) är väl att jag inte redan har något innehav, samt att ingen order skickats inom den senaste minuten?

                  Comment


                  • #10
                    Jag la upp den i måndags, om jag minns rätt

                    Comment


                    • #11
                      Säkert bara något enkelt fel, men jag kan inte lista ut vad det är.....

                      Comment


                      • #12
                        Ursprungligen postat av Jamaz Visa inlägg
                        Säkert bara något enkelt fel, men jag kan inte lista ut vad det är.....
                        A) Jag har varit med om att det kan knasa sig om man lägger klamrar inuti formler som exempelvis:

                        VillkorOk=and(and(and({Signal}1,Ej_Innehav),DelayOk),{PengarFinns}1)
                        och
                        Köp1=and({KontrollOk}1,VillkorOk)

                        Klamra uttrycken istället så här:

                        KontrollOk=mult(1,1) {and(and(and(and(SammaDag,KurserFinns),VolymOk),SpreadOk),Öppet)}
                        Signal=mult(1,1) {eqv(getgvar(CellBull),10)} { Villkor 1 }
                        PengarFinns=mult(1,1) {lt(add(Reserv,Insatsbelopp),Belåning)} { Villkor 2 }

                        och därefter används originalformlerna utan klammer:

                        VillkorOk=and(and(and(Signal,Ej_Innehav),DelayOk),PengarFinns)
                        Köp1=and(KontrollOk,VillkorOk)

                        Gör detta i scripten både för aktien och minin.


                        B) Sedan kan det också bli problem om man kopplar bort signalen helt så att det kommer tusentals ordrar hela tiden. Vet inte helt säkert men det kan vara så att NAT blockar ordern då.


                        C) Den ursprungliga blockningen av ordern för minin som du fick var säkert kopplat till volymvillkoret som Richard skrev.

                        Prova ovanstående för att se om det blir bättre.

                        Comment


                        • #13
                          Tack, det ska jag prova med........om inte annat så ser det ju bättre ut i scriptet, blir tydligare vilka tillfälliga ändringar som gjorts.
                          Hoppas det fungerar bättre då

                          Comment


                          • #14
                            I vetenskapens namn så har jag även skapat en ny ordermodell med det enkla sl-scriptet:

                            Signal=Le(Portfolio(v),0)
                            Mult(Signal,10)

                            Detta för att utesluta att dett är något annat än scriptet som strular, och gissa vad.......
                            När jag kopplade modellen till aktier så började det handlas bums, men när jag kopplade modellen till minifuturerna så hände ingenting........så jag kan bara tolka det som att scriptet inte får någon data levererad från instrumenten, trots att köp & säljkurserna blippar och bloppar för fullt i listan (samt att de finns kvar hos emmitenterna).

                            Kan så vara att något blivit galet när jag la upp instrumenten, så jag ska prova lägga upp dem på nytt och se ifall det gör någon skillnad.

                            Får hoppas så.

                            Comment


                            • #15
                              Är scriptet/modellen på minin larmbevakat?

                              Comment

                              Working...
                              X