Allmänt meddelande

Collapse
No announcement yet.

Dyntrend

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

  • Dyntrend

    Rikard, om dyntrend skrivs detta i hjälpen:

    DynTrend(d,p,p)
    Namn: Dynamisk Trend

    Beskrivning: Kursvärdet på dynamiskt bildad trendlinje för perioden

    Parameter 1: Dataserie eller returvärden från andra funktioner

    Parameter 2: Perioder bakåt för punkten längst bakåt i tiden i dataserien

    Parameter 3: Ev. perioder bakåt för punkten närmast i tiden i dataserien. Om utelämnad=1

    Returnerar: Värde på dynamiska trendlinjen i nuvarande period

    Kommentar: Grafiken klarar inte alltid att rita extremvärden på linjen. Scriptet har dock alltid korrekta värden. Det är alltså inget fel i programmet.

    Exempel: DynTrend(H,5) ger värdet nu på en trendlinje dragen från förra perioden till period 5 bakåt i High-serien.

    Tolkning: -

    Tips för grafik:

    Placering: Kursstaplar om ensam funktion. Annars valfri.

    Skala: Enligt kurser

    Visa som flagga: Nej


    I forumet finns inte många inlägg om dyntrend, men enligt Lasse ska den binda ihop punkter med två värden i en linje som ej kan visas.

    Jag såg att du själv försökt få till dyntrend i forumet för några år sedan, vet ej hur det gick.

    Jag gjorde nedanstående kod där cell 138 och 139 har värden i sig och det returnerades 0 till cell 190 när jag läste ur värdet ur cell 190.

    Hur får man dyntrend att returnera ett värde mellan två punkter?

    forra:=GetGvar(138)
    forra2:=GetGvar(139)
    test:=DynTrend(forra,forra2,1)
    skriv:=SetGVarIf(test,190,1)
    i15(test)


  • #2
    Jo, jag (och Torsten) labbade med Dyntrend() tidigare och visst fungerar det. Man kan faktiskt rita ut kurvan i grafen också, men man kan inte se den förrän i staplarna efter att villkoren uppfyllts. Ska se om jag kan rota fram lite gamla script och visa. Vi hade tänkt lägga med någon modell i nya programmet som jobbar med dynamiska trendlinjer, tänkt att användas som utgångsmaterial för egna ideer etc. Men när det gäller aktier tror jag den fungerar bra redan som den är faktiskt, kanske ihop med flytande stoploss.

    Comment


    • #3
      Hittade lite gamla experiment:

      sl) Dyntrend köp

      fr1:=Gt(Aref(h,2),Aref(h,1))
      fr2:=Gt(Aref(h,2),h)
      fr3:=Gt(Aref(h,2),Aref(h,3))
      fr4:=Gt(Aref(h,2),Aref(h,4))
      frhigh:=Aref(h,2)
      i15(
      fractal=And(And(fr1,fr2),And(fr3,fr4))
      första=Add(2,TopBars(fractal,50,2))
      andra=Add(2,TopBars(fractal,50,1))
      dynlinje=DynTrend(h,första,andra)
      Draw(dynlinje,2,gqb)
      Draw(Mult(fractal,10),3,wsbF)
      köpentry1=And(Gt(h,dynlinje),Gt(h,Aref(h,1)))
      Mult(köpentry1,5)
      )


      Scriptet letar upp första och andra fraktalen bakåt och ritar en dynamisk trendlinje mellan dessa så snart de konstaterats. Linjen används som breakout-nivå för köp.
      Fraktalen definieras av 5 staplar där den i mitten har en High som är högre än de andra fyra H. Om detta är sant räknars det som en fraktal så fort sista stapeln är fullbordad. En vit flagga ritas när det händer, och toppvärdet från den stapeln som är i mittan av fraktalen hämtas med TopBars()-kommandot och används för att rita den dynamiska trendlinjen.

      Attached Files

      Comment


      • #4
        Här kan Ni få något gammalt experiment jag gjort... Detta är inte den inbyggda funktionen utan en egen funktion.
        Funktionen är dra linje mellan två föregående toppar resp. bottnar för att få stöd och motståndsnivå.
        Jag såg att jag använt EMA 18 & 55 som trigger för top och botten. Dessutom logik för att förlänga trenden om kursen är i trend vid ny botten eller top.
        Jag tycker inte att detta är ett bra sätt eftersom trenden alltid byts, dessutom går denna modell att förenkla.
        OBS! För att trendlinjerna ska kunna byggas krävs några dagars vy.

        {----Position in trend----}
        nPositionH:=0.6
        nPositionL:=0.3
        {----EMA OMX----}
        nPeriodEmaShort:=18
        nPeriodEmaLong:=55
        EmaShortOmxNow:=MOV(C,nPeriodEmaShort,E)
        EmaShortOmxPast:=MOV(Ref(C,1),nPeriodEmaShort,E)
        EmaLongOmxNow:=MOV(C,nPeriodEmaLong,E)
        EmaLongOmxPast:=MOV(Ref(C,1),nPeriodEmaLong,E)

        i1(
        nSupOmxs30=If(And(Gt(EmaShortOmxNow,EmaLongOmxNow),Le(EmaShortOmxPast,EmaLongOmxPast)),1,0)
        nResOmxs30=If(And(Lt(EmaShortOmxNow,EmaLongOmxNow),Ge(EmaShortOmxPast,EmaLongOmxPast)),1,0)
        nPreRes=Add(getval(2),Mult(getval(5),Div(Sub(getval(2),getval(3)),getval(4))))
        nPreSup=Add(getval(6),Mult(getval(9),Div(Sub(getval(6),getval(7)),getval(8))))
        nAlign1=Div(Sub(C,nPreSup),Sub(nPreRes,nPreSup))
        nBigDiff=If(Or(Gt(Div(C,nPreSup),0.02),Gt(Div(nPreRes,C),0.02)),1,0)
        nAlign2=If(And(And(And(Gt(Sub(C,nPreSup),0),Eqv(nBigDiff,0)),Gt(Sub(nPreRes,nPreSup),0)),And(Gt(nAlign1,nPositionL),Lt(nAlign1,nPositionH))),0,1)
        nDownOmxs30=If(Or(And(Eqv(nResOmxs30,1),Eqv(nAlign2,1)),And(Eqv(nResOmxs30,1),Or(Eqv(getval(2),0),Eqv(getval(3),0)))),1,0)
        nUpOmxs30=If(Or(And(Eqv(nSupOmxs30,1),Eqv(nAlign2,1)),And(Eqv(nSupOmxs30,1),Or(Eqv(getval(6),0),Eqv(getval(7),0)))),1,0)
        nValRes=If(Eqv(nDownOmxs30,1),HHV(H,nPeriodEmaShort),getval(2))
        nDateRes=If(Eqv(nDownOmxs30,1),HHVBARS(H,nPeriodEmaShort),getval(5))
        nValSup=If(Eqv(nUpOmxs30,1),LLV(L,nPeriodEmaShort),getval(6))
        nDateSup=If(Eqv(nUpOmxs30,1),LLVBARS(L,nPeriodEmaShort),getval(9))
        {****Resistance****}
        {----Old value local 3----}
        nStoreX3=retval(if(Eqv(nDownOmxs30,1),getval(2),getval(3)),3)
        {----New value local 2----}
        nStoreX2=retval(if(Eqv(nDownOmxs30,1),nValRes,getval(2)),2)
        {----New date local 4----}
        nStoreX4=retval(if(Eqv(nDownOmxs30,1),getval(5),getval(4)),4)
        {----Start date counter 5----}
        nStore15=retval(if(Eqv(nDownOmxs30,0),Add(1,getval(5)),getval(5)),5)
        nStoreX5=retval(if(Eqv(nDownOmxs30,1),nDateRes,getval(5)),5)
        {****Support****}
        {----Old value local 7----}
        nStoreX7=retval(if(Eqv(nUpOmxs30,1),getval(6),getval(7)),7)
        {----New value local 6----}
        nStoreX6=retval(if(Eqv(nUpOmxs30,1),nValSup,getval(6)),6)
        {----New date local 8----}
        nStoreX8=retval(if(Eqv(nUpOmxs30,1),getval(9),getval(8)),8)
        {----Start date counter 9----}
        nStore19=retval(if(Eqv(nUpOmxs30,0),Add(1,getval(9)),getval(9)),9)
        nStoreX9=retval(if(Eqv(nUpOmxs30,1),nDateSup,getval(9)),9)
        {****Resistance2****}
        XKonstRes=Div(Sub(getval(2),getval(3)),getval(4))
        nResistance=Add(getval(2),Mult(getval(5),XKonstRes))
        {****Support2****}
        XKonstSup=Div(Sub(getval(6),getval(7)),getval(8))
        nSupport=Add(getval(6),Mult(getval(9),XKonstSup))
        draw(nResistance,0,rqb)
        draw(nSupport,1,gqb)
        Add(0,0)
        )
        Last edited by niclas_gbg; 2011-01-02, 19:50.
        NiclasGBG

        Comment


        • #5
          Ursprungligen postat av Rikard Nilsson Visa inlägg
          Hittade lite gamla experiment:

          sl) Dyntrend köp

          fr1:=Gt(Aref(h,2),Aref(h,1))
          fr2:=Gt(Aref(h,2),h)
          fr3:=Gt(Aref(h,2),Aref(h,3))
          fr4:=Gt(Aref(h,2),Aref(h,4))
          frhigh:=Aref(h,2)
          i15(
          fractal=And(And(fr1,fr2),And(fr3,fr4))
          första=Add(2,TopBars(fractal,50,2))
          andra=Add(2,TopBars(fractal,50,1))
          dynlinje=DynTrend(h,första,andra)
          Draw(dynlinje,2,gqb)
          Draw(Mult(fractal,10),3,wsbF)
          köpentry1=And(Gt(h,dynlinje),Gt(h,Aref(h,1)))
          Mult(köpentry1,5)
          )


          Scriptet letar upp första och andra fraktalen bakåt och ritar en dynamisk trendlinje mellan dessa så snart de konstaterats. Linjen används som breakout-nivå för köp.
          Fraktalen definieras av 5 staplar där den i mitten har en High som är högre än de andra fyra H. Om detta är sant räknars det som en fraktal så fort sista stapeln är fullbordad. En vit flagga ritas när det händer, och toppvärdet från den stapeln som är i mittan av fraktalen hämtas med TopBars()-kommandot och används för att rita den dynamiska trendlinjen.

          Tackar, har du motsvarande sälj-script också?

          Hur menar du "ritar en dynamisk trendlinje mellan dessa så snart de konstaterats". De trend-linjer i turkos, grön, röd som är streckade verkar vara ritade för hand, verkar inte finnas någon draw med dessa färger i scriptet, är det ett separat script?

          Attached Files
          Last edited by jorgeng; 2011-01-02, 20:19.

          Comment


          • #6
            Precis, de är ritade för hand bara för att visa hur trendlinjen ser ut "bakom" den punkt där den först konstaterades. Det sker alltså inte förrän efter senaste fraktal, och då drar scriptet en trendlinje mellan senaste och förra fraktalen.

            Tänkte att det blir bra träning att "vända" scriptet så att du får motsvarande säljscript.

            Comment


            • #7
              Ursprungligen postat av Rikard Nilsson Visa inlägg
              Precis, de är ritade för hand bara för att visa hur trendlinjen ser ut "bakom" den punkt där den först konstaterades. Det sker alltså inte förrän efter senaste fraktal, och då drar scriptet en trendlinje mellan senaste och förra fraktalen.

              Tänkte att det blir bra träning att "vända" scriptet så att du får motsvarande säljscript.

              Tja, jag behöver ändå skriva om scriptet med de villkor jag vill ha för att få scriptet att fungera som jag vill. Som du vet måste trend-linjer dras på ett visst sätt med rätt villkor för att vara valida.

              Dessa trendlinje-script borde ingå i en standardinstallation av autostock trader då andra ta-program har inbyggda trendlinjer, ex metatstock.

              Comment


              • #8
                Som jag nämnde ovan så plockar vi in någon trendlinje modell i nästa program, och även någon Mountain - Valley-variant.

                Comment


                • #9
                  Den gamla dynamiska trendlinjemodellen ser inte så tokig ut!

                  Attached Files

                  Comment


                  • #10
                    Ursprungligen postat av Rikard Nilsson Visa inlägg
                    Den gamla dynamiska trendlinjemodellen ser inte så tokig ut!

                    Synd att scripten inte fungerar rakt av då de ger på tok för många affärer vid konsolidering, affärer varannan minut vid konsolidering och både köp och sälj-villkor är uppfyllda samtidigt.

                    Testa och kör kalkylforskaren får du se.

                    Scripten behöver kompletteras med villkor för att läsa ex topp flera punkter tillbaka och inte bara de två senaste....

                    Comment

                    Working...
                    X