Allmänt meddelande

Collapse
No announcement yet.

Problem med Minifutures

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

  • #16
    Ursprungligen postat av Jamaz Visa inlägg
    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å.
    Då du handlar minifutures så sker ju avsluten väldigt sällan, dvs man får aldrig ha villkor som innehåller c utan måste använda b eller s istället.
    Samma med vl) scriptet, får ej innehålla senast betalt för minifutures.

    Med vänlig hälsning
    Bertil
    Last edited by Bertil; 2016-01-08, 20:00.

    Comment


    • #17
      I testmodellen jag nämnde nyligen så har jag inte anslutit scriptet enskilt till något instrument, utan det ingår bara i ordermodellen som jag anslutit till minin, och i det fallet är väl inte larmbevakning aktuell?

      I huvudmodellen som jag skrev om först så har jag bara ett sl-script som har till uppgift att analysera den underliggande aktien och skicka olika värden till globala celler, som sedan ordermodellerna läser av, samt även ett insats-script som ska skicka värdena för insatsprocenten till celler. Bägge de scripten är larmbevakade.
      Däremot inte övriga script som ingår i själva ordermodellen som kopplas till instrumentet som ska handlas.
      (Hoppas det där blev begripligt)

      Precis innan stängning idag så testade jag även att manuellt köpa minifutures på både testkontot och på ett skarpt konto, men inte heller det gick. Jag fick bara upp ett felmeddelande hela tiden där det även stod att någon order förmodligen inte skickats, och att jag ska kolla orderloggen.

      Det känns som att det är något med själva instrumenten som krånglar, snarare än med scripten......eller vad tror du?

      Comment


      • #18
        Aha, om det inte gick att lägga manuell order så är det något med instrumenten, troligen avtal som saknas. Kolla i filen Deblog.txt om du ser något om MIFID_ERROR. Filen ligger i c:/programdata/autotraderbas som är dold, så man får skriva in sökvägen i Utforksaren. Det går inte att söka upp filen. Det kan vara så enkelt att det bara är warrant-avtalet som måste aktiveras hos Nordnet. Det kan du göra online, logga in på kontot och gå till Depå > Mina avtal och abonnemang > Warrantavtal.

        Comment


        • #19
          Ursprungligen postat av Rikard Nilsson Visa inlägg
          Aha, om det inte gick att lägga manuell order så är det något med instrumenten, troligen avtal som saknas. Kolla i filen Deblog.txt om du ser något om MIFID_ERROR. Filen ligger i c:/programdata/autotraderbas som är dold, så man får skriva in sökvägen i Utforksaren. Det går inte att söka upp filen. Det kan vara så enkelt att det bara är warrant-avtalet som måste aktiveras hos Nordnet. Det kan du göra online, logga in på kontot och gå till Depå > Mina avtal och abonnemang > Warrantavtal.

          Attans........du har rätt, avtalet var inte aktiverat hos Nordnet (visste inte ens att det fanns ett sådant).
          Har aktiverat det nu, så förhoppningsvis blir det skillnad på måndag

          Comment


          • #20
            Ursprungligen postat av Bertil Visa inlägg
            Då du handlar minifutures så sker ju avsluten väldigt sällan, dvs man får aldrig ha villkor som innehåller c utan måste använda b eller s istället.
            Samma med vl) scriptet, får ej innehålla senast betalt för minifutures.

            Med vänlig hälsning
            Bertil
            Jag har kollat igenom scripten igen nu och har bara s & b i scripten som läser av minisarna, och jag tar bort alla villkor som har med volymtest att göra.

            Är det några andra av kontrollscripten som är onödiga att ha, eller är det något som jag missat och bör läggas till?

            { 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 }

            { 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 }

            Comment


            • #21
              Ursprungligen postat av Jamaz Visa inlägg
              Jag har kollat igenom scripten igen nu och har bara s & b i scripten som läser av minisarna, och jag tar bort alla villkor som har med volymtest att göra.

              Är det några andra av kontrollscripten som är onödiga att ha, eller är det något som jag missat och bör läggas till?
              Kanske att du kunde lägga till ett villkor som testar att du har kontakt med depån och pengar på kontot. Annars verkar allt bra vad jag kan se.

              {Säkerställer kontakt med Nordnetdepån}
              account_ok=not(eqv(cash(d),0))

              Comment


              • #22
                Tack, jag lägger till det........bra att minimera risken att det blir fel vid orderläggning.

                Comment


                • #23
                  Halloj igen!
                  Efter att ha aktiverat warrant-avtalet hos Nordnet så gick det mycket riktigt att handla minis manuellt, men däremot fungerar det inte att handla med hjälp av ordermodeller.

                  En intressant sak jag lagt märke till när jag testat lite är att:
                  * Ordermodellerna fungerar på minisarna om det har skett ett avslut för den aktuella minisen under dagen. (i scriptet finns som jag skrivit tidigare endast referenser till köp & sälj-kurser, och det tidigare volymtestet är borttaget).

                  * Även den ordermodell jag gjorde som alltid är sann sålänge jag inte redan har ett innehav fungerar endast på de minisar där det gjorts ett avslut under dagen (alltså samma som den modell jag håller på att utveckla).

                  Jag testade t.ex. min ordermodell på en mini utan avslut, och ingenting hände. Sedan köpte jag 1st av den manuellt så det blev ett avslut registrerat, och vips så fungerade även ordermodellen att använda på den.

                  Någon som har en idé om vad det beror på?

                  Comment


                  • #24
                    Vi skulle kanske behöva se koden du använder för att kunna avgöra om något ändå använder senast betalt eller liknande.

                    Comment


                    • #25
                      Absolut.......så här ser triggerscriptet ut i ordermodellen.

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

                      { 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 }

                      { Kontakt med NordNet-Depån }
                      Account_Ok=not(eqv(cash(d),0))

                      { 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),Account_Ok),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,Ej_Innehav),DelayOk),PengarFinns)

                      { SAMMANKOPPLING AV SCRIPT }

                      Köp1=and(KontrollOk,VillkorOk)

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

                      Comment


                      • #26
                        I ordermodellen jag gjort bara för att testa att instrumenten går att handla ser triggerscriptet ut så här:

                        {{{ Projekt X { Testa möjlighet att handla } }}}

                        Signal=Le(Portfolio(v),0)

                        Mult(Signal,10)

                        Comment


                        • #27
                          Jag tror att jag kommit på problemet med att ordermodellen endast fungerar på minifutures efter att ett avslut skett under dagen.
                          Det verkar som att begreppet "SammaDag" jag använder i scriptet testar om all data från instrumentet har samma datum som systemtiden (inklusive "senast betalt" & volym m.m.).

                          Detta gör att villkoret aldrig blir sant så länge inget avslut skett under dagen, eftersom att "senast betalt" m.m. alltid kommer ha det datum då senaste avslutet gjordes.
                          Låter det rimligt? När jag testade koppla förbi "SammaDag" så började ordermodellen att handla även på de minisar som inte hade några avslut.

                          Då dyker ju direkt en fråga upp........kan man skriva ett villkor som enbart testar om köp & sälj-kurserna har samma datum som systemtiden? Annars finns ju kanske risken att en order som skickas direkt vid öppning får gårdagens köp eller säljpris.

                          Comment


                          • #28
                            Lägg in det här villkoret:

                            { efter kl 09.01 }
                            tid1=gt(int(mult(frac(d),1440)),541)

                            Med vänlig hälsning
                            Bertil

                            Comment


                            • #29
                              Jamaz, det verkar var som du skriver. I normala fall uppstår inte problemet då analysen görs på underliggande. För en minifuture vill man kolla att kurser finns, spread, etc. Att som Bertil använda gt(int(mult(frac(d),1440)),541) hjälper inte heller. Det innebär att senaste databasuppdering skedde efter 541, men kan vara en annan dag. För likvida instrument fungerar det nästan alltid eftersom att databasen uppdateras innan 541. Annars skulle eqv(int(d),int(date())) vara sant. Vid sen kursuppdartering kan problemet uppstå. Ett alternativ är att markera börshandlade produkter med en flagga i scrpar och då gå förbi testet. Detta är min uppfattning. Rikard får gärna kommentera mina antaganden.

                              Comment


                              • #30
                                För minifutures, bull och bear måste man ignorera senaste kurs c. Man får koncentrera sig att titta på köp och säljkurs. Man kan ju lägga en test att köpkurs ändrar sig under de senaste minutrarna om man är orolig, samt att spreaden är rimlig.

                                mvh
                                Bertil

                                Comment

                                Working...
                                X