Allmänt meddelande

Collapse
No announcement yet.

Huvudbry

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

  • Huvudbry

    Hallå,

    Satt och testade ett marknadsfilter på OMX som utgår från EMA, Macd (ala Tobbe R). Se kod nedan. Köper när båda visar köp EMA (5) över EMA (14) och Macd korsar uppåt (i60). Testkörde för december vilket fungerar bra fram till den 29 dec då jag får två obegripliga signaler kl 15.00 och sedan 11.00 den 30 dec. Egentligen skulle signalen komma kl 10.00 den 29 dec. Se bifogad pdf.

    Säkert SBS men var kan felet vara månne??

    Stort tack på förhand!


    ma1:=Aref(Ema(c,5),1)
    ma2:=Aref(Ema(c,14),1)
    ma3:=Aref(Macd(N),1)
    ma4:=Aref(Macd(T),1)


    uppåt1:=Gt(ma1,ma2)
    uppåt2:=Gt(ma3,ma4)

    ejinnehav=Lt(Portfolio(V),1)

    i60(
    uppåt3=And(uppåt1,uppåt2)
    köp=And(uppåt3,ejinnehav)

    draw(ma1,3,dgqb)

    Mult(köp,10)
    )
    Last edited by Nungwe; 2017-10-16, 18:17.

  • #2
    Hej!

    Du har en minnesreferens utanför intradayprefixet, det kan nog ställa till det:

    Jag skulle lägga alla villkoren innanför intradayprefixet som tumregel så undviker man problem. Det enda som egentligen måste ligga utanför prefixet är tilldelade numeriska värden, tex värde:=10


    Så lite omskrivet:

    i60(
    ma1=Aref(Ema(c,5),1)
    ma2=Aref(Ema(c,14),1)
    ma3=Aref(Macd(N),1)
    ma4=Aref(Macd(T),1)

    uppåt1=Gt(ma1,ma2)
    uppåt2=Gt(ma3,ma4)

    ejinnehav=Lt(Portfolio(V),1)

    uppåt3=And(uppåt1,uppåt2)
    köp=And(uppåt3,ejinnehav)
    draw(ma1,3,dgqb)

    Mult(köp,10)
    )

    Comment


    • #3
      Tack för tipset. Tyvärr får jag samma resultat??

      Comment


      • #4
        Jag har inte kört och kollat. Däremot skriver du ".....och Macd korsar uppåt (i60)."
        Det innebär att macd ligger över triggerkurvan och behöver inte korsa.
        macd(b) visar när macd korsar uppåt.
        Kanske inte beskriver ditt problem, men värt att tänka på.

        Comment


        • #5
          Tack för tipset. Provade precis även med "b" parametern vilket gav samma resultat.

          Det är konsekvent i alla fall.

          När jag använder draw kommandot i scriptet så får jag (av någon anledning) inte ut några linjer i diagrammet så jag lägger helt enkelt in linjerna sedan. Det vore nog bättre att se linjerna som scriptet ritar för att felsöka. Finns det några tips här?

          Tack på förhand.

          Comment


          • #6
            Diagrammet ritar redan aref(x,1). Dvs i slutet av stapeln och behövs således inte.
            Eftersom att diagrammet inte handlar kan inte portfolio(v) användas.
            Kör man skarpt eller simulering fungerar aref(x,1) och portfolio(v).

            i60(
            ma1=Ema(c,5)
            ma2=Ema(c,14)

            uppåt1=Gt(ma1,ma2)
            uppåt2=macd(b)

            ejinnehav=and(1,1)

            uppåt3=And(uppåt1,uppåt2)
            köp=And(uppåt3,ejinnehav)

            draw(mult(uppåt1,10),3,ysbF)
            draw(mult(uppåt2,7),4,wsbF)
            draw(mult(köp,5),5,gsbF)
            and(0,0)
            )

            Comment


            • #7
              Vet inte riktigt om jag hänger med men...jag kör i analysbänken. Köp och sälj signal ritas (ex Mult(sälj,10)) men inte linjerna (Draw(ma1,2,dgqb)
              Draw(ma2,3,yqb).)

              Har nu provat att köra var för sig dvs först bara EMA vilkoret och sedan bara Macd. EMA funkar men felet uppstår när jag använder Macd??? vid samma tidpunkter som tidigare.
              Last edited by Nungwe; 2017-10-16, 18:17.

              Comment


              • #8
                Ah, simulering. Jag kan köra ikväll. Vad har du för exit/short-script?

                Comment


                • #9
                  Gjorde även om Macd utifrån medelvärde och fick samma fel.Se script nedan. Stort tack på förhand.



                  i60(
                  m1=Aref(mov(c,12,e),1)
                  m2=Aref(mov(c,26,e),1)
                  mcd1=sub(m1,m2)
                  mtrig1=mov(mcd1,9,e)
                  ok1=Gt(mcd1,mtrig1)


                  ejinnehav=Lt(Portfolio(V),1)


                  köp=And(ok1,ejinnehav)

                  Mult(köp,10)
                  )


                  i60(
                  m1=mov(c,12,e)
                  m2=mov(c,26,e)
                  mcd1=sub(m1,m2)
                  mtrig1=mov(mcd1,9,e)
                  sälj=Lt(mcd1,mtrig1)

                  Mult(sälj,10)
                  )

                  Comment


                  • #10
                    Det beror nog på vilken MACD du använder. Simple eller Exponentiell.
                    Kolla upp MACD resp MACD2 i scriptreferensen.

                    Comment


                    • #11
                      Använde Macd (inte Macd2).

                      Comment


                      • #12
                        Testade precis med macd2 och då funkar det. Mao så linjen som ritas mha ritverkyget för Macd2 och inte Macd

                        Ett par fundering kvar då.

                        1. Jag använde draw kommandot men fick inte ut några linjer i diagrammet vilket borde underlättat från början. (Hade med dessa i scriptet från början men då jag inte såg några linjer så tog jag bort dom). Hur får jag det att fungera?

                        2. Hur skriver jag koden för MACD2 (dvs ungefär som för MACD i ovanstående inlägg). Jag tänker nämligen importera extraobjekt frö omxdata och då måste jag göra beräkningen själv misstänker jag.

                        Stort tack på förhand.

                        Comment


                        • #13
                          Jag vet ej hur ritning av villkor i "Visa result i diagram" fungerar. Jag själv använder extrakolumner när jag vill titta på villkor i simuleringar.

                          Ändra medelvärdesberäkningarna till ema istället för mov.

                          Comment


                          • #14
                            Ursprungligen postat av Nungwe Visa inlägg
                            Testade precis med macd2 och då funkar det. Mao så linjen som ritas mha ritverkyget för Macd2 och inte Macd

                            Ett par fundering kvar då.

                            1. Jag använde draw kommandot men fick inte ut några linjer i diagrammet vilket borde underlättat från början. (Hade med dessa i scriptet från början men då jag inte såg några linjer så tog jag bort dom). Hur får jag det att fungera?

                            2. Hur skriver jag koden för MACD2 (dvs ungefär som för MACD i ovanstående inlägg). Jag tänker nämligen importera extraobjekt frö omxdata och då måste jag göra beräkningen själv misstänker jag.

                            Stort tack på förhand.
                            1. Jag ritade lite villkor i diagrammet. Sedan körde jag en simulering och ritningen följer med i "resultdiagrammet". Någon med mer erfarenhet med detta kan hjälpa ytterligare.

                            Comment


                            • #15
                              Tack för svaren!

                              Comment

                              Working...
                              X