Allmänt meddelande

Collapse
No announcement yet.

Torstens flytande stop-loss

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

  • Torstens flytande stop-loss

    Tack vare Torsten har vi ju fått en fin flytande stopp. som dessutom är elastisk, dvs den tolererar ett eller annat avslut under stoppkursen innan den löser. På så vis slipper man ju problemet att den tjuvlöser bara för att en enstaka aktör drar iväg ett stort lass aktier och sänker kursen några sekunder.
    Mycket bra!

    Men, idag tex, löste faktiskt stoppen mitt i uppgången I EricB. Nuvarande version ser ut så här:

    flytnivå:=0.98
    {dvs 2 % ner från högsta}
    bakåt1:=300
    start:=if(ge(d,LastTrade(b,d)),h,0)
    max:=hhv(start,bakåt1)
    gräns:=mult(max,flytnivå)
    medv:=mov(C,3,s)
    {elastisk stopp 3 perioder}
    steg1:=LE(medv,gräns)
    {signaler bara vid innehav}
    innehav:=GT(portfolio(V),0)
    bevlinj:=Mult(innehav,steg1)
    ag11:=Rsi(14)
    ag12:=Lt(ag11,-35)
    ag13:=Hhv(ag12,3)
    ag21:=Lt(LlvBars(Mov(C,30,s),2),1)
    ag23:=Hhv(ag21,2)
    ag31:=BolBands(25,1.7,x)
    ag33:=Hhv(ag31,25)
    del1:=And(ag13,And(ag21,ag33))
    del2:=AND(del1,ag33)
    säljsignal:=OR(del2,bevlinj)
    mt1:=mult(sub(market(c),frac(d)),1440)
    mt2:=le(mt1,23)
    {tid från stängning i minuter}
    sälj:=OR(mt2,säljsignal)
    i10(sälj)

    Kl 14:53 fick jag en säljsignal på 7:60, dagens högsta vid den tidpunkten. Ändå löste stoppen. Jag vet att det var stoppdelen i scriptet som löste eftersom inga röda streck fanns kvar när jag kom hem.
    Vad kan det bero på? Visst har jag satt stoppgränsen snävt med bara 2%, men det ska ju inte lösa när man befinner sig på dagshögsta!
    Gissar att det har nånting med det korta glidande medelvärdet att göra. Ska prova att göra det kortare eller längre.
    Samma sak hände senare kl 16:40 på 8 kr jämt.
    Oxå på dagshögsta!

    Ingen större skada skedd, det blev ju vinst båda gångerna idag..

    Men visst är det lite märkligt.

  • #2
    Nejdå, det är riktigt att stoppen löser ut.

    Se bifogad bild.


    Boven i dramat är den uppslöade brytkursen på 3 perioder. Som du ser så hänger den kvar vid hastigt ökande stoppnivå som här.

    Så det är testnivån som ökar hastigt, och inte genombrott av kursen genom nivån.

    Så den konstruktionen är inte så lyckad.

    Du måste försäkra dig att du korsar nivån uppifrån om du vill slöa upp löpande kursen.
    Attached Files

    Comment


    • #3
      ... men Rikard

      har du missat det här med "extra kontroll script"?

      Jag tycker att det är bra att du tar upp det här exemplet. Med mina bifogade bilder ska jag försöka beskriva vad som händer. Precis som Lasse påpekar är det den snabba kursökningen i ERIC som gör att kurvorna tillfälligtvis hamnar på fel sida om varandra, se figuren.

      Som jag ser finns det åtminstone två sätt att komma runt problemet.

      1. Använda funktionen "extra kontrollscript" i ordermodellen

      xk) agera inte om kort medelvärde är stigande

      period:=3
      stigande:=Lt(HhvBars(Mov(C,period,s),2),1)
      i10(not(stigande))

      2. eller att byta ut "h" som anger högsta värde inom perioden mot ex vis ett kort medelv.

      start:=if(ge(d,LastTrade(b,d)),h,0)

      mot förslagsvis

      kortMA:=MOV(C,3,s)
      start:=if(ge(d,LastTrade(b,d)),kortMA,0)

      OBS, ej testat

      Själv väljer jag alternativ 1. Som ni ser på bilden börjar inte det korta medelvärdet (svart kurva) att vara fallande förrän långt fram på eftermiddagen.

      Lycka till
      Attached Files

      Comment


      • #4
        en extra bild till förra inlägget.

        . (inte mycket, men något krävs tydligen för att få sända en bild)
        Attached Files

        Comment


        • #5
          Agera inte om kort MV är stigande/fallande

          eller varför inte använda nedanstående enkla kontrollscript?

          xk) Agera inte om x perioders medelvärde fallande

          mnu:=mov(c,x,s)
          mdå:=mov(ref(c,1),x,s)
          not(lt(mnu,mdå))
          HMS

          Comment


          • #6
            Som kontrollscript tycker jag inte det är en bra idé.

            Flytande stoppen är ju endast 1 av 3 olika delar som agerar oberoende av varandra.

            Ett kontrollscript som spärrar då kort medel är stigande kommer ju då att förhindra order.

            Så glöm inte helheten.

            T.ex så säljer man ju inte av innehavet i slutet av dagen om kort medel är i stigande. Det är ju inte avsikten.

            Comment


            • #7
              Sådär! Då tror jag att det ska funka, jag väljer Torstens alternativ med glidande "h". Det borde bli ungefär så här. Har även kortat ner till 2 perioders glidande "elasticitet". När jag såg Lasse´s förklaring ovan så tyckte jag det såg för "slött" ut med 3 perioder.
              Ska bli spännande att se hur det funkar nästa vecka! '

              flytnivå:=0.98
              {dvs 2 % ner från högsta}
              bakåt1:=300
              kortMA:=MOV(C,2,s)
              {elastisk topp 2 perioder}
              start:=if(ge(d,LastTrade(b,d)),kortMA,0)
              max:=hhv(start,bakåt1)
              gräns:=mult(max,flytnivå)
              medv:=mov(C,2,s)
              {elastisk stopp 2 perioder}
              steg1:=LE(medv,gräns)
              {signaler bara vid innehav}
              innehav:=GT(portfolio(V),0)
              bevlinj:=Mult(innehav,steg1)
              ag11:=Rsi(14)
              ag12:=Lt(ag11,-35)
              ag13:=Hhv(ag12,3)
              ag21:=Lt(LlvBars(Mov(C,30,s),2),1)
              ag23:=Hhv(ag21,2)
              ag31:=BolBands(25,1.7,x)
              ag33:=Hhv(ag31,25)
              del1:=And(ag13,And(ag21,ag33))
              del2:=AND(del1,ag33)
              säljsignal:=OR(del2,bevlinj)
              mt1:=mult(sub(market(c),frac(d)),1440)
              mt2:=le(mt1,23)
              {tid från stängning i minuter}
              sälj:=OR(mt2,säljsignal)
              i10(sälj)

              Ähum, det här börjar bli ett lååångt säljscript.
              Ev ännu längre framöver, jag har planer på att bara sälja kl 17:10 om ett långt glidande är nedåtriktat. (100-200 perioder eller likn)

              Då kan man ta tillvara flera dagars stabil uppgång på ett bättre sätt. Men man tar hem vinsten varje kväll om det är långsiktigt ner. Får se. Ska få detta att funka först! KUL!

              Comment


              • #8
                Varför vänta tills i morgon med det som vi kan göra idag?

                Hej Rikard

                Jag har labbat lite med ditt script.

                När man väljer att låta den flytande stop lossen vara beroende av ett kort medelvärde tycker jag att 2 % ger för stort spelrum. I den bifogade bilden ligger bevakn linjen 1 % under medelv kurvan.

                Jag har också kompletterat "dagsslut" med att kolla mot ett långt medelvärde, 100 perioder. Bara när det långa medelv. är fallande skapas en säljsignal vid dagens slut.

                Håll till godo med scriptet.


                flytnivå:=0.99
                {dvs 1 % ner från högsta medelv punkt}
                bakåt1:=300
                kortMA:=MOV(C,2,s)
                {elastisk topp 2 perioder}
                start:=if(ge(d,LastTrade(b,d)),kortMA,0)
                max:=hhv(start,bakåt1)
                gräns:=mult(max,flytnivå)
                medv:=mov(C,2,s)
                {elastisk stopp 2 perioder}
                steg1:=LE(medv,gräns)
                {signaler bara vid innehav}
                innehav:=GT(portfolio(V),0)
                bevlinj:=Mult(innehav,steg1)
                ag11:=Rsi(14)
                ag12:=Lt(ag11,-35)
                ag13:=Hhv(ag12,3)
                ag21:=Lt(LlvBars(Mov(C,30,s),2),1)
                ag23:=Hhv(ag21,2)
                ag31:=BolBands(25,1.7,x)
                ag33:=Hhv(ag31,25)
                del1:=And(ag13,And(ag21,ag33))
                del2:=AND(del1,ag33)
                säljsignal:=OR(del2,bevlinj)
                mt1:=mult(sub(market(c),frac(d)),1440)
                mt2:=le(mt1,23)
                {tid från stängning i minuter}
                långtMAnu:=MOV(C,100,s)
                långtMAdå:=MOV(ref(C,1),100,s)
                nedåt:=LT(långtMAnu,långtMAdå)
                slutpådag:=AND(nedåt,mt2)
                sälj:=OR(slutpådag,säljsignal)
                i10(sälj)



                ...och
                lycka till!
                Attached Files

                Comment


                • #9
                  Ojojoj Torsten! Måste säga att jag är imponerad! Snacka om flitigt labbande! Intressant det där med att 2% är för stort. har du backtestat med 1%? Och verkar 100 perioder vara lagom att mäta fleradagars upptrend på? Härligt jobbat!
                  Kanske tom kan plocka bort den delen som säljer efter studs i övre bollingerbandet följt av lågt Rsi samt vikande glid.
                  Ser ju inte ut som om den behövs längre!
                  men jag ska prova som det är några dagar och se hur det funkar.

                  Tack än en gång!

                  Comment


                  • #10
                    Gör icke i dag vad din moder kan göra i morgon

                    Torsten!

                    Ser bra ut men den i latin fåkunnige har svårt att analysera meningarna när scripten blir komplicerade.

                    Måhända har Rikard rätt i att taga bort RSI och BB-villkoren.
                    Ju enklare ju simplare sa salig Dumbomm.

                    Varför har du valt just dessa parametrar i BB- villkoren?
                    HMS

                    Comment


                    • #11
                      Jo, för att i scriptens begynnelse, när dimman låg tät, visade det sig att om staplarna släpper övre bandet, Rsi sjunker, och glidande medelvärde börjar vika, så är det nästan alltid läge att sälja det man har.
                      Det fungerade faktiskt ganska bra, men kunde klicka nån gång eftersom inte kursen alltid punkterade övre bandet innan den vände ned. Därför flytande stopp. Och nu när den börjar bli så bra som man kan önska så kan man ju ifrågasätta vitsen med resten av scriptet!
                      Kan faktiskt knappt komma på en enda situation när Rsi-delen skulle göra nån större nytta. Det skulle vara i samband med en taskig kvartalsrapport occ kursen störtdyker fortare än den "uppmjukade" stoppen hinner tänka....
                      Men då förutsätter det ju samtidigt att glidande medelvärdet i Rsi-delen redan vänt ner.
                      Ska prova lite i veckan, sen åker nog faktiskt den delen bort!

                      Comment


                      • #12
                        Backtesting eller ej...

                        Nej Rikard,

                        jag har inte optimerat värdena 1 % resp periodlängd om 100. Möjligen skulle jag kunna tänka mig 1 % är lite snävt, 1,5 % är kanske bättre?

                        Det blir spännande att se hur det fungerar under den kommande veckan.

                        Till Hans:
                        Vilken del av Rikards script tycker du mest påminner om latin?
                        Fråga bara - kanske vi kan reda ut det tillsammans eller med hjälp av någon annan i gruppen.

                        Comment


                        • #13
                          Hur gör man

                          Jag förstår inte ett dugg av det här med skript,hur gör man?

                          Jag kopierade in Torstens Skript men det blev bara en streck på slutet i mitt Eric B I-Day ?

                          Har även testat en del andra Skript här på Forumet och i Programmet men det verkar ju inte vara något som man kan tjäna pengar på eller så gör jag något fel.

                          Comment


                          • #14
                            Grundtips!

                            Gör syntaxtesten efter inklistring för att se om det blivit som det kan bli via webläsaren, att raderna bryts annorlunda.

                            Comment


                            • #15
                              Jag gissar att den delen som mest liknar latin är den som jag ändå kanske tar bort. Den är ju framtagen i Assistenten mestadels och jag brydde mig inte om att ändra namn på alla variablerna så att det blev tydligt.

                              En annan sak Torsten, 1% kanske är svävt, men när jag tittade på din bifogade bild så tyckte jag det såg vettigt ut.
                              Fråga: Vad händer om man ändrar så att bevakningslinjen blir ett glidande medelvärde av flytnivån? Då kanske man kan köra med 2% diff.

                              Comment

                              Working...
                              X