Allmänt meddelande

Collapse
No announcement yet.

Swing Low (Hitta botten) strategi

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

  • Swing Low (Hitta botten) strategi

    Hej,
    Eftersom jag inte riktigt kommit in i detta script språket men har en strategi så tänkte jag att detta forum är en kul plats att bolla ide´r och få lite script hjälp kanske =)

    Det som jag tänk är följande:

    KÖP:
    * Hitta botten o bekräfta den med någon teknik i större rekyler och detta i en uppåtgående primärtrend (trendstyrka, trendriktning),
    även kolla mindre bottenformationer. (Aktien ska ha lämnat botten och är på väg uppåt. inte leta lägsta botten).

    * Glidande stoploss GLS 8% från högsta noterade kurs (daglig volatilitet, bra skydd vid trendvändning)

    * Köpa in sig i Aktien med 33% sedan öka med 33% om Aktien stiger över (3%) och resterande 33% över (6%).

    Tekniker:
    *1) MA200, MA100, MA50, MA30, Pris >5% över 12mån lägsta, Pris <25% över 12mån lägsta, 1mån pris > 3% (OMXS30 upp 2%), pris drop under (2) dagar.
    *2) (Pris ner 15%-30% på 15dagar och stänger över close dagen innan, close är över open, 2% stoploss)
    *3) 5, 13, 26, 50, 200 dag lägsta
    *4) Daglig RSI 39, min Bollinger (dag) -35, max Bollinger (daglig) 15

    SÄLJ:
    *Om Aktien skjunker 5% säljs 70% av och 30% behålls till GLS slår in 8%
    *Om vinst ges så kan 70% säljas av och behålla 30% tills stoploss triggas

    Återinvestering av intjänat kapital

    Kan detta vara något?
    //M
    Last edited by trexen; 2016-04-15, 12:47.

  • #2
    Försöker räkna ut om gårdagens högsta (H) är högre/större än förrgår och ligger den över 0.001 och 0.059

    {Om gårdagens top är högre än 2dags toppen}
    t1:=gt(aref(h,1),aref(h,2))

    Comment


    • #3
      Scriptspråket som används här är det unikt eller är det en standard som används i andra produkter oxå, finns det något namn på det?

      Klarar scriptmotorn av Excel, om man skriver massa kod i Excel och vill köra det som script här?
      Last edited by trexen; 2016-04-15, 09:51.

      Comment


      • #4
        Scriptstpråket liknar det som används i flera andra analysprogram, tex Metastock och Vikingen. Det är anpassat för börsanalys och en stor fördel är att det blir relativt lite kod för att få mycket jobb gjort.

        Excel har lite annan syntax, så det går inte att köra rakt av.

        Comment


        • #5
          Rikard: Ok, om jag hittar en kod som är skriven i Metastock så funkar det rakt av i AT eller från Vikingen, är det rätt uppfattat? "Om det är så så öppnar det upp för ett jätte community" =)
          //M

          Comment


          • #6
            Nja, inte rakt av men med endast små ändringar. Det som är avgörande är att språken är funktionsbaserade till skillnad från andra högnivåspråk. Där får man ett helt annat tänk.

            Comment


            • #7
              Någon som orkar hjälpa mig ang fråga #2 ?

              Sedan får jag inte riktigt kläm på hur perioder funkar, vad är en (1) period tex, beror det på vilken upplösning man använder tex i0 för realtid el i1 för 1min osv så om man använder i5 så om man säger 3 perioder i ett i5 så är det 15min, är det rätt uppfattat?

              Och om man vill titta på gårdagen?
              /M

              Comment


              • #8
                En period är längden i tid som bestäms av upplösning. Tex om du har ett script som arbetar i dagsupplösning, så är 1 period = 1 dag. Om scriptet arbetar i 15-minutersupplösning så är 1 period = 15 minuter. Precis som du skriver så blir då 3 perioder i ett i5-script = 15 minuter.

                Så ditt script ovan:

                gt(aref(h,1),aref(h,2))

                jämför gårdagens High med High i förrgår och returnerar sant om High igår var högre än High i förrgår, men bara om scriptet körs i dagsupplösning, dvs utan intradayprefix.

                Kör det i intraday-upplösning blir det förra periodens High som jämförs med förrförra periodens High.

                Nu är det ju ofta att man kanske vill göra andra analyser intraday men ändå kunna titta på gårdagens High osv. Då använder man enklast extra objekt, som i sig kan köras i dagsupplösning.

                Klicka på knappen Extra objekt i scripteditorn så kan du välja tex Anslutet instrument i EOD-upplösning. Då skapas en extra objekt-definition längst ned i scriptet. Du kan därefter läsa in data i EOD-upplösning med CMPREF().

                Tex:

                H_igår=cmpref(h,1,a)

                H_förrgår=cmpref(h,2,a)

                därefter är det enkelt att jämföra dessa två även i ett intradayscript:

                gt(H_igår,H_förrgår)

                som returnerar sant ifall High igår var högre än High i förrgår.

                Comment


                • #9
                  Rikard: tack för tipsen.

                  Har nu testat lite och får fram detta resultat



                  Jag slog på Analyz1 för grafen men jag är inte riktigt med på vad de horisontella strecken visar exakt.

                  Har du/någon tips på syntax jag bör använda för att ställa krav på att gårdagens (H) kurs ska ligga +0.1 till +0.6% över förrgårs (H) ?
                  //M

                  Comment


                  • #10
                    Lite syntaxfel i scriptet men det verkar funka ändå, du får blå streck när gårdagens High var högre än i High i förrgår.

                    Skalningen verkar vara 0-100, det är därför strecken knappt syns. Om du ändrar sista raden till:

                    mult(gt(H_igår,H_iförrgår),10)

                    så får markeringen 10% höjd.

                    Comment


                    • #11
                      Tack.
                      Syntaxfel, tänkte du på H_förrgår och H_"i"förrgår ?


                      Funderar på hur jag kan få till ett till villkor som jag skrev tidigare om att differansen mellan H i förrgår ska ligga + 0.1 till +0.6% om den ska gå vidare och köpa aktien,
                      Labba lite med nedan kod, osäker vad jag ska använda på syntax, tips?


                      H_förrgår=cmpref(h,2,a)
                      förrgårdif:=roc(H_förrgår,1,%)
                      igårdif:=roc(h,1,%)
                      (gt(igårdif,förrgårdif))


                      Trevllig helg alla =)
                      //M

                      Comment


                      • #12
                        Nja, jag tänkte på raden utan tilldelad minnesreferens mitt i koden.

                        Att mäta diffen och avgöra om den är "innanför" två värden kan man göra tex så här:

                        H_igår=cmpref(h,1,a)
                        diff_1dag=roc(H_igår,1,%)
                        högre=gt(diff_1dag,0.1)
                        lägre=lt(diff_1dag,0.6)
                        and(högre,lägre)

                        Comment


                        • #13
                          Har funderat lite i helgen men får inte till det riktigt.

                          Pratkod: om igår högsta(H) är högre än förrgår(H) med gt+0.1% lt+0.6% och om
                          öppning idag öppnades mellan gt+0.1% lt+0.6% =SANT



                          {BackInTrend v0.3}
                          {160424}
                          {Info}

                          {igår o förrgår}
                          gt(aref(h,1),aref(h,2))
                          H_igår=cmpref(h,1,a)
                          H_förrgår=cmpref(h,2,a)
                          mult(gt(H_igår,H_iförrgår),10)

                          högre=gt(diff_1dag,0.1)
                          lägre=lt(diff_1dag,0.6)
                          and(högre,lägre)


                          {öppning idag}
                          (i0

                          Kan jag använda Odepth(BS,VPC,A01234) för att beräkna om öppningen är mellan +0.1 och +0.6% ?
                          om det är sant KÖP X st el % avdepån
                          {Alltså om det öppnar uppåt}

                          )

                          {@A(0,)}

                          //M

                          Comment


                          • #14
                            Vet att det finns många med skarpa hjärnor på detta forum, ingen som känner sig manad att hjälpa till, en gratis strategi? =)
                            //M

                            Comment


                            • #15
                              Då ska vi se, bara ett litet förtydligande:

                              Öppning idag ska alltså vara mellan +0,1% och +0,6% jämfört med vad? Stängning igår?
                              I så fall:

                              högre01=gt(aref(h,1),mult(1.001,aref(h,2)))
                              lägre06=lt(aref(h,1),mult(1.006,aref(h,2)))
                              high_ok=and(högre01,högre06)

                              open01=gt(o,mult(1.001,aref(c,1)))
                              open06=lt(o,mult(1.006,aref(c,1)))
                              open_ok=and(open01,open06)

                              köp1=and(high_ok,open_ok)

                              Comment

                              Working...
                              X