Allmänt meddelande

Collapse
No announcement yet.

Winning Trading

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

  • #16
    Ursprungligen postat av A-Trader Visa inlägg
    Tjena. Tänkte testa winning trading modellen. Vad menas med "hela ticket måste gå klart för signal"? Undrar också vad "Macd trigger i köp/sälj på båda" betyder? Spelar det någon roll om Parabolic SAR slår in? Ibland när aktien är på väg upp, så kan väl Parabolic SAR slå in för att meddela att det är uppgång/nedgång på gång? Mvh
    Hej och välkommen till forumet!

    Hela ticket måste gå klart betyder att hela stapeln måste stänga. I princip kan man helt enkelt titta på vad föregående stapel slutade med för signal. På så vis slipper man många "falska" signaler.

    Macd-triggern måste vara sann både för 5-minutersupplösning och 15-minutersupplösning (eller vilka två upplösningar man väljer att köra i).

    Parabolic vet jag att vi provade att helt ta bort, det verkade inte göra varken till eller från, men det kan lika gärna varit parameterinställningarna för SAR som kunde varit bättre.

    Ursprungligen postat av A-Trader Visa inlägg
    Tjena Rikard! Har du kört med winning trading modellen något? Tänkte testa den och se hur lyckad den är. Mvh
    Har inte kört modellen alls faktiskt, men jag tittade en del på signalerna när vi hade den uppe sist på forumet. Helt klart ett bra utgångsmaterial att labba med.



    /Rikard

    Comment


    • #17
      Hej! Vi har fått en del frågor om Winning Trading och tänkte att det kan vara läge att fortsätta den här tråden. För tillfället har vi inte riktigt hundra information om hur modellen ser ut, vi vet att Vinnarbyrån har ändrat en del saker, men det hindrar inte att vi går vidare och tittar på den version vi har sedan tidigare i tråden. Vi har valt att titta på köpsignalen och därefter simulera den med en relativt enkelt flytande stoploss som kan optimeras med avseende på en absolut stoplossnivå samt en flytande nivå i procent.

      Köpscript med en enkel kodsnutt som kan fungera ungefär som "plankan" i The OnlineTrader:

      sl) Winning Trading köp

      index:=CmpRef(c,0,A)
      ema1:=Mov(c,5,e)
      ema2:=Mov(c,14,e)
      ema3:=Mov(index,5,e)
      ema4:=Mov(index,14,e)
      parabol:=Gt(c,SAR2(0.02,0.20,20))

      { instrument MACD }
      m1:=mov(c,12,e)
      m2:=mov(c,26,e)
      mcd1:=sub(m1,m2)
      mtrig1:=mov(mcd1,9,e)
      ok1:=Gt(mcd1,mtrig1)

      { index MACD }
      m3:=mov(index,12,e)
      m4:=mov(index,26,e)
      mcd2:=sub(m3,m4)
      mtrig2:=mov(mcd2,9,e)
      ok2:=Gt(mcd2,mtrig2)


      { Stängning }
      mt1:=mult(sub(market(c),frac(d)),1440)
      mt2:=ge(mt1,20)

      i5(
      köp1=And(And(Gt(ema1,ema2),parabol),ok1)
      köp2=And(Gt(ema3,ema4),ok2)
      köp3=And(And(köp1,köp2),mt2)
      köp4=And(köp3,Not(Aref(köp3,1)))
      Mult(köp4,5)
      )

      {@A(15,OMX Stock )}


      sl) Flytande stoploss för simulering

      index:=CmpRef(c,0,A)
      ema1:=Mov(c,5,e)
      ema2:=Mov(c,14,e)
      ema3:=Mov(index,5,e)
      ema4:=Mov(index,14,e)
      parabol:=Gt(c,SAR2(0.02,0.20,20))

      { instrument MACD }
      m1:=mov(c,12,e)
      m2:=mov(c,26,e)
      mcd1:=sub(m1,m2)
      mtrig1:=mov(mcd1,9,e)
      ok1:=Gt(mcd1,mtrig1)

      { index MACD }
      m3:=mov(index,12,e)
      m4:=mov(index,26,e)
      mcd2:=sub(m3,m4)
      mtrig2:=mov(mcd2,9,e)
      ok2:=Gt(mcd2,mtrig2)


      { Stängning }
      mt1:=mult(sub(market(c),frac(d)),1440)
      mt2:=ge(mt1,20)


      { Flytstoppvariabler }
      flytnivå:=0.994 {opt(0.994,0.998,0.002)}
      nödstopp:=4 {opt(1,5,1)}
      bakåt1:=480

      i5(
      köp1=And(And(Gt(ema1,ema2),parabol),ok1)
      köp2=And(Gt(ema3,ema4),ok2)
      köp3=And(And(köp1,köp2),mt2)
      köp4=And(köp3,Not(Aref(köp3,1)))

      { STOPLOSS }
      lasttradek=Retval(if(And(köp4,or(ge(getval(4),getval(3)),eqv(getval(4),0))),D,Getval(3)),3)
      efterinköp=if(ge(d,getval(3)),h,0)
      highlevelb=hhv(efterinköp,bakåt1)
      stoppok=gt(getval(3),getval(4))
      köppris=find(And(ge(d,getval(3)),lt(ref(d,1),getval(3))),bakåt1,c,1)
      nödexit=And(stoppok,Lt(l,Sub(köppris,nödstopp)))
      stoppkurva=mult(highlevelb,flytnivå)
      stoppsälj=and(stoppok,le(l,stoppkurva))
      lasttrades=Retval(if(And(Or(nödexit,stoppsälj),gt(getval(3),getval(4))),D,Getval(4)),4)
      draw(if(stoppok,stoppkurva,0),2,rqb)
      mult(or(nödexit,stoppsälj),25)
      )

      {@A(15,OMX Stock )}
      Attached Files

      Comment


      • #18
        Jag har börjat titta lite på scripten till WT stategin och kommer säkert att ställa lite dumma frågor ett tag, hoppas du orkar med mig

        Vi börjar med "plankan"

        { Plankan }
        s1:=Sum(Lt(l,Aref(l,1)),10)
        close:=Mov(c,3,s)
        k1:=Sum(Gt(h,Aref(h,1)),10)
        kdiff:=Sub(close,köp)
        sdiff:=Sub(sälj,close)
        köptryck1:=Gt(k1,s1)

        Var definierar vi dessa variabler ? köp & sälj

        Raderna "s1" & "k1" innehållande Aref skulle jag behöva få förklarade lite mer i detalj, jag förstår ungefär vad de gör, dock inte exakt hur och det stör mig.

        Mvh
        Rikard

        Comment


        • #19
          Oj det blev två postningar.... det är väl försent kan jag tro

          Mvh
          Rikard

          Comment


          • #20
            Häpp! Tack för tipset, det blev lite fel där med kod som "rycktes" ur sitt sammanhang och därför inte stämde riktigt. Winning Trading fungerar bättre utan plankan, jag har ändrat scripten längre upp i tråden.

            Comment


            • #21
              Det kanske är så att den funkar bättre utan "plankan", jag spar den snutten iallafall för jag gillar iden att kunna mäta köp respektive säljtrycket.

              De kanske tom. skulle vara intressant att vikta med en variblel för att ha ett visst förhållande mellan köp och säljtrycket innan man tar position. tex 60/40

              Mvh
              Rikard

              Comment


              • #22
                Jo, vi har tittat på det tidigare och försökt använda förhållandet mellan Close=Sell eller Close=Buy för att försöka bygga en generell indikator. Men det har varit svårt att hitta något klockrent samband, ibland sker nästan alla avslut på säljsidan av orderdjupet under en uppgång, och lite senare kan det bli precis tvärtom.

                Kodsnutten funkar inte som tänkt, den använder odefinierade variabler och räknar dessutom lite tokigt. Om du ändå vill prova köp- och säljtryck kan det här vara ett bättre utgångsläge:

                avslutpåsäljsidan:=Sum(Eqv(c,s),10)
                avslutpåköpsidan:=Sum(Eqv(c,b),10)

                Här summeras antalet perioder av de 10 senaste där c är lika med säljkurs eller köpkurs. Jämför man därefter båda värdena får man en indikator som kanske kan användas på något vettigt sätt. Ev kan man rita kurvor för båda värdena och se när de korsar varandra etc.

                Comment


                • #23
                  Dags för en uppdatering av Winning Trading-scripten efter ett par förfrågningar från kunder. Här är grundversionen, och det vore ju kul om vi kan vidareutveckla den och vässa prestanda lite. Backtest på tex ERIC-B ser inte sådär upphetsande ut i nuläget, så det behövs lite mer trix för att få modellen att gå plus. Det vi korrigerat nu är bla att varje 5-minutersstapel måste gå färdigt innan signal triggas. Det görs med Aref(köp5,1) längst ner.





                  index:=CmpRef(c,0,A)
                  ema1:=Mov(c,5,e)
                  ema2:=Mov(c,14,e)
                  ema3:=Mov(index,5,e)
                  ema4:=Mov(index,14,e)
                  parabol:=Gt(c,SAR2(0.02,0.20,20))

                  { instrument MACD }
                  m1:=mov(c,12,e)
                  m2:=mov(c,26,e)
                  mcd1:=sub(m1,m2)
                  mtrig1:=mov(mcd1,9,e)
                  ok1:=Gt(mcd1,mtrig1)

                  { index MACD }
                  m3:=mov(index,12,e)
                  m4:=mov(index,26,e)
                  mcd2:=sub(m3,m4)
                  mtrig2:=mov(mcd2,9,e)
                  ok2:=Gt(mcd2,mtrig2)


                  { Stängning }
                  mt1:=mult(sub(market(c),frac(d)),1440)
                  mt2:=ge(mt1,20)

                  i5(
                  köp1=And(And(Gt(ema1,ema2),parabol),ok1)
                  köp2=And(Gt(ema3,ema4),ok2)
                  köp3=And(And(köp1,köp2),mt2)
                  köp4=And(köp3,Not(Aref(köp3,1)))
                  köp5=and(aref(köp4,1),gt(h,aref(h,1)))
                  Mult(köp5,5)
                  )

                  {@A(15,OMX Stock )}




                  index:=CmpRef(c,0,A)
                  ema1:=Mov(c,5,e)
                  ema2:=Mov(c,14,e)
                  ema3:=Mov(index,5,e)
                  ema4:=Mov(index,14,e)
                  parabol:=lt(c,SAR2(0.02,0.20,20))

                  { instrument MACD }
                  m1:=mov(c,12,e)
                  m2:=mov(c,26,e)
                  mcd1:=sub(m1,m2)
                  mtrig1:=mov(mcd1,9,e)
                  ok1:=lt(mcd1,mtrig1)

                  { index MACD }
                  m3:=mov(index,12,e)
                  m4:=mov(index,26,e)
                  mcd2:=sub(m3,m4)
                  mtrig2:=mov(mcd2,9,e)
                  ok2:=lt(mcd2,mtrig2)


                  { Stängning }
                  mt1:=mult(sub(market(c),frac(d)),1440)
                  mt2:=ge(mt1,20)

                  i5(
                  sälj1=or(or(lt(ema1,ema2),parabol),ok1)
                  sälj2=or(lt(ema3,ema4),ok2)
                  sälj3=and(or(sälj1,sälj2),mt2)
                  sälj4=And(sälj3,Not(Aref(sälj3,1)))
                  sälj5=and(aref(sälj4,1),lt(l,aref(l,1)))
                  Mult(sälj5,5)
                  )

                  {@A(15,OMX Stock )}

                  Comment


                  • #24
                    Du skriver att det är svårt att gå plus med den varianten. Ligger inte ett stort fel i det att MACD o EMA används för att bekräfta varandra, dom svarar ju likadant på de frågor som ställs då bägge bygger på MA. Kanske prova byta ut
                    MACD mot en stoch eller RSI o se om det blir bättre,

                    Om jag vill använda stoch i två tidsupplösningar+kanske ngt mer som innehåller hhv eller llv, hur klarar jag då parantesdjupet?

                    stp1:=9
                    stck1:=sub(hhv(cmpref(h,0,A),stp1),llv(cmpref(l,0,A),stp1))
                    stck2:=sub(cmpref(c,0,A),llv(cmpref(l,0,A),stp1))
                    st60m:=div(mult(stck2,100),stck1)
                    st60slow=mov(st60m,5,s)
                    cd1=mov(st60slow,3,s)
                    xy6=and(or(gt(st60slow,cd1),gt(cd1,80)),gt(st60slow,20))
                    xy6


                    {@A(15,)}
                    Last edited by Hong Kong Ola; 2011-11-25, 08:48. Anledning: Följdfråga

                    Comment


                    • #25
                      sälj5=and(aref(sälj4,1),lt(l,aref(l,1)))

                      Det finns risk för look-ahead vid backtesting. l blir känt vid nästa aref. Nu är det bara 5 minuter, men värt att tänka på. Det ända sätter är nog att köra live och kolla.

                      Comment


                      • #26
                        Villkoren för entry är mer komplicerade än det som tidigare framgått i denna tråden.

                        Det är faktiskt en ganska komplicerad modell i sin helhet detta, jag åkte på en av Tobbe Rosens kurser för att lära mig strategin, den har fler parametrar som styr och vissa är lite luriga att programmera efter som de inte är exakt definierade. tex viss kurvlutning (roc kanske kan användas).

                        Ett annat villkor är att entry inte får göras i gamla signaler samt att de skall komma i viss ordning.

                        parabolic används inte till entry, bara till exit.

                        Vidare växlar strategin mellan daytrading och swingtrading beroende på andra indikatorer, om man byter till swing skall också upplösningen bytas, samt att vissa händelser (stapelformationer) åsidosätter alla andra signaler.

                        Jag har daytradat lite manuellt med hyfsat resultat, få signaler men ganska träffsäkra är min erfarenhet, men jag har inte programmerat dstrategin i sin helhet.

                        Om intresse finns skall jag försöka mig på formulera en kompakt och exaktare beskrivning av strategin, vore kul att se den i sin helhet faktiskt.

                        Mvh
                        Rikard B
                        Last edited by BRB_67; 2011-11-25, 22:38.

                        Comment


                        • #27
                          Det låter absolut intressant tycker jag! Vore kul att verkligen sätta strategin på prov om det är möjligt att programmera den så att vi kan backtesta.

                          Comment


                          • #28
                            Här kommer ett försök att beskriva Winning trading strategin som utlovat.

                            Jag har intresserat mig en hel del för den och gick en kurs i den samt köpte boken som Tobbe Rose´n skrivit för att lära mig. Strategin i sin helhet är lite mer komplex än det som tidigare skrivits i den här tråden men bör inte vara alltför besvärlig att scripta.

                            Börsklimatets villkor
                            WT analyserar OMXS30 indexet och ger en parameter som kallas ”börsklimatet”
                            Börsklimatet styr hela strategin och avgör om position får tas samt om det skall vara en day eller swing position.

                            Scripten för börsklimatet skall därför leverera dessa 5 olika signaler
                            • Long Swing
                            • Long Day
                            • Likvid
                            • Short Day
                            • Short Swing

                            Börsklimatet villkor för entry:
                            • OMXS30 15 min
                            • EMA5 & EMA14
                            • MACD 26-12-9
                            • Signallinjen i MACD måste luta (hur mycket specificeras ej)
                            • Skillnad mellan signal och MACD, dvs amplitud på histogrammet (hur mycket specificeras ej)
                            • Någon form av köp/sälj tryck indikator rekommenderas (Tobbe Rose´n kollar på ”plankan”)
                            • Fullbordad stapel

                            Börsklimatet villkor för exit:
                            • OMXS30 15 min
                            • Någon av entry-villkoren försvinner
                            • PSAR (0.02,0.20,20)
                            • EJ fullbordad stapel gäller

                            Börsklimatet villkor för Day/Swing:
                            • OMXS30 i dagsupplösning
                            • MA200
                            • MA100
                            • MA50
                            • MA20
                            • När alla MA pekar åt samma håll och är sorterade i rätt ordning med close på rätt sida om MA20 anses trenden vara tillräckligt stark för att tillåta övernattning av positionen.

                            Om Swingläge infinner sig skall upplösningen på börsklimatet ändras till 60 min.


                            Instrumentets villkor
                            Entry:
                            • Instrumentet 5 min
                            • Börsklimatet ok (Day/Swing)
                            • Börsklimatet ok får komma max 2 börsklimatsperioder (30 min) efter instrumentets signal. Annars anses signalen för gammal. (helst skall börsklimatet komma först)
                            • EMA5 & EMA14
                            • MACD 26-12-9
                            • Signallinjen i MACD måste luta (hur mycket specificeras ej)
                            • Skillnad mellan signal och MACD, dvs amplitud på histogrammet (hur mycket specificeras ej)
                            • Någon form av köp/sälj tryck indikator rekommenderas (Tobbe Rose´n kollar på ”plankan”)
                            • Fullbordad stapel gäller

                            Exit:
                            • Instrumentet 5 min
                            • Börsklimatet EJ ok
                            • Någon av entry-villkoren försvinner
                            • PSAR (0.02,0.20,20)
                            • EJ fullbordad stapel gäller
                            • Tider ( ej vid swing får man väl anta)

                            Om Swingläge infinner sig skall upplösningen på instrumentet ändras till 15 min.


                            Övrigt: (som i vissa fall kan vara svårt att programmera)

                            Tider för handel:
                            • Entry 15-60 minuter in på dagen beroende på GAP:ets storlek
                            (hur mycket specificeras ej men 2% nämns som mycket och bör bli en timme ungefär)
                            • Positioner stängs 14,25 innan viktig? USA statistik
                            • Positioner stängs 15.25 innan USA öppnar
                            • Positioner stängs 17.09 (pga statisik som visar att detta är mest lönsamt enl. Tobbe)

                            • Vidare rekommenderas att notera notera high / low första timmen och använda som breakoutnivåer för entry (förmodligen om börsklimatet är ok)

                            • Initial stoploss skall användas. (därav min iver med 2 stegs stoplossen jag tidigare skrev om, tänkte mig att sätta den initialt och sedan flytta upp den vid exitsignal och därefter låta den flyta med och alltid göra exit via stoppen)

                            • Entry i gammal signal
                            Om instrumentets signal blivit för gammal (2 börsklimatsperioder (30 min)) skall positon ändå tas om 2 speciella stapelformationer uppstår. ”Tretick” ev. också ”fyrtick” och ”femtick” samt ”Rag” som jag tror är en Tobbe Rose´n formation som han uppfunnit.
                            Jag kan skriva om dessa separat om det är intressant i senare skede.


                            Sammanfattningsvis kan man nog säga att det är en aningen diffus strategi vissa avseenden, tex det där med plana MACD linjer som man får en viss känsla för när man manuelltradar, men som kanske är lurigt att definiera i siffror. Dessutom kanske man inte kan stänga vid statistik om man automathandlar, kanske stoppen får räcka ?

                            Mvh
                            Rikard B
                            Last edited by BRB_67; 2011-11-28, 21:06.

                            Comment


                            • #29
                              Tar upp den här frågan igen, är det ngn som vet hur man kan mäta lutning i grader på en linje med ATAN alt LinReg?

                              Har ngn lyckats använda ATAN( p1 , p2 ) för att få fram lutning i grader på en linje. i så fall skulle man kunna använda det för att sätta upp krav på en lutning på signallinjen hos MACD. Alt är LINREG som skall ge riktningskoefficient.
                              Har inte provat i NAT men i AT lyckades jag bara använda dessa till att avgöra om lutningen var större eller mindre än x-axeln. Om ngn vet hur dessa funkar så borde det vara lätt att lösa.
                              Ev kan man i stället sätta upp ett intervall tex+- 0.025 och där nuvärde på signallinje minus förra värdet ska vara större än det uppsatta intervallet för att
                              räknas som lutning

                              Vet dock inte hur det fungerar med detta då man använder automatisk skalning. Kanske Rikard vet om det går att använda ett intervall med fast värde på automatisk skala.
                              Last edited by Hong Kong Ola; 2011-12-12, 08:55.

                              Comment


                              • #30
                                Undrar lite över det här!
                                Ursprungligen postat av Hong Kong Ola Visa inlägg
                                Tar upp den här frågan igen, är det ngn som vet hur man kan mäta lutning i grader på en linje med ATAN alt LinReg?

                                Har ngn lyckats använda ATAN( p1 , p2 ) för att få fram lutning i grader på en linje. i så fall skulle man kunna använda det för att sätta upp krav på en lutning på signallinjen hos MACD. Alt är LINREG som skall ge riktningskoefficient.
                                Har inte provat i NAT men i AT lyckades jag bara använda dessa till att avgöra om lutningen var större eller mindre än x-axeln. Om ngn vet hur dessa funkar så borde det vara lätt att lösa.
                                Ev kan man i stället sätta upp ett intervall tex+- 0.025 och där nuvärde på signallinje minus förra värdet ska vara större än det uppsatta intervallet för att
                                räknas som lutning

                                Vet dock inte hur det fungerar med detta då man använder automatisk skalning. Kanske Rikard vet om det går att använda ett intervall med fast värde på automatisk skala.

                                Comment

                                Working...
                                X