Allmänt meddelande

Collapse
No announcement yet.

Dual moving average crossover

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

  • Dual moving average crossover

    Hei !

    Jeg lurer på om noen av dere med god kunnskap til scripting kan hjelpe meg med en sak.

    Jeg ville gjerne hatt et script som kunne gi meg en alarm når 2 moving averages krysser hverandre.

    F.eks hvis en 5 dagers moving average krysser 10 dagers moving average så skal det gi kjøpssignal, og omvendt.

    Ville blitt veldig glad om noen kunne hjulpet meg med det

  • #2
    Hej! Välkommen till forumet!

    Är det simple moving average eller exponentiellt som du vill använda? Det är enkelt att ändra, men ett exempel nedan på exponentiella medelvärde:

    Köp:

    mv1=ema(c,5)
    mv2=ema(c,10)
    kors=cross(mv1,mv2)
    över=gt(mv1,mv2)
    köp=and(kors,över)
    mult(köp,10)



    Sälj:

    mv1=ema(c,5)
    mv2=ema(c,10)
    kors=cross(mv1,mv2)
    under=lt(mv1,mv2)
    sälj=and(kors,under)
    mult(sälj,10)



    Om man vill handla skarpt med det lägger man lämpligen till ett villkor som checkar om det finns innehav osv, man vill ju inte att köpscriptet ska handla om det redan finns innehav, och vice versa att säljscriptet bara får sälja om det finns något innehav att sälja:



    Köp:

    mv1=ema(c,5)
    mv2=ema(c,10)
    kors=cross(mv1,mv2)
    över=gt(mv1,mv2)
    ej_innehav=le(portfolio(v),0)
    köp=and(and(kors,över),ej_innehav)
    mult(köp,10)



    Sälj:

    mv1=ema(c,5)
    mv2=ema(c,10)
    kors=cross(mv1,mv2)
    under=lt(mv1,mv2)
    innehav=gt(portfolio(v),0)
    sälj=and(and(kors,under),innehav)
    mult(sälj,10)


    Comment


    • #3
      Hei og tusen takk for svar !

      Det var egentlig simple moving jeg tenkte på. Beklager at jeg ikke tenkte på å beskrive det bedre. Jeg forstår litt mer av logikken nå som du kom med dette eksempelet.

      Hvis jeg vil kjørae med simple moving average, hva bytter jeg ut 'ema' med? Kun ma eller sma?
      Hva står c'en for i ema(c,5) ?

      Comment


      • #4
        Inga problem, då byter man bara ema(c,5) till mov(c,5,s) vilket betyder Simple mode.

        C står för Close, dvs senast betalt.

        Comment


        • #5
          mov(c,10,s) {simple}
          mov(c,10,e) {exponetial alt. 1}
          ema(c,10) {exponetial alt. 2, nog mest vedertagen}

          c=Close kurs, dvs senaste kursen. C i medelvärden blir då senaste kursen i varje period som används.

          Comment


          • #6
            Takker så mye for hjelpen begge to !

            Comment


            • #7
              Et spørsmål til

              Denne gir meg nå en alarm så lenge jeg har autotrader oppe på pcen når handel er åpen. Hvis jeg ikke har vært logget inn på f.eks 1 uke, finnes det da noen måte å kjøre dette scriptet bakover i tid for å få alarmer som ikke har kommet tidligere mens programmet har vært avslått ?

              Comment


              • #8
                Jadå det går bra.

                1) Du hämtar hem de kurser som saknas via "Starta>underhåll databaser"

                2) Sedan kör du Analyzbänken. Den förutsätter emellertid att du har Pro-versionen av programmet.

                Comment


                • #9
                  Hej alla!
                  Är ny på detta och tänkte att dessa två scripten kunde vara bra att börja att försöka få igång och testa med.
                  Köpscriptet har jag lyckas med men får inte rätt på säljscriptet och tänkte höra om någon kunde hjälpa mig vidare med detta=)?

                  Så här ser det ut:

                  i5(
                  mv1=ema(c,9)
                  mv2=ema(c,26)
                  kors=cross(mv1,mv2)
                  under=lt(mv1,mv2)
                  innehav=gt(portfolio(v),0)
                  sälj1=and(and(kors,under),innehav)
                  draw(mult(sälj1,10),3,rsbf)
                  mult(sälj1,10)
                  )

                  {@A(5,OMX Stock )}




                  Med vänlig hälsning Daniel

                  Comment


                  • #10
                    Hej och välkommen!

                    Är det en aktie du vill handla eller index? Scriptet testar med C (senast betalt) hos det anslutna instrumentet, men jag ser att du har lagt dit ett extra objekt för OMX som inte används i scriptet.



                    PS. Såg att du ritar flaggor vid säljsignaler, men dessa kommer bara synas medan det finns innehav. Om det är sålt slocknar alla flaggor eftersom villkoret "innehav" ingår i det som Draw ritar. Vill man se flaggorna oavsett innehav får man rita exklusive innehavsvillkoret, tex:

                    Draw(mult(and(kors,under),10),3,rsbf)
                    Last edited by Rikard Autostock; 2018-08-20, 19:54.

                    Comment


                    • #11
                      Tack för hjälpen Nu fick jag fram flaggorna.
                      Tänkte handla index med det, testade och koppla dem igår mot OMXs men fick detta:

                      17:28 ORDER "sl) ema cross köp kort 5min OMXS30" kurs 1629.78
                      17:28 Zero volume - Order not sent
                      17:28 GSM larm sänt!

                      Har förmodligen gjort något galet när jag koppla dem så får felsöka lite idag
                      En liten fråga till som jag var osäker på, vill köpa bull/bear x15 ska jag då använda jag Etp paketet bull slave buy/sell?

                      Comment


                      • #12
                        Zero voluyme tyder på att antalscriptet försöker handla noll. Det i sin tur kan bero på att du valt ett som räknar ut antal baserat på köp/säljpris snarare än senast betalt. Bid/Ask existerar inte för ett index, så därför blir det noll.

                        Enklaste sättet att handla Bull/Bear är som du säger att ansluta ETP Link.

                        Comment


                        • #13
                          Inkluderas aktuell kurs som en period i MOV ?

                          Ursprungligen postat av Henric Visa inlägg
                          mov(c,10,s) {simple}
                          mov(c,10,e) {exponetial alt. 1}
                          ema(c,10) {exponetial alt. 2, nog mest vedertagen}

                          c=Close kurs, dvs senaste kursen. C i medelvärden blir då senaste kursen i varje period som används.
                          Hej alla!

                          Jag undrar om den aktuella kursen ingår i beräkningen av moving average vid dagsupplösning?

                          Ger scriptet mov(c,10,s) alltså snittet av aktuell kurs + 9 senaste dagsstängningarna eller returneras snittet av de 10 senaste dagsstängningarna utan hänsyn till aktuell kurs?

                          Har tidigare endast använt MOV för längre perioder men funderar på att jämföra aktuell kurs mot MOV med kortare dagsperioder och då kan det kanske få större betydelse.

                          Tacksam för all hjälp en novis kan få och önskar alla en bra dag!

                          Comment


                          • #14
                            Mov(c,10,s) inkluderar föregående 9 dagars close + dagens. Det innebär att under nuvarande dag fluktuerar medelvärdet med dagskursen(så länge man inte bara handlar vid stängning). Vi kortare medelvärde och högre volla får nuvarande dag större variationer.

                            Edit: aref(mov(c,10,s),1) ger gårdagens medelvärde och inga fluktueringar under dagen.
                            Last edited by Henric; 2021-10-20, 17:41.

                            Comment

                            Working...
                            X