Allmänt meddelande

Collapse
No announcement yet.

Script hjälp behövs för ordermodell

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

  • Script hjälp behövs för ordermodell

    Hej

    Jag håller på med mitt första script. Jag skall bygga en enkel macd modell. Modellen är tänkt att vara vändande. Dvs vi ligger inne över natten och använder ingen stopplos funktion. Jag fått fram flaggor för köp och sälj.

    Med tanke på Nordnets säkerhetskrav. När modellen har signalerat för exv. köp och vi ligger i sälj. Hur avslutas innevarande sälj innan köpet görs?

    Scriptet ser ut så här:

    Köp:=Macd(b)
    Köp

    Sälj:=Macd(s)
    Sälj

    Tack på förhand

    Magnus

  • #2
    Det går oftast bra att vända en blankad position till köp direkt i en enda order, men om man ligger nära gränsen för säkerhetskravet kan det vara säkrare att först stänga blankningen och därefter köpa nytt innehav.

    I så fall kan man lösa det med antalscripten, som tex först kan köpa tillbaka de antal kontrakt man ligger blankad, och när innehavet är noll, testa med Portfolio(v) tex, kan samma antalscript köpa det antal kontrakt man vill ha när man ligger lång.

    Om du vill bygga en direkt vändande modell som alltid ligger i marknaden går det fint att antingen göra det med två sekvenser i en ordermodell där den sista är loopad tillbaka till den första. På så vis snurrar modellen alltid runt och köper/blankar omvartannat.

    Vill man ha möjligheten att först stänga innehavet innan man köper nytt kan det vara bättre att bygga två parallella ordermodeller med en sekvens i varje som är loopad till sig själv.


    Comment


    • #3
      För att göra det lite enklare att komma igång kan vi ju gå igenom en enkel ordermodell:


      Anta att vi använder triggerscriptet du nämde för att köpa:

      Köp:=Macd(b)
      Köp

      För att använda det i en fungerande ordermodell behövs antalscript och prisscript.

      1. Skapa en ordermodell genom att klicka på Inställningar > Arbeta med ordermodeller

      2. Döp modellen till något valfritt namn, tex Testmodell köp

      3. Klicka på knappen Ny som skapar en sekvens i modellen. Här kan man välja om sekvensen ska vara automatorder, eller bara larm osv.

      4. Markera sekvensen och klicka på Redigera

      5. Välj Köp för att skapa en köpsekvens

      6. Klicka på Nästa så hamnar du i dialogrutan för triggerscript. Välj ditt köpscript.

      7. Klicka på Nästa

      8. Här väljer man in antal och prisscript, lämpligt antalscript för köp kan tex vara:


      va) Testmodell köpantal

      köpantal:=2
      snabbvändning:=0 {1=JA 0=NEJ}
      innehav:=Portfolio(v)
      nollställ:=And(Lt(innehav,0),Eqv(snabbvändning,0))
      i1(
      målantal=If(nollställ,0,köpantal)
      övermål=Ge(innehav,målantal)
      slutantal1=If(övermål,0,SUB(målantal,innehav))
      slutantal1)

      Det här räknar automatiskt ut hur många kontrakt (eller aktier) som måste köpas för att hamna på "köpantal". Det gäller alltså om man tex ligger blankad och vill byta position till köp.

      9. Välj lämpligt prisscript, tex Säljkurs + 0,25 punkter

      10. Klicka på slutför.

      11. Nu är första sekvensen klar i modellen, och man kommer tillbaka till början. Skapa ännu en sekvens som får agera säljsida. Klicka på Ny igen, välj Sälj och klicka på Nästa.

      12. Här väljer vi in säljscriptet du nämnde

      13. Klicka på Nästa

      14. Dags att välja antalscript för säljsidan. Tex kan man ju köra motsvarigheten till köpantalet ovan:

      va) OMX blankantal

      blankantal=-2 {OBS minustecken framför}
      snabbvändning:=0 {1=JA 0=NEJ}
      innehav:=Portfolio(v)
      nollställ:=And(Gt(innehav,0),Eqv(snabbvändning,0))
      i1(
      målantal=If(nollställ,0,blankantal)
      undermål=Le(innehav,målantal)
      slutantal1=Abs(If(undermål,0,Sub(målantal,innehav)))
      slutantal1)


      15. Lämpligt prisscript för sälj är tex Köpkurs - 0,25 punkter

      16. Klicka på Slutför så är även den här sekvensen klar.


      För att loopa hela modellen kan man enklast göra enligt den här tråden:

      http://www.autostock.se/vbulletin/showthread.php?t=1786


      Prova det så kan vi gå igenom det hela när det är byggt.

      Comment


      • #4
        Tack för detta Rikard. Mycket föredömligt och pedagogiskt. Nu får jag lite struktur och ordning.

        Comment


        • #5
          Bra inlägg ovan Rikard...
          På länken du skickade med ditt inlägg står det:

          "Vi märker att flera vill loopa ordermodeller så att de går tillbaka till första sekvensen utan att behöva återanslutas."

          Jag håller på med ordermodellen nu och undrar vad loopning av ordermodellen gör.
          - Försvinner den annars när den exekverats 1 gång (köpr resp. sälj)?

          Jag kände ett tag iallafall att jag hade full koll ;-)
          NiclasGBG

          Comment


          • #6
            Jo, det stämmer. En "o-loopad" vanlig modell kör sina sekvenser och blir därefter inaktiv. Man måste återansluta den igen.

            Loop-funktionen kräver inloggning som Supervisor enligt fixen i den andra tråden. Det kom även för några år sen lite mer funktioner som styrs med st)- och sy)-script. Via dessa kan man med script bestämma vilken sekvens en ordermodell ska ställa sig på. Det kan ju vara användbart om man vill hoppa mellan olika sekvenser beroende på innehav etc.

            De flesta verkar ändå föredra den "gamla" metoden med loop-flagga som dyker upp i ordermodell-dialogen. Markera sista sekvensen i modellen och kryssa i "Loop" så börjar modellen om från början när sista sekvensen körts.
            Det fungerar utmärkt och vi använder funktionen varje dag i tex Raptor/Tracker osv.


            Comment


            • #7
              Lösen för loopsekvens

              Hej Rikard

              Nu har lite mera kläm på hur det fungerar. Hoppet har kommit tillbaka.

              Är klar med de första uppgifterna med ordermodell.

              Nu har jag ändrat i ini filen enligt tråden. Stötte på patrull när jag skall starta upp klientent server. Det kommer upp en ruta med "ange lösen". Jag provade med det lösen som du skickade i eposten när jag köpte programmet men det fungerade inte. Vad skall jag göra?

              Mvh
              Magnus

              Comment


              • #8
                Aha, det ska vara "ttx". Det kanske inte står i tråden om loop?

                Comment


                • #9
                  Hej

                  Nu funkar det med loopen.

                  Ps, glöm inte att ändra i tråden.

                  Comment


                  • #10
                    Scripthjälp för ordermodell del 2

                    Hej Rikard

                    Nu har jag följt instruktionerna som du beskrev i början av inlägget. Jag satte Macd på en minuts inställning bara för att få fram köp och sälj snabbare. Köp och sälj kommer kontinuerligt över skärmen så det funkar.

                    Varje gång det sker en köp/sälj signal vill jag ha ett larm. Tanken är att allt skall ske med automatik till NN i framtiden men jag behöver börja någonstans.

                    Jag har lyckats att ansluta ordermodeller. Gick in på Arkiv, Optioner/terminer. Markerade terminen, högerklickade och gick till anslut order modeller. Där står det att jag har 2 st ordermodeller anslutna.

                    Men hur får jag fram larmen

                    Lade till intraday prefix:
                    ag11:=Macd(b)
                    ag11
                    i1
                    Funka inte!

                    I fx modulen kryssade jag i Larmrutan, Autobevakat.
                    Funka inte!

                    Kryssade också i lokalt bara tillsammans med Autobevakat.
                    Det gick inte det heller.

                    Vad har jag missat?

                    Mvh Magnus

                    Comment


                    • #11
                      I -fx-dialogen ska de script man vill få larm ifrån vara anslutna, och Autobevakat ikryssat. Får du inte larm i Egna larm då?

                      Vill du få larm även via epost går man in på Inställningar > GSM-larm.
                      Välj Autostock E-larm som operatör, mata in epostadressen, kryssa för Förkortad lydelse och GSM-larm aktivt.

                      Comment


                      • #12
                        Jag har kryssat i autobevakat men det kommer inga larm i egna larm. Det kommer heller inga larm genom Eposten.

                        Det finns däremot 2 st "order skickad" från gårdagen. Dem måste jag ha lagt manuellt. Kan dock inte redogöra för hur det gick till.

                        Comment


                        • #13
                          Då verkar det som att scriptet i sig inte larmat. Har du prefix:


                          sl) namnet på ditt script

                          ?

                          Comment


                          • #14
                            hej

                            Ja, det står sl) framför mina skcript.

                            Magnus

                            Comment


                            • #15
                              De måste ju rimligtvis larma någon gång. Kan du se signalerna i grafen?

                              Comment

                              Working...
                              X