Allmänt meddelande

Collapse
No announcement yet.

Att gå i elefanternas fotspår.

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

  • Att gå i elefanternas fotspår.

    Hej,

    Likt rubriken lyder så är ämnet lite flummigt men vill ändå tro jag är något på spåren.
    Jag har tidigare försökt få ihop några breakout-strategier som efter ett tag på testkonto fallerat totalt.
    Drog mig tillbaka till snickarbordet och började fila på en ny ritning med tänket som rubriken lyder - "Jag måste gå i elefanternas fotspår"

    Tanken är att man ska kunna hänga med i svängarna för dom som styr kursen, vet inte om det blir foliehatts-varning på mig nu men jag vill tro att alla robotar som styr tex index är mycket väl medvetna om hur gemen man lärt sig teknisk analys och vänder det emot oss.

    Ett utbrott blir ofta falskt när det ser som mest lovande ut, en omslagsformation bakas ihop till en riktig ful fälla som man ser till att ta ut när man minst anar det.

    SÅ! Jag har försökt att tänka lite utanför boxen, vad är det för tidiga "ledtrådar/spår" elefanterna lämnar efter sig innan dom försöker ruska av oss innan vidare upp/nedgång.
    Jag valt att använda mig av ichimoku som grund, men tanken bör vara den samma oavsett.
    Konkret då så har jag valt att dela upp det i följande kategorier och villkor:
    • Grundkriterier:

      - Tenkan är över Kinjun

      - Close är högre än Span A eller b

      - MA-20 är stigande

      - MACD signal linje lutar uppåt


    Nu har elefanterna onekligen lämnat spår i grafen som säger att man börjat trycka upp kursen.
    Här ifrån väljer jag att dra en sk referenspunkt dvs inte specificera för specifikt vad roboten en ska leta, vi ska bara hänga på än så länge.
    • Referenspunkter:

      - Kursen har gjort en till fem nya högre högsta


    Nu borde kursen gjort någon typ av breakout i en stigande trend men vi hänger bara på för att undvika falskt utbrott! Vi förutsätter att det falska utbrottet kommer att ske genom att kursen bryter upp och elefanterna svänger kraftig i samma sekund för att skaka av sig alla småfiskar.

    Nu till nästa kategori!
    Från den tidigare referenspunkten har vi förutsett att kursen kommer falla från ett falskt utbrott, men hur långt då? Inget vet, därför beskriver vi nu ett generaliseringsområde, vi släpper bara en sten från referenspunkten och låter den falla genom ett området.
    • Generaliseringsområde:

      - Kursen gör en till fem lägre lägsta


    Stenen faller nu genom ovan beskrivet område handlöst och ospecificerat TILLS vi når en ny referenspunkt!
    • Referenspunkter:

      - KURSEN HAR CLOSE UNDER TENKAN, KINJUN ELLER MA-20


    Nu förutsätter vi att stenen har träffat botten i brunnen och vi har satt en ny referenspunkt att navigera oss vidare ifrån!

    Vi vet dock inte om stenen krossats av fallet likt hur ovan nämnda medelvärden lika gärna kan komma att skäras rätt igenom ELLER om stenen faktiskt slog i botten och med kraft studsar upp igen.

    Vi försöker ta reda på vilket det blir med NYA Grundkriterier!
    • NYA Grundkriterier:

      - FÖREGÅENDE STAPEL ÄR I UNGEFÄR SAMMA STORLEK SOM NUVARANDE

      - INOM DE TVÅ OVAN PERIODERNA HAR VI HAFT EN LOW UNDER TENKAN TILL EN CLOSE ÖVER TENKAN

      - KURSEN BEFINNER SIG OVAN MOLNET

      - LAGOM AVSTÅND FRÅN OPEN TILL MA-20

      - TENKAN OVAN KINJUN

      - LAGOM AVSTÅND MELLAN TENKAN OCH KINJUN

      - KURSSTAPELN ÄR BLÅ I 10-MIN (En tidsupplösning högre)



    Ovan nämnda villkor beskriver en sten som sannolikt har klarat fallet och studsar upp igen.
    Om man försöker se från början så har vi följt med i en A, B och C våg där vi vid A kunde se fotspåren, från B hade vi fått ett utbrott och följde med genom generaliseringsområdet till nuvarande nivå där våg C bör ta fart.

    Trenden borde alltså fortfarande vara stigande och vi befinner oss som sagt i början av våg C för vidare uppgång.
    Detta genom sannolikheten att elefanterna nu skakat av sig köpare samt låst in säljare som tillkommit i tron om att kursen ska vända ner.

    Det som dock sker nu genom ovan nämnda villkor är att säljarna som sagt blivit inlåsta, kursen föll först genom tenkan med ett low under för att i kommande period stänga över.

    En fälla håller på att effektueras som sedan bekräftas och säljarna måste nu köpa tillbaka sina positioner samtidigt som nya köpare strömmar till när dom inser att elefanterna drar vidare uppåt.

    Vi har dock förutsett denna rörelse och har i bästa fall redan kommit in elefanternas fotspår innan dom lämnat avtryck.


    Förhoppningsvis finns det någon substans i det jag säger och att det framgick någorlunda tydligt HUR jag tänker.
    Jag bifogar en bild som jag cheerypick'at ur OMX men den visar tydliga svarta flaggor för när ovan nämnda scenario utspelar sig, dock inte helt pricksäkert såklart.

    Slänger även in hela scriptet för strategin i nästa inlägg och ha överseende med min knapphändiga kodning samt uppbyggnad.


    Så får vill jag gärna höra era idéer eller tankar kring detta om ni tycker det verkar vettigt.
    Attached Files

  • #2
    Kod:
    {$opt(par9,4,26,2)}
    
    
    $par1:=14
    $par2:=50 {övre gräns}
    $par3:=25 {undre gräns}
    
    $par4:=1
    $par5:=10
    $par6:=21
    par7:=15
    par9:=15
    
    tenkan1:=div(add(hhv(h,7),llv(l,7)),2)
    kijun1:=div(add(hhv(h,22),llv(l,22)),2)
    senkou_spana1:=aref(div(add(tenkan1,kijun1),2),26)
    senkou_spanb1:=aref(div(add(hhv(h,44),llv(l,44)),2),22)
    
    tenkan2:=div(add(hhv(h,7),llv(l,7)),2)
    kijun2:=div(add(hhv(h,22),llv(l,22)),2)
    senkou_spana2:=aref(div(add(tenkan2,kijun2),2),26)
    senkou_spanb2:=aref(div(add(hhv(h,44),llv(l,44)),2),22)
    
    
    tenkan3:=div(add(hhv(h,7),llv(l,7)),2)
    kijun3:=div(add(hhv(h,22),llv(l,22)),2)
    senkou_spana3:=aref(div(add(tenkan3,kijun3),2),26)
    senkou_spanb3:=aref(div(add(hhv(h,44),llv(l,44)),2),22)
    
    
    
    draw(tenkan1,2,bqb2)
    draw(kijun2,3,rqb2)
    
    
    
    
    i5(
    
    
    high=cmpref(h,1,a)
    low=cmpref(l,1,a)
    close=cmpref(c,1,a)
    Pivot=Div(Add(Add(High,Close),Low),3)
    R_3=Add(High,Mult(2,Sub(Pivot,Low)))
    S_3=Sub(Low,Mult(2,Sub(High,Pivot)))
    R_1=Sub(Mult(2,Pivot),Low)
    S_1=Sub(Mult(2,Pivot),High)
    R_2=Add(Pivot,Sub(R_1,S_1))
    S_2=Sub(Pivot,Sub(R_1,S_1))
    
    
    diffh=sub(h,aref(h,1))
    diffl=sub(aref(l,1),l)
    
    dmplus=if(and(gt(diffh,diffl),gt(diffh,0)),diffh,0)
    dmminus=if(and(gt(diffl,diffh),gt(diffl,0)),diffl,0)
    
    diplus=mult(100,ema(div(dmplus,atr($par1)),$par1))
    diminus=mult(100,ema(div(dmminus,atr($par1)),$par1))
    
    adx=ema(mult(100,div(abs(sub(diplus,diminus)),abs(add(diplus,diminus)))),$par1)
    
    ag12=BolBands(20,2.0,u)
    ag21=BolBands(20,2.0,l)
    bolma1=Mov(ag12,6,s)
    bolma2=Mov(ag21,6,s)
    diff1=Gt(Div(ag12,ag21),1.0035)
    diff2=Gt(Div(bolma1,bolma2),1.0035)
    
    
    ma100=mov(c,100,s)
    ma20=mov(c,20,s)
    
    ma50=mov(c,50,s)
    em4=ema(c,14)
    
    em5=ema(c,5)
    
    draw(ma20,1,bqbw)
    {------------------------------------------------------------------}
    {------------------------------------------------------------------}
    {----------------------GRUNDKRITERIER------------------------------}
    {------------------------------------------------------------------}
    {------------------------------------------------------------------}
    TENKAN_1=gt(c,tenkan1)
    KIJUN_1=gt(c,kijun1)
    
    VILLKOR0=and(TENKAN_1,KIJUN_1)
    
    SPAN_A=gt(c,senkou_spana1)
    SPAN_B=gt(c,senkou_spanb1)
    
    VILLKOR1=OR(SPAN_A,SPAN_B)
    VILLKOR2=Gt(ma20,aref(ma20,1))
    
    m1=mov(c,12,e)
    m2=mov(c,26,e)
    mcd=sub(m1,m2)
    mtrig=mov(mcd,9,e)
    VILLKOR3=Gt(m2,aref(m2,10))
    
    SIGNAL1A=AND(VILLKOR0,VILLKOR1)
    SIGNAL1B=AND(VILLKOR2,VILLKOR3)
    SIGNAL1C=AND(SIGNAL1A,SIGNAL1B)
    
    
    {------------------------------------------------------------------}
    
    
    
    
    {------------------------------------------------------------------}
    {------------------------------------------------------------------}
    {----------------------REFERENSPUNKTER-----------------------------}
    {------------------------------------------------------------------}
    {------------------------------------------------------------------}
    
    {VI HAR EN TILL FEM HÖGRE HÖGSTA}
    
    
    HÖJD_hi_1_5=HHv(GT(C,aref(C,1)),1)
    
    HÖJD_hi_2_5=HHv(GT(C,aref(C,1)),5)
    
    
    VILLKOR4=OR(HÖJD_hi_1_5,HÖJD_hi_2_5)
    
    SIGNAL2=and(aref(SIGNAL1C,20),VILLKOR4)
    
    {------------------------------------------------------------------}
    {------------------------------------------------------------------}
    {----------------------GENERALISERINGSOMRÅDE-----------------------}
    {------------------------------------------------------------------}
    {------------------------------------------------------------------}
    
    fall_hi_1_5=llv(lt(h,aref(h,1)),1)
    
    fall_hi_2_5=llv(lt(h,aref(h,1)),2)
    
    fall_hi_3_5=llv(lt(h,aref(h,1)),3)
    
    fall_hi_4_5=llv(lt(h,aref(h,1)),4)
    
    
    LÄGRE_IGH_5MIN_A=OR(fall_hi_1_5,fall_hi_2_5)
    LÄGRE_IGH_5MIN_B=OR(fall_hi_3_5,fall_hi_4_5)
    
    VILLKOR5=OR(LÄGRE_IGH_5MIN_A,LÄGRE_IGH_5MIN_B)
    
    SIGNAL3=and(aref(SIGNAL2,10),VILLKOR5)
    
    
    
    {------------------------------------------------------------------}
    {------------------------------------------------------------------}
    {----------------------REFERENSPUNKTER-----------------------------}
    {------------------------------------------------------------------}
    {------------------------------------------------------------------}
    
    
    {KURSEN HAR CLOSE UNDER TENKAN, KINJUN ELLER MA-20}
    
    VILLKOR6A=LT(L,tenkan1)
    VILLKOR6B=LT(L,kijun1)
    VILLKOR6C=LT(L,MA20)
    
    VILLKOR6D=OR(VILLKOR6A,VILLKOR6B)
    VILLKOR6E=OR(VILLKOR6D,VILLKOR6C)
    
    
    SIGNAL4=and(HHv(aref(SIGNAL3,1),10),VILLKOR6E)
    
    
    
    {------------------------------------------------------------------}
    {------------------------------------------------------------------}
    {----------------------NYA GRUNDKRITERIER--------------------------}
    {------------------------------------------------------------------}
    {------------------------------------------------------------------}
    
    
    
    {STAPEL1,I UNGEFÄR SAMMA STORLEK SOM NUVARANDE}
    
    nuvarande2=sub(h,l)
    förra1=sub(aref(h,1),aref(l,1))
    
    KURSSTAPEL1=Gt(nuvarande2,mult(förra1,1.2))
    KURSSTAPEL2=Gt(nuvarande2,mult(förra1,0.8))
    stapel_1=OR(KURSSTAPEL1,KURSSTAPEL2)
    
    stapel_2=AND(LT(L,tenkan1),GT(C,tenkan1))
    
    stapel_A=AND(stapel_1,stapel_2)
    
    
    
    
    
    SIGNAL5=and(hhv(aref(SIGNAL4,1),10),stapel_A)
    
    
    
    {------------------------------------------------------------------}
    
    
    
    {KURSEN BEFINNER SIG OVAN MOLNET}
    
    OVAN_MOLNET_1=GT(c,senkou_spana1)
    OVAN_MOLNET_2=GT(c,senkou_spanb1)
    OVAN_MOLNET_3=and(OVAN_MOLNET_1,OVAN_MOLNET_2)
    
    
    
    SIGNAL6=and(SIGNAL5,OVAN_MOLNET_3)
    
    {------------------------------------------------------------------}
    {LAGOM AVSTÅND FRÅN OPEN TILL MA-20}
    avstånd_1=sub(O,MA20)
    VILLKORA=Lt(avstånd_1,10)
    
    
    {TENKAN OVAN KINJUN}
    VILLKORB=GT(tenkan1,kijun1)
    
    
    {LAGOM AVSTÅND MELLAN TENKAN OCH KINJUN}
    avstånd_2=sub(tenkan1,kijun1)
    VILLKORC=Lt(avstånd_2,8)
    
    VILLKORD=and(and(VILLKORA,VILLKORB),VILLKORC)
    
    
    SIGNAL7=and(SIGNAL6,VILLKORD)
    
    
    {KURSSTAPELN ÄR BLÅ I 10-MIN}
    
    c10=cmpref(c,0,B)
    o10=cmpref(o,0,B)
    
    10MIN_BLÅ_STAPEL=GT(c10,o10)
    
    
    SIGNAL8=and(SIGNAL7,10MIN_BLÅ_STAPEL)
    
    
    
    {------------------------------------------------------------------}
    {------------------------------------------------------------------}
    {----------------------ELIMNIERA FELSIGNALER-----------------------}
    {------------------------------------------------------------------}
    {------------------------------------------------------------------}
    
    
    
    
    
    
    {LAGOM AVSTÅND MELLAN HIGH OCH TENKAN}
    avstånd_3=sub(H,tenkan1)
    VILLKORF_1=Gt(avstånd_3,10)
    VILLKORF_2=NOT(VILLKORF_1)
    
    
    SIGNAL9=and(SIGNAL8,VILLKORF_2)
    
    
    
    {------------------------------------------------------------------}
    
    {TENKAN ÄR ÖVER MOLNET}
    
    VILLKOR_G1=OR(senkou_spana1,senkou_spanb1)
    VILLKOR_G2=GT(tenkan1,VILLKOR_G1)
    
    
    SIGNALa=and(SIGNAL9,VILLKOR_G2)
    
    {------------------------------------------------------------------}
    
    
    {AVSTÅNDET MELLAN KINJUN OCH MA-20}
    
    
    avstånd_4=sub(MA20,kijun1)
    VILLKORK_1=lt(avstånd_4,5)
    VILLKORK_2=NOT(VILLKORK_1)
    
    VILLKORK_3=gt(tenkan1,ma20)
    
    VILLKORK_4=or(VILLKORK_2,VILLKORK_3)
    
    
    
    SIGNALb=and(SIGNALa,VILLKORK_4)
    
    {------------------------------------------------------------------}
    
    
    avstånd_5=sub(MA20,kijun1)
    VILLKORL_1=Gt(avstånd_5,2.5)
    VILLKORL_2=NOT(VILLKORL_1)
    
    
    
    SIGNALc=and(SIGNALb,VILLKORL_2)
    {------------------------------------------------------------------}
    
    efter9=ge(xtime(d,h),8)
    innan18=lt(xtime(d,h),18)
    
    ej_köp_samma_stapel=gt(d,lasttrade(b,d))
    
    mult(mult(aref(SIGNALc,1),40),and(efter9,and(ej_köp_samma_stapel,innan18)))
    )
    
    {@A(0,)@B(10,)@C(15,)}
    Last edited by Bdire; 2020-02-24, 14:49.

    Comment


    • #3
      Intressant. Hur resonerar du runt exit? End of day, eller annan exit?

      Comment


      • #4
        Hej PerG!

        Jag har valt att göra det så enkelt som möjligt genom att exit antingen sker med förlust på en tajt trailstopp eller att hela vinsten tas hem efter x-antal punkter.

        Ska förtydliga att roboten vevar intradag i 5min och tex i DAXen har jag observerat att varje "våg" majoriteten av gångerna inte reser sig högre än +20 punkter ungefär.

        Så ett alternativ i DAXen är att den tar hem 50% av vinst redan vid 10pkt och resten av positionen vid +20pkt.

        Comment


        • #5
          Vilka nivåer på trailing-stopp har gett bäst effekt på dax resp OMX i dina simuleringar?

          Comment


          • #6
            I DAX kör jag 12 punkter på trailstoppen
            I OMX samt guldet som jag börjat med också har jag lite dålig koll på men ungefär samma procentuella värde av värdet som för DAXen.


            Obs! Ang den bifogade bilden över resultaten på backtestningen så är den endast körd i EN månad.

            Gav "originalscriptet" lite kärlek igår, det är totalt fyra liknande script där endast hur djupt ev säljare låses in beroende på vilket medelvärde som tas ut är det som skiljer dom åt.
            Dock fick originalscriptet ge lite säregna villkor för respektive index/råvara så hur bra de övriga tre presterar återstår att se.

            Guldet, OMX och DAX är i den ordningen dom är sorterad i den bifogade bilden.
            Totalt är 52 avslut gjorda var av 42 med vinst. DOCK är nästan alltid den enskilda förlusten större en den enskilda vinsten så utfallet av siffrorna ovan blir sämre än det förat låter.

            Mitt först mål med roboten är att den ska kunna dra in 20kpt nettovinst om dagen i snitt i mini futuren som körs för dagen.

            Jag vet inte om jag är ute och cyklar här men vill tro att en punkt i OMX/guld motsvarar lika mycket som 10pkt i DAXen ungefär?

            Så en av fyra setuper ger för tillfället totalt under en månad, avrundat uppåt, 200pkt vinst.
            Om jag räknat rätt dvs mad tanke på frågan ovan.

            Utan att ta ut segern i förskott ser jag optimistisk på vad övriga setuper kan bidra.
            500 netttopunkter är totalen för målet på en månad!
            Attached Files

            Comment


            • #7
              Har du simulerat utan spread/slipp? I NAS strategierna brukar 0.3 användas för OMX i varje riktning och 1.5 på Dax. Osäker på vad som används för guld. Detta är för att simulera verklig replikering mot Nordnet-minifutures. För mig brukar det ibland bli bättre slipp/spread, och ibland sämre. Inte räknat på snitt eller total, utan mer kollat enskilda trades. Tex Break-out är känsliga för slipp och då bör man kanske lägga på ytterligare för att det skall funka när man handlar skarpt.

              Misstänker att du behöver få upp avg-trade i % för att den skall hålla live. Jag skall prova simulera det på lite längre tidsperiod och med nas- spread/slipp samt beräkna Gain/pain och drawdown om du uppdaterar triggerscripten för resp marknad

              ex, ser prisscriptet ut så här för dax med 1.5 påslag.

              i1(
              add(c,1.5)
              )

              Och för OMX

              i1(
              add(c,0.3)
              )
              Last edited by PerG; 2020-02-09, 14:10.

              Comment


              • #8
                Tror det är utan spread och slipp, PerG.
                0,6 som I procent för trailstoppen menar du?

                Oh grymt! Jag är på jobbet nu men ska fixa scriptet för respektive värdepapper och uppdatera här!

                Comment


                • #9
                  Ursprungligen postat av Bdire Visa inlägg
                  Tror det är utan spread och slipp, PerG.
                  0,6 som I procent för trailstoppen menar du?

                  Oh grymt! Jag är på jobbet nu men ska fixa scriptet för respektive värdepapper och uppdatera här!
                  0.3 i pris baserat på OMX per väg, så . Var snabb när jag skrev 0.6, det är för en roundtrip. Så ca 0.033% per trade vid OMX i 1800. ((0.3*2)/1800)

                  Uppdaterade även inlägget ovan med prisscript du kan använda för att bygga in slipp/spread i simuleringen för dax och omx.

                  Comment


                  • #10
                    Okaj! Felsökt, svurit högt och i vanlig ordning ringt mitt dagliga samtal till supporten för min egna tillkortakommanden.
                    Har gett "orginalsetupen" en del kärlek nu och byggde även dom till en ny setup för att gå kort.

                    Backtestat en månad med pricsscriptet för spread/slipp, gjorde två olika körning för Lång respektive kort, tanken är att dem ska handla skarpt på olika depåer.

                    To be continued!

                    Valde också några guldkorn på bilder när roboten gör himla fina avslut!
                    Kritik, tips frågor och idéer uppskattas dessutom enormt!
                    Attached Files

                    Comment


                    • #11
                      Ursprungligen postat av Bdire Visa inlägg
                      Kritik, tips frågor och idéer uppskattas dessutom enormt!
                      Ser ju ut som lutande marknad ger bra effekt i dina screenshots.
                      Prova använda den mörkblå linjen som filter för vilken riktning du skall tillåta long/kort. (om du inte redan använder den som kriterie för long/short)


                      Tex, Short när C < Linjen Eller när streckade linjen är under den tjocka linjen.
                      Long när C > Linjen, eller när streckade linjen > Tjocka linjen






                      Du kan också testa att filtrera på Volla, tex prova hur den beter sig beroende på hur stor vollan är . (tex över eller under 1.1 i bandwitdh)

                      Jag brukar använda volla i dagsperspektiv baserat på BBW (bolling band width)


                      Kod:
                      {BBW Volla > 1.10} 
                      bbw2=div(BolBands(20,2,U),BolBands(20,2,L))
                      VollaOK=GT(bbw2,1.10)
                      Last edited by PerG; 2020-02-10, 13:52.

                      Comment


                      • #12
                        Yes, den mörkblå linjen som är MA-20 är med i leken minst sagt, bifogade delen av scriptet för den korta-strategin om det är av intresse alt om du ens kan läsa det utan att ögonen blöder.

                        Oh, very nice med "filtrer på Volla", ska slänga ett öga på den!
                        Under 1.1 så har vi en tajt och slagig range eller?

                        Tusen tack för tipsen!
                        Attached Files

                        Comment


                        • #13
                          Ursprungligen postat av Bdire Visa inlägg
                          Yes, den mörkblå linjen som är MA-20 är med i leken minst sagt, bifogade delen av scriptet för den korta-strategin om det är av intresse alt om du ens kan läsa det utan att ögonen blöder.

                          Oh, very nice med "filtrer på Volla", ska slänga ett öga på den!
                          Under 1.1 så har vi en tajt och slagig range eller?

                          Tusen tack för tipsen!
                          Jag tänkte följa upp och backtesta med CAGR, Drawdown och se om det finns några klimatfilter som kan vara gynnsamma. Kan du lägga ut Short-scriptet i klartext istället för bild, så slipper jag skriva av det och kan copy-pasta in det istället?
                          Last edited by PerG; 2020-02-16, 11:14.

                          Comment


                          • #14
                            Hallå Per! Jag ber tusen gånger om ursäkt för att jag missat ditt inlägg, det uppskattas enormt att du engagerar dig, himla kul!

                            Tyvärr förde jag nog oss både bakom ljuset när jag plockade ut guldkornen i handeln då edgen i det större sammanhanget inte riktigt fanns där.
                            Så för att göra en lång historia kort så har jag kliat mig på flinten många gånger om i hopp om att finna den gyllene edgen som består!

                            Och kaaaaaaaanske... Jag har kodat oavbrutet efter bästa förmåga där jag försökt förverkliga en idé jag har om att man låser in kursen i en slags trendkanal som utgörs av det övre Bollingerbandet samt EMA-5 och MA-20.

                            Själva grundtanken med A, B och C-vågen kvarstår men det är kruxet med hur C-vågen faktiskt ska få rätt bäring och riva av alla de fina avsluten som jag tidigare kallat guldkornen.

                            Bifogar hela scriptet om intresse finns, dessvärre är det korta scriptet örfilat och tillfälligt sängliggande då fokus legat helt på denna trendföljande-strategi. Scriptet nedan är inte optimerat eller vidare felsökt, har gått vilse i skogen här ett par gånger redan och curvfit'at det på tok för mycket, men en edge finns grunden!

                            DOCK! Signalen triggas inte så mycket som jag i min oerfarna "robot-värld" vill tro att en signal ska, har dock kompenserar med sju olika varianter där själv fällan som bygger grunden för våg-C skiljer de olika varianterna åt.

                            Nåväl, nog tjötat och jag hoppas kunna bidra med en strategi för handel där man går kort och som är mer pricksäker, har lite idér om hur man ska undvika typiska felsignaler som tex när kursen precis bottnat ur.

                            Och som sagt, tusen tack för engagemanget!

                            Comment


                            • #15
                              Kod:
                              {ADX-PARAMETER}
                              $par1:=14
                              
                              
                              {$opt($par2,1.0002,1.001,0.0001)}
                              
                              
                              $par2:=1.0008
                              
                              
                              
                              
                              
                              
                              tenkan1:=div(add(hhv(h,7),llv(l,7)),2)
                              kijun1:=div(add(hhv(h,22),llv(l,22)),2)
                              senkou_spana1:=aref(div(add(tenkan1,kijun1),2),26)
                              senkou_spanb1:=aref(div(add(hhv(h,44),llv(l,44)),2),22)
                              
                              tenkan2:=div(add(hhv(h,7),llv(l,7)),2)
                              kijun2:=div(add(hhv(h,22),llv(l,22)),2)
                              senkou_spana2:=aref(div(add(tenkan2,kijun2),2),26)
                              senkou_spanb2:=aref(div(add(hhv(h,44),llv(l,44)),2),22)
                              
                              
                              tenkan3:=div(add(hhv(h,7),llv(l,7)),2)
                              kijun3:=div(add(hhv(h,22),llv(l,22)),2)
                              senkou_spana3:=aref(div(add(tenkan3,kijun3),2),26)
                              senkou_spanb3:=aref(div(add(hhv(h,44),llv(l,44)),2),22)
                              
                              
                              
                              
                              
                              i5(
                              add(c,0.3)
                              
                              
                              
                              diffh=sub(h,aref(h,1))
                              diffl=sub(aref(l,1),l)
                              
                              dmplus=if(and(gt(diffh,diffl),gt(diffh,0)),diffh,0)
                              dmminus=if(and(gt(diffl,diffh),gt(diffl,0)),diffl,0)
                              
                              diplus=mult(100,ema(div(dmplus,atr($par1)),$par1))
                              diminus=mult(100,ema(div(dmminus,atr($par1)),$par1))
                              
                              adx=ema(mult(100,div(abs(sub(diplus,diminus)),abs(add(diplus,diminus)))),$par1)
                              
                              
                              
                              
                              
                              ag12=BolBands(20,2.0,u)
                              ag21=BolBands(20,2.0,l)
                              bolma1=Mov(ag12,6,s)
                              bolma2=Mov(ag21,6,s)
                              diff1=Gt(Div(ag12,ag21),1.0035)
                              diff2=Gt(Div(bolma1,bolma2),1.0035)
                              
                              
                              ma100=mov(c,100,s)
                              ma20=mov(c,20,s)
                              
                              ma50=mov(c,50,s)
                              em4=ema(c,14)
                              
                              em5=ema(c,5)
                              
                              
                              {------------------------------------------------------------------}
                              {------------------------------------------------------------------}
                              {----------------------GRUNDKRITERIER------------------------------}
                              {------------------------------------------------------------------}
                              {------------------------------------------------------------------}
                              TENKAN_1=gt(c,tenkan1)
                              KIJUN_1=gt(c,kijun1)
                              
                              VILLKOR000=and(TENKAN_1,KIJUN_1)
                              
                              SPAN_A=gt(c,senkou_spana1)
                              SPAN_B=gt(c,senkou_spanb1)
                              
                              VILLKOR001=OR(SPAN_A,SPAN_B)
                              VILLKOR002=Gt(ma20,aref(ma20,1))
                              
                              m1=mov(c,12,e)
                              m2=mov(c,26,e)
                              mcd=sub(m1,m2)
                              mtrig=mov(mcd,9,e)
                              VILLKOR003=Gt(m2,aref(m2,10))
                              
                              SIGNAL1A=AND(VILLKOR000,VILLKOR001)
                              SIGNAL1B=AND(VILLKOR002,VILLKOR003)
                              SIGNAL1C=AND(SIGNAL1A,SIGNAL1B)
                              
                              
                              {------------------------------------------------------------------}
                              
                              
                              
                              
                              {------------------------------------------------------------------}
                              {------------------------------------------------------------------}
                              {----------------------REFERENSPUNKTER-----------------------------}
                              {------------------------------------------------------------------}
                              {------------------------------------------------------------------}
                              
                              {VI HAR EN TILL FEM HÖGRE HÖGSTA}
                              
                              
                              HÖJD_hi_1_5=HHv(GT(C,aref(C,1)),1)
                              
                              HÖJD_hi_2_5=HHv(GT(C,aref(C,1)),5)
                              
                              
                              VILLKOR004=OR(HÖJD_hi_1_5,HÖJD_hi_2_5)
                              
                              SIGNAL2=and(aref(SIGNAL1C,20),VILLKOR004)
                              
                              {------------------------------------------------------------------}
                              {------------------------------------------------------------------}
                              {----------------------GENERALISERINGSOMRÅDE-----------------------}
                              {------------------------------------------------------------------}
                              {------------------------------------------------------------------}
                              
                              fall_hi_1_5=llv(lt(h,aref(h,1)),1)
                              
                              fall_hi_2_5=llv(lt(h,aref(h,1)),2)
                              
                              fall_hi_3_5=llv(lt(h,aref(h,1)),3)
                              
                              fall_hi_4_5=llv(lt(h,aref(h,1)),4)
                              
                              
                              LÄGRE_IGH_5MIN_A=OR(fall_hi_1_5,fall_hi_2_5)
                              LÄGRE_IGH_5MIN_B=OR(fall_hi_3_5,fall_hi_4_5)
                              
                              VILLKOR005=OR(LÄGRE_IGH_5MIN_A,LÄGRE_IGH_5MIN_B)
                              
                              SIGNAL3=and(aref(SIGNAL2,10),VILLKOR005)
                              
                              
                              
                              {------------------------------------------------------------------}
                              {------------------------------------------------------------------}
                              {----------------------REFERENSPUNKTER-----------------------------}
                              {------------------------------------------------------------------}
                              {------------------------------------------------------------------}
                              
                              
                              {KURSEN HAR CLOSE UNDER TENKAN, KINJUN ELLER MA-20}
                              
                              VILLKOR6A=LT(L,tenkan1)
                              VILLKOR6B=LT(L,kijun1)
                              VILLKOR6C=LT(L,MA20)
                              
                              VILLKOR6D=OR(VILLKOR6A,VILLKOR6B)
                              VILLKOR006=OR(VILLKOR6D,VILLKOR6C)
                              
                              
                              SIGNAL4=and(HHv(aref(SIGNAL3,1),10),VILLKOR006)
                              
                              
                              
                              {------------------------------------------------------------------}
                              {------------------------------------------------------------------}
                              {----------------------NYA GRUNDKRITERIER--------------------------}
                              {------------------------------------------------------------------}
                              {------------------------------------------------------------------}
                              
                              
                              
                              {STAPEL1,I UNGEFÄR SAMMA STORLEK SOM NUVARANDE}
                              
                              nuvarande2=sub(h,l)
                              förra1=sub(aref(h,1),aref(l,1))
                              
                              KURSSTAPEL1=Gt(nuvarande2,mult(förra1,1.2))
                              KURSSTAPEL2=Gt(nuvarande2,mult(förra1,0.8))
                              stapel_1=OR(KURSSTAPEL1,KURSSTAPEL2)
                              
                              stapel_2=AND(LT(L,tenkan1),GT(C,tenkan1))
                              
                              VILLKOR007=AND(stapel_1,stapel_2)
                              
                              
                              
                              SIGNAL5=and(hhv(aref(SIGNAL4,1),10),VILLKOR007)
                              
                              
                              {------------------------------------------------------------------}
                              
                              
                              {KURSEN BEFINNER SIG OVAN MOLNET}
                              
                              OVAN_MOLNET_1=GT(c,senkou_spana1)
                              OVAN_MOLNET_2=GT(c,senkou_spanb1)
                              VILLKOR008=and(OVAN_MOLNET_1,OVAN_MOLNET_2)
                              
                              
                              SIGNAL6=and(SIGNAL5,VILLKOR008)
                              
                              {------------------------------------------------------------------}
                              {------------------------------------------------------------------}
                              {------------------------------------------------------------------}
                              {---------------BESKRIVNING AV STIGANDE BOLLINGER-TREND------------}
                              {------------------------------------------------------------------}
                              {------------------------------------------------------------------}
                              {------------------------------------------------------------------}
                              
                              
                              {ÖVRE BB-BAND FÅR EJ AVVIKA FRÅN MA-20, RISK ATT KURSEN BRYTER TRENDTAKET}
                              
                              VILLKOR011a=abs(sub(roc(AG12,1,%),roc(MA20,1,%)))
                              VILLKOR011b=gt(VILLKOR011a,0.0105)
                              VILLKOR011c=NOT(VILLKOR011b)
                              
                              {ÖVRE BB-BAND FÅR EJ AVVIKA FRÅN EMA-5, RISK ATT KURSEN BÖRJAR KONSOL. ALT RULLA ÖVER}
                              
                              VILLKOR012a=abs(sub(roc(ag12,2,%),roc(EM5,2,%)))
                              VILLKOR012b=gt(VILLKOR012a,0.0180)
                              VILLKOR012c=NOT(VILLKOR012b)
                              
                              
                              SIGNAL7=and(and(SIGNAL6,VILLKOR011C),VILLKOR012C)
                              {------------------------------------------------------------------}
                              
                              {LUTNINGEN PÅ ADX DEFINIERA TRENDKANALENS STIGNING ISTÄLLET FÖR DIV MEDELVÄRDEN}
                              VILLKOR014a=Gt(ROC(adx,2,%),0.0050)
                              VILLKOR014b=Gt(adx,aref(adx,2))
                              VILLKOR014c=and(VILLKOR014a,VILLKOR014b)
                              
                              
                              SIGNAL8=and(SIGNAL7,VILLKOR014c)
                              {------------------------------------------------------------------}
                              
                              {CLOSE ÄR INOM ETT AVSTÅND FRÅN ÖVRE BB-BAND DÄR TRENDKANALEN FORTFARANDE ANSES INTAKT}
                              
                              VILLKOR010a=abs(div(ag12,c))
                              VILLKOR010b=lt(VILLKOR010a,$par2)
                              
                              
                              SIGNAL9=and(SIGNAL8,VILLKOR010B)
                              {------------------------------------------------------------------}
                              
                              {TENKAN FÅR EJ FALLA IFRÅN EMA-5}
                              VILLKOR017a=abs(sub(roc(kijun1,8,%),roc(MA20,12,%)))
                              VILLKOR017b=Gt(VILLKOR017a,0.130)
                              VILLKOR017c=NOT(VILLKOR017b)
                              
                              
                              
                              {KIJUN FÅR EJ FALLA IFRÅN MA-20}
                              VILLKOR018a=abs(sub(roc(kijun1,12,%),roc(MA20,1,%)))
                              VILLKOR018b=Lt(VILLKOR018a,0.0025)
                              VILLKOR018c=NOT(VILLKOR018b)
                              
                              
                              SIGNALA=and(AND(SIGNAL9,VILLKOR017C),VILLKOR018C)
                              
                              {------------------------------------------------------------------}
                              {------------------------------------------------------------------}
                              {------------------------------------------------------------------}
                              {----------------------STARTSKOTT PÅ KÖPSIGNAL---------------------}
                              {------------------------------------------------------------------}
                              {------------------------------------------------------------------}
                              {------------------------------------------------------------------}
                              
                              
                              
                              {BBW-BANDET VÄNDER UPP}
                              
                              STARTSKOTT_01A=mult(div(sub(ag12,ag21),mov(c,20,s)),1000) {%}
                              STARTSKOTT_01B=Gt(STARTSKOTT_01A,aref(STARTSKOTT_01A,1))
                              
                              
                              {EMA-5 LUTAR UPPÅT}
                              STARTSKOTT_02A=Gt(EM5,aref(EM5,1))
                              
                              
                              {TENKAN FÖLJER EMA-5 MED 0,8% AVVIKELSE}
                              STARTSKOTT_03A=abs(sub(roc(EM5,2,%),roc(TENKAN1,2,%)))
                              STARTSKOTT_03B=Gt(STARTSKOTT_03A,0.00800)
                              
                              
                              {PERIODEN HAR EN HÖGRE LOW ÄN FÖREGÅENDE}
                              STARTSKOTT_04A=gt(L,hhv(aref(L,1),1))
                              
                              
                              
                              KÖP_01=AND(AND(AND(STARTSKOTT_01B,STARTSKOTT_02A),STARTSKOTT_03B),STARTSKOTT_04A)
                              
                              
                              SIGNALB=and(SIGNALA,KÖP_01)
                              
                              
                              
                              {------------------------------------------------------------------}
                              {------------------------------------------------------------------}
                              {----------------------ELIMNIERA FELSIGNALER-----------------------}
                              {------------------------------------------------------------------}
                              {------------------------------------------------------------------}
                              {------------------------------------------------------------------}
                              
                              
                              
                              {------------------------------------------------------------------}
                              {------------------------------------------------------------------}
                              {------------------------------------------------------------------}
                              
                              
                              efter9=ge(xtime(d,h),8.0)
                              innan18=lt(xtime(d,h),19.30)
                              
                              ej_köp_samma_stapel=gt(d,lasttrade(b,d))
                              
                              mult(mult(aref(SIGNALB,1),50),and(efter9,and(ej_köp_samma_stapel,innan18)))
                              )
                              
                              {@A(0,)@B(10,)@C(15,)}

                              Comment

                              Working...
                              X