Allmänt meddelande

Collapse
No announcement yet.

Köp- och blanksignaler

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

  • #31
    Ska titta lite närmare på det hela imorgon. Jag får lite konstiga signaler med ditt script. Det kommer tex blanksignaler under en hel uppgång.

    Fast visst fixar vi till nåt som är baserat på spik i bollingerband!

    Comment


    • #32
      Har inte riktigt hunnit sätta mig in i ditt script ännu, men jag lägger ut ytterligare en version av "avsluta blanknings"-scriptet ovan. Nu är det kompletterat med kort RSI, så att man inte stänger en blankning när RSI sjunker.

      Kom gärna med ideer så ska vi väl få ihop nåt bra till slut!


      sl) Forum stäng blankning

      {lastsell:=LastTrade(S,P)}
      lastsell:=687
      slowrsi1:=Mov(Mov(Rsi(4),15,e),5,s)
      kortMAupp:=Lt(HhvBars(Mov(c,4,s),2),1)
      rsiupp:=Lt(HhvBars(slowrsi1,2),1)
      profit:=Abs(Sub(lastsell,c))
      faktor1:=Add(Div(Mult(Mult(profit,profit),profit),6),8)
      i10(
      faktor2=If(Gt(faktor1,200),200,faktor1)
      rgln1=Mov(LinReg(c,faktor2:200),6,s)
      regupp1=Lt(HhvBars(rgln1,2),1)
      signal=And(rsiupp,And(regupp1,kortMAupp))
      )

      Comment


      • #33
        Sådär, jag har vässat scripten lite till, och försökt reducera antalet signaler men ändå se till att de hamnar rätt.
        Tror det blir ännu bättre med de här versionerna.


        sl) Forum OMX köp

        mp1:=div(sub(h,l),2)
        close:=add(l,mp1)
        rgln1:=LinReg(close,10)
        rgln2:=Mov(LinReg(c,100),6,s)
        rgln3:=LinReg(c,40)
        rgln4:=LinReg(close,200)
        regupp1:=Lt(HhvBars(rgln1,2),1)
        regupp2:=Lt(HhvBars(rgln2,2),1)
        regupp3:=Lt(HhvBars(rgln3,2),1)
        regupp4:=Lt(HhvBars(rgln4,2),1)
        kortMA1:=Mov(close,2,s)
        kortMA2:=Mov(close,5,s)
        kortMA3:=Mov(close,20,s)
        kortMAupp1:=Lt(HhvBars(kortMA1,2),1)
        kortMAupp2:=Lt(HhvBars(kortMA2,2),1)
        kortMAupp3:=Lt(HhvBars(kortMA3,2),1)
        slowrsi1:=Mov(Mov(Rsi(4),15,e),5,s)
        slowrsi2:=Mov(Mov(Rsi(40),15,e),5,s)
        stigRSI1:=Lt(HhvBars(slowrsi1,2),1)
        stigRSI2:=Lt(HhvBars(slowrsi2,2),1)
        exponerad:=Gt(Portfolio(v),0)
        oexponerad:=Ge(Portfolio(v),0)
        bband:=Add(BolBands(20,2.0,u),0.5)
        okband:=Not(Hhv(Gt(h,bband),1))
        mt1:=Mult(Sub(market(c),Frac(d)),1440)
        mt2:=Ge(mt1,22)
        tidnu:=Frac(DATE())
        klocka:=Frac(d)
        kl10:=0.425
        inpådagen:=gt(klocka,kl10)
        lowerband:=BolBands(20,2.0,l)
        spik:=Hhv(Lt(l,Sub(lowerband,0.8)),2)
        köpläge1:=Hhv(And(spik,Gt(c,lowerband)),4)
        totalt:=Mult(tidnu,1440)
        rest:=Mod(totalt,10)
        tidsignal:=Gt(rest,0) {ändra 9 till noll för att se signaler}
        i10(
        köpläge2=And(And(köpläge1,stigRSI1),Lt(slowrsi1,-20))
        lågRSI=And(And(And(Hhv(Lt(slowrsi2,-40),30),stigRSI1),regupp1),Gt(rgln1,rgln2))
        okrsi=And(Or(stigRSI1,Lt(slowrsi1,30)),And(And(Lt(slowrsi1,90),stigRSI2),Lt(slowrsi2,60)))
        köp1=And(And(regupp1,kortMAupp1),And(kortMAupp2,kortMAupp3))
        köp2=And(Or(lågRSI,And(Gt(rgln1,rgln4),regupp2)),And(regupp3,And(köp1,Gt(rgln1,rgln2))))
        köp3=And(Or(exponerad,And(okrsi,And(köp2,oexponerad))),tidsignal)
        köp4=And(And(And(okband,Or(köpläge2,köp3)),inpådagen),mt2)
        )


        sl) Forum OMX blanka

        mp1:=div(sub(h,l),2)
        close:=add(l,mp1)
        rgln1:=LinReg(close,10)
        rgln2:=Mov(LinReg(c,100),6,s)
        rgln3:=LinReg(c,40)
        rgln4:=LinReg(close,200)
        regner1:=Lt(LlvBars(rgln1,2),1)
        regner2:=Lt(LlvBars(rgln2,2),1)
        regner3:=Lt(LlvBars(rgln3,2),1)
        regner4:=Lt(LlvBars(rgln4,2),1)
        kortMA1:=Mov(close,2,s)
        kortMA2:=Mov(close,5,s)
        kortMA3:=Mov(close,20,s)
        kortMAner1:=Lt(LlvBars(kortMA1,2),1)
        kortMAner2:=Lt(LlvBars(kortMA2,2),1)
        kortMAner3:=Lt(LlvBars(kortMA3,2),1)
        slowrsi1:=Mov(Mov(Rsi(4),15,e),5,s)
        slowrsi2:=Mov(Mov(Rsi(40),15,e),5,s)
        fallRSI1:=Lt(LlvBars(slowrsi1,2),1)
        fallRSI2:=Lt(LlvBars(slowrsi2,2),1)
        exponerad:=Lt(Portfolio(v),0)
        oexponerad:=Le(Portfolio(v),0)
        bband:=Sub(BolBands(20,2.0,l),0.5)
        okband:=Not(Hhv(Lt(l,bband),1))
        mt1:=Mult(Sub(market(c),Frac(d)),1440)
        mt2:=Ge(mt1,22)
        tidnu:=Frac(DATE())
        klocka:=Frac(d)
        kl10:=0.425
        inpådagen:=gt(klocka,kl10)
        upperband:=BolBands(20,2.0,u)
        spik:=Hhv(Gt(h,Add(upperband,0.8)),2)
        blankläge1:=Hhv(And(spik,Lt(c,upperband)),4)
        totalt:=Mult(tidnu,1440)
        rest:=Mod(totalt,10)
        tidsignal:=Gt(rest,0) {ändra 9 till noll för att se signaler}
        i10(
        blankläge2=And(And(blankläge1,fallRSI1),Gt(slowrsi1,20))
        högRSI=And(And(And(Hhv(Gt(slowrsi2,40),40),fallRSI1),regner1),Lt(rgln1,rgln2))
        okrsi=And(Or(fallRSI1,Gt(slowrsi1,-30)),And(And(Gt(slowrsi1,-90),fallRSI2),Gt(slowrsi2,-60)))
        sälj1=And(And(regner1,kortMAner1),And(kortMAner2,kortMAner3))
        sälj2=And(Or(högRSI,And(Lt(rgln1,rgln4),regner2)),And(regner3,And(sälj1,Lt(rgln1,rgln2))))
        sälj3=And(Or(exponerad,And(okrsi,And(sälj2,oexponerad))),tidsignal)
        sälj4=And(And(Or(blankläge2,And(okband,sälj3)),inpådagen),mt2)
        )

        Comment


        • #34
          Hej Rikard och trevlig midsommar på dej!
          Nu täcker ditt skript ett fullt A4 (vi slutar väll inte före ett kolegieblock:=))
          Jag har skrivit många brev tills nu och det effektiva med det är att innan jag har hunnit skicka frågorna klarnar det av att jag sitter och skriver till dej.
          Ett par saker som jag inte funnit lösning på.
          Var har ”regner/upp4” tagit vägen?
          Jag ersatte regner3 på rad sälj2= med regner4
          Och får färre signaler men de missar mycket av nedgångar också.

          exponerad:=Gt(Portfolio(v),0)
          oexponerad:=Ge(Portfolio(v),0)
          Hur påverkar dessa rader dina skript?

          Nä, nu ska jag ut och ~bira midsommar

          //Ha det

          Comment


          • #35
            Tjena!
            Jo, regner/upp4 används inte för tillfället. Jag ersatte det med nya vanliga medelvärden.

            Funktionen med exponerad/oexponerad kan du egentligen koppla bort, de har med en specialgrej i mina avsluta-script att göra, som kollar att orderläggning och innehav stämmer.
            Det finns beskrivet för längesen på forumet om du gör en sökning på spinn-teknik eller bara spinn.


            I korthet går det ut på att avslutascripten känner om det INTE finns något innehav och stegar vidare i ordermodellen så att man hamnar i första sekvensen. Likadant så känner dessa köp- och blankscript om det FINNS ett innehav, då stegar man vidare till sekvens 9B.

            Då får man ett system som "kollar sig själv" och "reparerar" ev fel vid orderläggning etc.

            Trevlig midsommar! Nu väntar sill och snaps!


            Comment


            • #36
              Skepp Ohoj!
              Efter att försökt analysera dina senast skript är ”sl) forum OMX köp 06/25” en riktig hitt uppföljare. Jag tycker att varje signal är en förbättring. Köp/blanka skripten är ju en kopia av varan och jag har försökt mickla i motsvarande blanka skriptet för att få likartade bättre resultat men det är inte lätt. Jag tycker överlag att signalerna i blanka skripten kommer för sent medan de är grymt förutseende i OMX köp ”senaste”.
              Det är annars perfekt med färre signaler överlag
              Jag skulle vilja ha din åsikt om mina idéer som följer angående dina reglinjer
              rgln1:=LinReg(close,10) {grön}
              rgln2:=Mov(LinReg(c,100),6,s) {gul}
              rgln3:=LinReg(c,40) { röd}
              rgln4:=LinReg(close,200) {brun}
              Jag tycker mej se ett mönster över att ha en viss försiktighet i att köpa här.
              Attached Files

              Comment


              • #37
                Här kommer nästa bild
                Attached Files

                Comment


                • #38
                  Och sista
                  Attached Files

                  Comment


                  • #39
                    Snygga bilder måste jag säga!!

                    Det ser väl ut att stämma ganska bra det hela.
                    Kul att du hittar mönster bland kurvorna!

                    Det där med sena blanksignaler är intressant!
                    Om inte jag tabbat mig nånstans så ska köp- och blankscripten vara "symmetriska", så om köpsignalerna tenderar att komma rätt medans blanksignalerna tenderar att ligga något sent så måste det alltså bero på att marknaden inte uppför sig symmetriskt! I så fall får vi helt enkelt ta till möjligheten att ändra lite i blankscriptet så att det släpper sina signaler enligt lite annorlunda kriterier.

                    Vi har ju alla tänkbara möjligheter!

                    Glömde att förtydliga det där med exponerad/oexponerad fullt ut.
                    Den viktigaste funktionen är egentligen att spärra motsatta triggerscriptet om det finns ett innehav.
                    Alltså: om jag ligger l¨ång, så vill jag ju inte att ordermodellen för blankning helt plötsligt går in och blankar.
                    Jag vill först att avsluta scriptet i köpmodellen stänger positionen, sen är det fritt fram för vilken som helst av ordermodellerna att ta en ny position.

                    Comment


                    • #40
                      Rikard, jag har testat att kopiera in scripten som de ser ut, dessvärre blir det sälj hela tiden, både när sälj+köp är anslutet.
                      Är något fel i köp-scriptet?
                      Attached Files

                      Comment


                      • #41
                        Det är nog inget fel, mer än att man får koppla bort funktionen "exponerad".

                        Du har ett blankinnehav just nu va? Det gör att blankscriptet signalerar för att stega igenom ordermodellen till avslutascriptet.

                        Sätt "exponerad:=0" så slutar scriptet spinna.

                        Samma funktion blockerar signalerna från köp-scriptet.
                        Medans ett blankinnehav existerar vill man ju inte ha signaler från den andra ordermodellen som köper, utan de blockeras under tiden.
                        Vill du ändå se signalerna så sätt: "oexponerad:=1" i köpscriptet.

                        Comment


                        • #42
                          Ok, nu fungerar det bättre.

                          På omx4f skulle det gett ca 30kr på 12 affärer, bra.
                          Det blir lite extra sälj-signaler vid uppgång ex 4/6 när 200+300 perioders linreg korsar varandra, men det går ju att trimma bort, se bild.
                          Attached Files

                          Comment


                          • #43
                            Tänk på att det egentligen inte säger så mycket om man använder det motsatta triggerscriptet för att avsluta en affär vid backtestning.
                            Tanken är ju att man ska ha separata script till det.
                            Detta är bara "entry-signaler" och inget annat.

                            Det gör oxå att de "extra" blanksignalerna som du nämnde inte "gäller" eftersom man troligen ligger lång hela tiden under en lång uppgång, i alla fall om man använder tekniken med variabel reglinje, beskriven ovan i "Forum stäng blankning".

                            Dessutom är det lätt att ändra i villkoret "blankläge" så att de där signalerna försvinner.

                            Jag har inte publicerat motsvarande script för att stänga en lång position, men det kan jag fixa imorgon om jag hinner.

                            Kanske är dags att göra det i en ny tråd?

                            Comment

                            Working...
                            X