Allmänt meddelande

Collapse
No announcement yet.

Får inte handel att köpa

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

  • Får inte handel att köpa

    Hej,
    Haft programmet i 15 dagar och försöker så gott jag kan att lära mig.
    Jag har börjat med en enkel medelvärdestrigger kopplat till testkonto bara för att lära känna programmet.
    Jag får dock inte ordermodellen att generera några köp.
    Jag har tex följande script kopplat till OMXS30 för köp av ett BULL cert.
    -------
    i5(
    omxs30=cmpref(c,0,a)
    ma20=Mov(c,20,s)
    korsning_upp=and(lt(o,ma20),gt(c,ma20))
    köp=aref(korsning_upp,1)
    Draw(ma20,1,dgqb)
    Mult(köp,5)
    )

    {@A(5,OMX Stock )}
    ------------

    1. Jag har kopplat scriptet till OMXS30.
    2. Jag har gjort en ordermodell och kopplat denna till OMXS30
    3. Jag har även kopplat ordermodellen mot BULL x15.

    Har jag gjort rätt? Skall jag leta i ordermodellen efter fel? Jag ser att scriptet genererar rätt signal i grafen.

    Tacksam för svar
    Mvh

  • #2
    Ser ju korrekt ut, så då kanske vi ska leta i ordermodellen. Vilket pris- och antalscript har du lagt in där?

    Comment


    • #3
      Får inte handel att köpa

      Hmmm.
      När jag nu kommer tillbaka så har detta hänt. Jag har inte gjort något emellan. Men den verkar köpa och köpa och köpa. Inga triggers har löst ut i grafen så detta är lite mystiskt. Triggers har löst ut innan men inget hände då.
      Attached Files

      Comment


      • #4
        Det triggas i alla fall order då. Men det ser ut som att du skulle behöva ett test i triggerscriptet som blockerar order i fall det redan finns ett innehav, typ:

        i5(
        omxs30=cmpref(c,0,a)
        ma20=Mov(c,20,s)
        korsning_upp=and(lt(o,ma20),gt(c,ma20))
        köp=and(aref(korsning_upp,1),eqv(portfolio(v),0))
        Draw(ma20,1,dgqb)
        Mult(köp,5)
        )

        {@A(5,OMX Stock )}

        Comment


        • #5
          Ska testa att lägga in det. Tack för det.
          Jag har för övrigt satt modellen till att köpa hälften av vad kassan tillåter och att köpa säljkurs +0.25%. Det kanske är för lite för höghäv när jag tänker efter?
          Tycker dock det fortfarande är märkligt att den köper när inte triggern säger det. Eller kan orders ligga kvar även fast jag satt modellen till att makulera aktiv order?

          Comment


          • #6
            Order ligger inte kvar. Borde funka tycker jag, men man kan alltid testa att ändra i korsningsvillkoret:

            korsning_upp=and(lt(aref(c,1),ma20),gt(c,ma20))

            Comment


            • #7
              Jag såg på ett av era Youtube klipp att man skulle sätta modellen till "delay order".
              Detta har jag också gjort. Är det verkligen rätt?? Eller är det det som spökar?

              Comment


              • #8
                Delay är alltid bra att ha.

                Om det är index kan bara closekursen användas i prisscriptet.

                Comment


                • #9
                  Jasså!? Hade ingen aning om att det bara var close som kan användas på index. Då var mitt script fel. Jag har ändrat till det som Rickard föreslog Får se om det funkar nu.
                  Tack för denna info ��

                  Comment


                  • #10
                    Om jag i ordermodellen satt att den skall handla för "hälften av vad kassan tillåter", behöver jag då gå in i själva instrumentet under dess egenskaper och sätta "standardmodell insats" till något? Det känns som dubbelmåttsättning i så fall?

                    Comment


                    • #11
                      Nix, det räcker att välja script i sekvensen. Men du kan behöva ändra scriptet ifall det är index som bara har Close. En del script använder S och B för att räkna ut. Jag brukar ta en kopia av scriptet och döpa om namnet och sätta - index på slutet tex. Passar på att ändra ev S i koden till C.

                      Comment


                      • #12
                        Det räcker att sätta det i ordermodellen om du skall låta den handla skarpt mot ett instrument. Du tar ju in index genom cmpref vilket betyder att du kan koppla ordermodellen till valfri mini eller termin. OBS om du skall köpa ett instrument så måste du ändra från c till k resp b i vl) scriptet.
                        Skall du använda ETP-link så får andra svara på din fråga eftersom jag inte handlar med minisar.
                        mvh
                        Bertil

                        Comment


                        • #13
                          Tack Bertil. Jag provar det men den känner inte igen "k". Vad betyder k och b som du nämner?
                          Så här är vl) scriptet just nu.
                          i1(
                          index=and(and(eqv(hhv(v,10),0),and(eqv(s,0),eqv(b,0))),gt(llv(c,10),0))
                          roundprice(mult(if(index,c,S),1.01))
                          )

                          Då ska jag alltså ändra "c" till k resp b?

                          ETP-link hade jag inte tänkt använda (till en början i alla fall. Det får räcka med svårigheter just nu :-) )

                          Comment


                          • #14
                            Ursprungligen postat av Cupra Visa inlägg
                            Tack Bertil. Jag provar det men den känner inte igen "k". Vad betyder k och b som du nämner?
                            Så här är vl) scriptet just nu.
                            i1(
                            index=and(and(eqv(hhv(v,10),0),and(eqv(s,0),eqv(b,0))),gt(llv(c,10),0))
                            roundprice(mult(if(index,c,S),1.01))
                            )

                            Då ska jag alltså ändra "c" till k resp b?

                            ETP-link hade jag inte tänkt använda (till en början i alla fall. Det får räcka med svårigheter just nu :-) )
                            Du skall undvika villkor i vl) scriptet. Meddelandet i Larmfönstret kommer då triggerscriptet triggar och inte då ordermodellen går igenom. Det är detta som gör att du får så många meddelanden i Larmfönstret fastän inga avslut sker.
                            Du bör därför flytta alla villkor till triggerscriptet.
                            vl) scriptet:

                            i10(
                            roundprice(mult(s,1.01))
                            )

                            s står för säljkurs. c står ju för closekurs.
                            Skall du simuleringshandla på indexet skall vl) scriptet se ut så här

                            i10(
                            roundprice(mult(c,1.01))
                            )

                            eller bara

                            i10(
                            roundprice(mult(c,1))
                            )

                            Om man använder Analysatorn så gör affären avslut med det värde som anges i vl) scriptet, men då man handlar skarpt så får man ju det värde som köpkursen har.
                            Men man får tänka på att då man handlar skarpt så kan det ta någon sekund från det man får en trigg tills ordern når NasdaqOMX därför är det då bra att ha marginal gentemot senaste köpkursen så att affären går igenom.

                            Inom parentes så har jag dubletter på alla mina ordermodeller som är identiska så när som på vl) scriptet. Ena uppsättningen använder jag då jag simulerar i analysatorn, andra uppsättningen (som har lite bättre marginal på köpkursen) använder jag vid skarp handel.

                            mvh
                            Bertil
                            Last edited by Bertil; 2019-03-04, 17:24.

                            Comment


                            • #15
                              Vi ska väl inte gör en alltför stor sak av detta, men det fungerar med flera villkor i prisscripten. Utan att få meddelanden. Däremot behövs inget roundprice för index. Man får det pris som index är när ordern läggs. I skarp handel med tex etp:er finns det en spread och en marginell tidskillnad från att scripten körs och order hamnar i marknaden. Därför brukar man lägga på eller dra av lite beroende på om det är köp eller sälj. Detta för att få ett så verkligt resultat som möjligt. Det finns färdiga script i AT där c+/- används. Alternativt lägga på courtage och bara använda c.


                              Ex. för köp
                              i1(
                              add(c,0.3)
                              )
                              Ex. för sälj
                              i1(
                              sub(c,0.3)
                              )
                              Last edited by Henric; 2019-03-04, 17:31.

                              Comment

                              Working...
                              X