Allmänt meddelande

Collapse
No announcement yet.

Adaptiv stochastic

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

  • Adaptiv stochastic

    Hej!
    Är det någon som hört talas om adaptiv stochastic?
    Har för mig att jag sett nånting om det, men jag kan inte komma på var nånstans.

    Det borde ju egentligen vara att man helt enkelt ändrar periodlängden på basis av något annat, exempelvis marknadens volatilitet.

    Tror kanske att det går att bygga effektiva script med hjälp av det.

    Rikard

  • #2
    Dynamisk momentum

    Dynamisk Momentum

    Std5:=STDEV(C,5)
    AvgStd:=MOV(Std5,10,S)
    StdDiff:=DIV(Std5,AvgStd)
    Td:=MX(MN(DIV(14,StdDiff),30),5)
    {Säkrar också att mellan 5 och 30}
    RSI(Td:30)

    Beroende på standardavvikelsen så väljer man periodtid mellan 5 och 30 på RSI().

    Du har visst gjort liknande på LinReg om jag inte missminner mig.

    Så automatiskt val av parametrar för olika marknader etc är mycket intressanta parametrar att jobba med.

    Comment


    • #3
      Jo, det stämmer! Jag provade det i en variabel reglinje vars periodlängd ökar med vinsten. Det funkar fint, men svårigheten att backtesta gör att jag vill prova andra parametrar. Helt klart är att om man lyckas göra scripten adaptiva så kan man få till en handel som anpassar sig själv efter rådande marknad.

      Tack för exemplet ovan, ska prova det senare!

      Comment


      • #4
        Koden ger error, något är fel i den..

        Comment


        • #5
          Det klassiska, en namn är ett delnamn av annat namn.

          Txd:=MX(MN(DIV(14,StdDiff),30),5)
          {Säkrar också att mellan 5 och 30}
          RSI(Txd:30)

          funkar.

          "td" förekom sedan på samma rad och placerades där också. Kaos blev följden.

          Comment


          • #6
            Hur är det egentligen meningen att man ska tolka momentumkurvan? Över noll=stigande trend? Eller stigande kurva=stigande trend?

            Comment


            • #7
              Inte en aning. Jag översatte den åt en kund år 2000 och har inte gått i klinsch med den.(man kunde inte göra dynamiska perioder då så det vart begränsat till 3 värden eller så).

              Den är ju säkert för dagskurser som den används i detta utförandet. Så det är nog bara och se om man ser någon samband mellan något.

              Kan vara intressant kanske att titta på fasta kurvorna rsi(5) och rsi(30) vid sidan om.

              Stdev() och Bollinger och den skillnadskurvan för stdev() som ingår också förståss eftersom de komponenterna finns där.

              Comment


              • #8
                Hej!
                Har knåpat lite och kommit fram till följande för att få en stochastic vars periodlängd ändras med volatiliteten.

                Lämpar sig kanske mest som ett filter i nåt annat script, men ändå. Har bara testa på OMX-terminen, men det går ju att anpassa till vad man vill ha.

                Jag kör detta i ett 5-minutersdiagram för övrigt.


                max:=Hhv(Mov(c,10,e),100)
                min:=Llv(Mov(c,10,e),100)
                diff:=Mov(Sub(max,min),10,s)
                speed:=Mn(Add(20,Mult(diff,Mult(0.2,diff))),500)
                adaptstoch:=Stoc(c,speed:500)
                adaptstoch

                Comment


                • #9
                  Adaptiva ordermodeller

                  Rikard, Lasse m.fl.

                  Nu verkar det hända n´åt trevligt, nästan ända sedan Rikard kom fram med sina spinnrockar. Jag har länge hävdat att det är svårt att göra script som tager hänsyn till de olika markanadssituationerna trend/ konsolidering. Alla(de flesta) bygger på någon form av korsande medelvärden mer eller mindre klurigt konstruerade. Sedan bygger man på med olika "kompensationer" för att eliminera icke önskvärda avvikelser, t.ex. att man saxar sig ner i en fallande trend. Detta är en logisk föjd av karaktären för korsande medelvärden. Till slut blir scriptet oformligt och svårt att överblicka åtminstone för oss i programmering fåkunniga. Jag tycker mig ha konstaterat att de enklaste scripten ofta ger näst intill samma reslutat som de komplicerade. Rätta mej om jag har fel!!

                  Nedan stående enkla script för OMX ger bra resultat under en konsolidering t.ex. under den senaste fr.o.m ca. 04-02-01 men skiter sig under de längre de trendande perioderna dessförinnan.

                  KÖP
                  ag11:=Cross(mov(stoch(5),3,s),30)
                  ag13:=Hhv(ag11,1)

                  medelMV:=3

                  mnu:=mov(c,medelMV,s)
                  {Kollar 2 perioder bakåt }
                  mdå:=mov(ref(c,2),medelMV,s)
                  del1:=GT(mnu,mdå)

                  del2:=and(ag13,del1)
                  {Försök att begränsa falska signaler}
                  del3:=GT(mov(stoch(5),3,s),20)

                  del4:=and(del2,del3)
                  mult(del4,10)


                  SÄLJ
                  ag11:=Cross(mov(Stoch(5),3,s),70)
                  ag13:=Hhv(ag11,1)

                  medelMV:=3

                  mnu:=mov(c,medelMV,s)
                  {Kollar 2 perioder bakåt }
                  mdå:=mov(ref(c,2),medelMV,s)
                  del1:=GT(mdå,mnu)

                  del2:=and(ag13,del1)
                  {Försök att begränsa falska signaler}
                  del3:=LT(mov(stoch(5),3,s),80)
                  del4:=and(del2,del3)
                  mult(del4,10)

                  Begränsningen via del3 funkar inte alltid!? Tanken är att Stoch bör ner/upp till ett förutbestämt värde för att nästa cross skall gälla. Bättre ide efterlyses.


                  För att anpassa till olika marknadssituationer tror jag Rikards "adptiva" ide kommer in att t.ex. styra längden på Stochastics efter något mått, i detta fall volativiteten.
                  En anna parameter vore t.ex. ADX. Den indikatorn har den fördelen att den alltid är positiv. Värde över 15 anses innebära trend. Hur översätter man den från SuperChart/ Metastock? Jag är inte kropp till detta.

                  Hälsn. / Hans S.

                  HMS

                  Comment


                  • #10
                    Hej!
                    Kul om nån kan få nytta av ideerna!

                    Har pillat lite som vanligt, och kommit fram till att den adaptiva stochasticen med nedanstående värden är effektiv för OMX.

                    max:=Hhv(Mov(c,3,e),12)
                    min:=Llv(Mov(c,3,e),12)
                    diff:=Mov(Sub(max,min),5,s)
                    speed:=Mn(Add(3,Mult(diff,Mult(0.2,diff))),100)
                    adaptstoch:=Stoc(c,speed:100)
                    köp:=Gt(adaptstoch,60)
                    sälj:=Lt(adaptstoch,40)

                    Jag kör själv detta som en del av ett längre script.
                    Adaptiv stoch i 30-minuters upplösning, resten i 5-minuters.

                    Det roliga är att det går att handla riktigt snabbt i en konsolidering tex. Samtidigt så är det betydligt segare när kursen börjar sticka iväg åt nåt håll.

                    Lycka till

                    Comment


                    • #11
                      OBS!

                      Ovanstående script körs Daily!
                      HMS

                      Comment


                      • #12
                        Jo, som det står ovan, men tanken är att man kan plocka in det som ett filter i ett annat script tex. Och den adaptiva delen funkar bäst i 30-minuters upplösning.

                        Prova att lägga in den i dina ovanstående script, gör en koppling till adaptiv stoch som ett Extra object, kör den i 30 minuter, och valfritt i ditt eget script.

                        Comment


                        • #13
                          ADX()

                          ADX() finns på scriptgalleriet.

                          DX() finns som funktion i Friendly och ADX() är bara ett exponentiellt medel på den.

                          Comment


                          • #14
                            Tack Lasse och Rikard!
                            Där fick jag för min dyslexi. Hädanefter skall ajg skriva: så vitt JAG kan se.

                            HMS

                            Comment


                            • #15
                              Adaptiv stoch.

                              Är det här lika scripten tidigare eller är det något nytt och går det i så fall att översätta till AT ?

                              Jag hittade det på ett tyskt forum.

                              Here is the adaptive moving avegage for the P variable, to change this for a stochastic just replace the P with Stoch(5,3)

                              A:=P;
                              Periods := Input("Time Periods",1,1000, 10);
                              Direction := A - Ref(A,-periods);
                              Volatility := Sum(Abs(ROC(A,1,$)),periods);
                              ER := Abs(Direction/Volatility);
                              FastSC := 2/(2 + 1);
                              SlowSC := 2/(30 + 1);
                              SSC := ER * (FastSC - SlowSC) + SlowSC;
                              Constant := Pwr(SSC,2);
                              AMA := If(Cum(1) = periods +1, Ref(P,-1) + constant * (A - Ref(A,-1)),PREV + constant * (A - PREV));
                              AMA


                              TradeStation

                              Comment

                              Working...
                              X