Allmänt meddelande

Collapse
No announcement yet.

Trigger i grafen omr kursstaplar.

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

  • Trigger i grafen omr kursstaplar.

    Försöker att finna ett sätt att få triggervärden/triggerlinjer i grafen omr kursstaplar.

    Går det att på något sätt att finna c för tex OMX-index vid stängningen föregående dag?

    Tänkt mig att då få två triggervärden enl följande.

    stängningen_igår:=?

    trigger_upp:=mult(stängningen_igår,1.001)
    trigger_ner:=div(stängningen_igår,1.001)

    Tanken är att bara gå long då kurserna är över trigger_upp kompl med ett exitscript.

    Likadant då kurserna är under trigger_ner bara gå short också kompl med ett exitscript.

    Det blir i regel bara förluster från signaler då börsen pendlar kring nollan. Dvs inga signaler mellan triggerlinjerna.

    Är detta möjligt och finns någon som kan ge ett förslag på hur man scriptar ev trigers? Om möjligt också med linjerna utritade i grafen?

    Ove

  • #2
    Här kommer ett köp och ett säljscript du kan laborera med. Glöm inte "kanelbulleuttrycket" längst ned.


    { Köpscript }
    stängningen_igår:=cmpref(c,1,a)
    trigger_upp:=mult(stängningen_igår,1.001)

    i30(
    köp=gt(c,trigger_upp)
    mult(köp,1)
    )

    {@A(0,)}

    -----------------------------------

    { Säljscript }
    stängningen_igår:=cmpref(c,1,a)
    trigger_ner:=div(stängningen_igår,1.001)

    i30(
    sälj=lt(c,trigger_ned)
    mult(sälj,1)
    )

    {@A(0,)}

    Comment


    • #3
      Trigger i grafen omr kursstaplar

      Tackar Wicke.

      Lagt till i scriptet jag leker med Triggers i grafen för Omx-termin.
      Vet inte om jag gjort en tankegroda. Min tanke var att få ett spann mellan triggersna på då kurserna ligger mellan 0,1 % och - 0,1 % jämfört med slutkursen "igår". Lagt in linjerna via draw men dom lägger sig inte på de värden som då jag räknar med dosan, isynnerhet tr_ner. Dvs slutkurs mult/div med 1,001? Det borde bli linjer 0,10 % över slutkurs resp -0,10 under slutkurs. Vad kan vara fel?


      {KÖP TERMIN }

      stängning_igår:=cmpref(c,1,a)
      tr_upp:=mult(stängning_igår,1.001)
      tr_ned:=div(stängning_igår,1.001)

      ma1:=Mov(c,5,e)

      r1:=ROC(c,10,%)
      rma:=mov(r1,5,e)

      tr1:=0.1
      tr2:=-0.1

      i5(
      köp1=and(cross(rma,tr1),gt(rma,aref(rma,1)))
      köp2=and(and(o,Aref(köp1,1)),gt(r1,tr1))
      köp3=and(and(köp2,not(aref(köp2,1))),le(portfolio(v),0))
      flagga=and(and(köp2,not(aref(köp2,1))),le(portfolio(v),0))
      {"flagga" För att få köp och säljflaggor i grafen vid handel. Tex flaggorna för köp försvinner från grafen då det är handlast long. Ville se var order utlöstes, därför.}

      draw(rma,1,bpa0)
      draw(tr1,2,bpa0)
      draw(tr2,3,rpa0)
      draw(tr_upp,4,bqb0)
      draw(tr_ned,5,rqb0)
      draw(Mult(köp2,15),6,BSBF)
      mult(köp3,10)
      )

      {@A(0,)}

      Comment


      • #4
        Jag har inte kollat ditt script i maskinen utan bara läst koden. Flagga får du alltid när scriptet är sant, så det behöver du inte scripta särskilt för.
        Jag har för mig att du ville ha signal när nivån för "tr_upp" bröts?
        Att rita ut värdet 0.1 i grafen är meningslöst eftersom det inte kommer att synas.

        Ytterligare några små ändringar är gjorda i scriptet nedan som du kan prova.



        {KÖP TERMIN }

        stängning_igår:=cmpref(c,1,a)
        tr_upp:=mult(stängning_igår,1.001)
        tr_ned:=div(stängning_igår,1.001)

        ma1:=Mov(c,5,e)

        r1:=ROC(c,10,%)
        rma:=mov(r1,5,e)

        tr1:=0.1
        tr2:=-0.1

        i5(
        köp1=and(cross(c,tr_upp),gt(rma,aref(rma,1)))
        köp2=and(köp1,gt(r1,tr1))
        köp3=and(köp2,le(portfolio(v),0))

        draw(rma,1,bpa0)
        draw(tr_upp,4,bqb0)
        draw(tr_ned,5,rqb0)

        mult(köp3,10)
        )

        {@A(0,)}

        Comment


        • #5
          Trigger i grafen omr kursstaplar

          Tackar igen Wicke.

          Fogade till draw i grafen för tr_upp och tr_ned för att se att triggerna blev som förväntat. Får triggerlinjer i grafen men de blir fel.

          Slutkurs B-terminen torsdagkväll den 24e ca 1146.

          Förväntade triggers:
          tr_upp 1146 * 1,001 = 1147,15
          tr_ner 1146 / 1,001 = 1144,85

          Blir följande värden på triggerlinjerna i grafen fredag den 25e:
          tr_upp ca 1148,50
          tr_ner ca 1146,50 (över slutkursen?)

          Vad kan vara fel?

          Har du tid hjälpa mig?

          Ove

          Comment


          • #6
            Du kan inte se i NAT-grafen vad kursen igår stängde på, beroende på att NAT slutar sin kursinsamling kl 17:26. Den 24/1 stängde terminen på 1147,50.

            Om du vill kunna se vad terminen stängde på igår kan du lägga till raden:
            draw(stängning_igår,2,dgqb2)

            Comment


            • #7
              Hej, jag har testat med triggerscriptet men får det inte att funka riktigt i skarpt vad gör jag för fel?
              Jag kör i bänken ex från 15 jan tom. 1 feb kör med stäng för kvällen inst på 40 min före stängning och start ca 9.15 och får detta resultatet:
              Totalt Avkastning 26.25 kr 2.26% på 14 affärer under 73:10:24 timmar
              Av dessa blankat 3 st med avkastning 4.25 kr 0.34%
              Innehav 9 st med vinst 25.00 kr 2.18%
              Innehav 2 st med förlust -3.00 kr -0.26%
              Blankning 2 st med vinst 5.00 kr 0.37%
              Blankning 1 st med förlust -0.75 kr -0.03%

              {KÖP TERMIN }

              öppet:=ge(mult(1440,sub(market(c),frac(date()))),40)
              { säkerställ att klockan är minst 09:06 }
              inpådagen:=Gt(Frac(date()),0.396)
              stängning_igår:=cmpref(c,1,a)
              tr_upp:=mult(stängning_igår,1.001)
              tr_ned:=div(stängning_igår,1.001)

              ma1:=Mov(c,5,e)

              r1:=ROC(c,10,%)
              rma:=mov(r1,5,e)

              tr1:=0.1
              tr2:=-0.1

              {spärr som hindrar orderläggning 1 minut efter senaste order}
              timelock:=1
              lt1:=LastTrade(B,D)
              lt2:=LastTrade(S,D)
              minSedanKöp:=mult(sub(date(),lt1),1440)
              minSedanSälj:=mult(sub(date(),lt2),1440)


              i5(

              orderdelay_ok=and(gt(minSedanKöp,timelock),gt(minSedanSälj,timelock))
              köp1=and(cross(c,tr_upp),gt(rma,aref(rma,1)))
              köp2=and(köp1,gt(r1,tr1))
              köp3=and(köp2,le(portfolio(v),0))
              köp4=and(and(köp3,öppet),inpådagen)

              draw(rma,1,bpa0)
              draw(tr_upp,4,bqb0)
              draw(tr_ned,5,rqb0)

              mult(köp4,10)
              )

              {@A(0,)}

              {BLANKA TERMIN }

              öppet:=ge(mult(1440,sub(market(c),frac(date()))),40)
              { säkerställ att klockan är minst 09:06 }
              inpådagen:=Gt(Frac(date()),0.396)
              stängning_igår:=cmpref(c,1,a)
              tr_upp:=mult(stängning_igår,1.001)
              tr_ned:=div(stängning_igår,1.001)

              ma1:=Mov(c,5,e)

              r1:=ROC(c,10,%)
              rma:=mov(r1,5,e)

              tr1:=0.1
              tr2:=-0.1

              {spärr som hindrar orderläggning 1 minut efter senaste order}
              timelock:=1
              lt1:=LastTrade(B,D)
              lt2:=LastTrade(S,D)
              minSedanKöp:=mult(sub(date(),lt1),1440)
              minSedanSälj:=mult(sub(date(),lt2),1440)

              i5(

              orderdelay_ok=and(gt(minSedanKöp,timelock),gt(minSedanSälj,timelock))
              blank1=and(cross(c,tr_ned),gt(rma,aref(rma,1)))
              blank2=and(blank1,lt(r1,tr2))
              blank3=and(blank2,le(portfolio(v),0))
              blank4=and(and(blank3,öppet),inpådagen)

              draw(rma,1,bpa0)
              draw(tr_upp,4,bqb0)
              draw(tr_ned,5,rqb0)

              mult(blank4,10)
              )

              {@A(0,)}

              Berra

              Comment


              • #8
                Ursprungligen postat av Berra Visa inlägg
                Hej, jag har testat med triggerscriptet men får det inte att funka riktigt i skarpt vad gör jag för fel?
                Jag kör i bänken ex från 15 jan tom. 1 feb kör med stäng för kvällen inst på 40min före stängning och start ca 9.15 och får detta resultatet:
                Totalt Avkastning 26.25 kr 2.26% på 14 affärer under 73:10:24 timmar
                Vad är det som inte fungerar skarpt? Har du gjort en ordermodell av triggerscripten?

                Comment


                • #9
                  Ursprungligen postat av LillWicke Visa inlägg
                  Vad är det som inte fungerar skarpt? Har du gjort en ordermodell av triggerscripten?
                  Ja jag har ordermodeller för köp/sälj (kör samma i både bänk och skarpt) men det blir inte alls som i bänken när jag kör skarpt så jag vet inte varför det blir helt annorlunda. Plus att två dagar helt utan signaler?
                  Berra

                  Comment


                  • #10
                    Ok, du får inte samma signaler i bänken som under livekörningen, då är du inte ensam.

                    Du får nog bida din tid lite Berra, till dess att en ny uppdatering är på plats som tar hand om de hittills inrapporterade oegentligheterna i Nat Pro. Det är en del Nat-funktioner och parametrar som skall fixas.

                    Comment


                    • #11
                      Trigger i grafen omrkursstaplar

                      Hej Berra.

                      När man följer forumet så får jag intrycket att de många script går hyggligt vissa tider men dåligt andra. Mitt enkla script fungerar också det hyggligt vissa tider men sämre vissa. För att komma ifrån "onödiga" affärer så tänkte jag mig att bara tillåta handel i en riktning tex bara köp då kurvan ligger över "slutkursen igår" kopplat med någon form av exitscript. Växlar man direkt mellan köp och sälj blir det då kurserna pendlar kring nollan bara en massa onödigt många affärer med i regel förluster som i sämsta fall tar udden av de punkter som tjänats in. Likaså när det vänder kan det i vändningen bli förlustsignaler. Jag föreställer mig att det är bättre att stå utanför tills riktningen är bekräftad med tex "slutkursen igår", vad vet jag?
                      Jag har även testat med en form av flytande "slutkurs igår" då jag under dagen anger högsta resp lägsta värdet för "slutkurs igår" baserat på topp och botten på en macdkurva med högsta resp lägsta kursvärdet mellan macdsvängningarna som "slutkurs igår". Det blir många flyttanden av "slutkurs igår" med tveksamt resultat.

                      Jag tror för att få scriptet att fungera långsiktigt bör nog både köp och säljscripten kompletteras med exit köp och exit sälj och bara tillåta köp och sälj i en riktning.
                      När jag bedömmer att det pendlas kring nollan pausar jag ordergivningen.

                      Jag är urusel på scripbyggande så om du Berra anser den värd att jobba vidare med och lyckas få stuns på iden så hoppas jag att jag får ta del av den.

                      Hälsn

                      Ove

                      Comment


                      • #12
                        Hej Ove
                        Jo det är riktigt att det är hur svårt som helst att få något som fungerar. Men jag har labbat lite till och fått signalerna att hamna på rätt sida om linjerna och breddat mellan för att få bort en del småstuds. Jag har provat med SL och TP men det går inte få till det automatiskt det är nog tvunget att hålla kollen med ögat. Det ser bra ut i bänken hur mycket man nu kan lita på den?
                        Jag kör med stäng 40 min före börsstängning och tillåt affär från 9.30. Det var inte rätt med cross har ändrat till Gt och Lt, den brydde sig inte om vilken linje den korsade...

                        {KÖP TERMIN }

                        öppet:=ge(mult(1440,sub(market(c),frac(date()))),40)
                        { säkerställ att klockan är minst 09:30 }
                        inpådagen:=Gt(Frac(date()),0.396)
                        stängning_igår:=cmpref(c,1,a)
                        tr_upp:=mult(stängning_igår,1.00195)
                        tr_ned:=div(stängning_igår,1.00195)

                        ma1:=Mov(c,5,e)

                        r1:=ROC(c,10,%)
                        rma:=mov(r1,5,e)

                        tr1:=0.1
                        tr2:=-0.1

                        {spärr som hindrar orderläggning 1 minut efter senaste order}
                        timelock:=1
                        lt1:=LastTrade(B,D)
                        lt2:=LastTrade(S,D)
                        minSedanKöp:=mult(sub(date(),lt1),1440)
                        minSedanSälj:=mult(sub(date(),lt2),1440)


                        i5(

                        orderdelay_ok=and(gt(minSedanKöp,timelock),gt(minSedanSälj,timelock))
                        köp1=and(gt(c,tr_upp),gt(rma,aref(rma,1)))
                        köp2=and(köp1,gt(r1,tr1))
                        köp3=and(köp2,le(portfolio(v),0))
                        köp4=and(and(köp3,öppet),inpådagen)

                        draw(rma,1,bpa0)
                        draw(tr_upp,4,bqb0)
                        draw(tr_ned,5,rqb0)

                        mult(köp4,10)
                        )

                        {@A(0,)}

                        {BLANKA TERMIN }

                        öppet:=ge(mult(1440,sub(market(c),frac(date()))),40)
                        { säkerställ att klockan är minst 09:06 }
                        inpådagen:=Gt(Frac(date()),0.396)
                        stängning_igår:=cmpref(c,1,a)
                        tr_upp:=mult(stängning_igår,1.00195)
                        tr_ned:=div(stängning_igår,1.00195)

                        ma1:=Mov(c,5,e)

                        r1:=ROC(c,10,%)
                        rma:=mov(r1,5,e)

                        tr1:=0.1
                        tr2:=-0.1

                        {spärr som hindrar orderläggning 1 minut efter senaste order}
                        timelock:=1
                        lt1:=LastTrade(B,D)
                        lt2:=LastTrade(S,D)
                        minSedanKöp:=mult(sub(date(),lt1),1440)
                        minSedanSälj:=mult(sub(date(),lt2),1440)

                        i5(

                        orderdelay_ok=and(gt(minSedanKöp,timelock),gt(minSedanSälj,timelock))
                        blank1=and(lt(c,tr_ned),lt(rma,aref(rma,1)))
                        blank2=and(blank1,lt(r1,tr2))
                        blank3=and(blank2,le(portfolio(v),0))
                        blank4=and(and(blank3,öppet),inpådagen)

                        draw(rma,1,bpa0)
                        draw(tr_upp,4,bqb0)
                        draw(tr_ned,5,rqb0)

                        mult(blank4,10)
                        )

                        {@A(0,)}
                        Berra

                        Comment


                        • #13
                          Har testat med denna inst flyttar ner blank-linjen och även lite på long-linjen gjorde susen och bort med onödiga studsar.
                          tr_upp:=mult(stängning_igår,1.0015)
                          tr_ned:=div(stängning_igår,1.00325)

                          ps synd att jag har varit vid sidan av idag:
                          10:20 ANALYS "sl) Trigger ner blank OMXS303B" kurs 1174.50
                          stäng 16:49 1160.75 hade suttit gott!!!
                          Last edited by Berra; 2013-02-04, 17:31. Anledning: ps
                          Berra

                          Comment


                          • #14
                            Tänk bara på att ni inte kan köra de här scripten i analysbänken.
                            Bänken visar helt fel resultat, och detta beroende på att den för närvarande inte kan räkna ut rätt resultat av den här raden:

                            stängning_igår:=cmpref(c,1,a)

                            Comment


                            • #15
                              Ursprungligen postat av LillWicke Visa inlägg
                              Tänk bara på att ni inte kan köra de här scripten i analysbänken.
                              Bänken visar helt fel resultat, och detta beroende på att den för närvarande inte kan räkna ut rätt resultat av den här raden:

                              stängning_igår:=cmpref(c,1,a)

                              Bra LillWicke, nej jag ser det mer som ett ungefär, och har haft kollen på dagen i analysläge larmat

                              Men det är ju jäkligt synd att det inte fungerar för bortsett från funktionen så är bänken toppen...
                              Berra

                              Comment

                              Working...
                              X