Allmänt meddelande

Collapse
No announcement yet.

Handla med korta trender

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

  • #31
    Tack all ovärderlig hjälp Henric och LillWicke, verkligen. Vid närmare eftertanke så är det nog ganska OK med den återuppstådda säljsignalen som jag påpekade i inlägg 28 - modellen är ju byggd så.

    Däremot har jag stött på ett annat bekymmer. Titta på bifogad bild. Kl. 12.30 borde den gröna kurvan ha hoppat upp till nivån 985,75. Problemet är att denna formation inte hittas i scriptet. Med mina begränsade script-kunskaper lyckades jag trots allt med att definiera även denna "långa botten", se scriptet nedan. Dock så blir det error då jag kör scriptet. Verkar som om det är för många parantesnivåer? Kan det verkligen stämma? Eller är det något annat fel?

    OBS, mellanrummen på slutet av rad botten3 samt topp3 uppstår bara då jag klistrar in det i forumet - ligger ej så i NAT.


    upper:=mov(h,1,s)
    lower:=mov(l,1,s)

    botten1:=and(gt(aref(upper,1),aref(upper,2)),lt(aref(upper,2),aref(upper,3)))
    botten2:=and(gt(aref(upper,1),aref(upper,2)),and(eqv(aref(upper,2),aref(upper,3)),lt(aref(upper,3),aref(upper,4))))
    botten3:=and(gt(aref(upper,1),aref(upper,2)),and(eqv(aref(upper,2),aref(upper,3)),and(eqv(aref(upper,3),aref(upper,4)),lt(aref(upper,4),aref(upper,5)) )))
    botten:=or(botten1,or(botten2,botten3))

    kurs1:=find(botten,50,aref(h,2),1)
    köpsignal:=gt(lower,kurs1)

    topp1:=and(lt(aref(lower,1),aref(lower,2)),gt(aref(lower,2),aref(lower,3)))
    topp2:=and(lt(aref(lower,1),aref(lower,2)),and(eqv(aref(lower,2),aref(lower,3)),gt(aref(lower,3),aref(lower,4))))
    topp3:=and(lt(aref(lower,1),aref(lower,2)),and(eqv(aref(lower,2),aref(lower,3)),and(eqv(aref(lower,3),aref(lower,4)),gt(aref(lower,4),aref(lower,5)))) )
    topp:=or(topp1,or(topp2,topp3))

    kurs2:=find(topp,50,aref(l,2),1)
    säljsignal:=lt(upper,kurs2)

    sist1=hhvbars(and(aref(köpsignal,1),not(aref(säljsignal,1))),50)
    sist2=hhvbars(and(aref(säljsignal,1),not(aref(köpsignal,1))),50)
    sist3=if(gt(sist1,sist2),10,-10)
    buy=or(and(köpsignal,gt(sist3,0)),and(köpsignal,not(säljsignal)))
    sell=or(and(säljsignal,lt(sist3,0)),and(säljsignal,not(köpsignal)))

    draw(kurs1,3,gqb)
    draw(kurs2,4,rqb)
    draw(upper,5,yqb)
    draw(lower,6,yqb)
    draw(mult(buy,40),7,bsaF)
    draw(mult(sell,40),8,rsdF)

    ADD(0,0)
    Attached Files
    Last edited by Christer; 2012-06-13, 20:49.

    Comment


    • #32
      Ja det är nog för många parantesnivår. Prova att ta bort kolon nerefrån. topp borde tex heta topp4. Namnet ingår i som delnam i andra tilldelade namn.

      Comment


      • #33
        1)Jag förstår inte varför du använder "tilldelade namn" (:=) för så långa scriptrader. Använd istället minnesreferenser (=)

        2)Som Henric sa måste du ändra "topp" till "topp4"

        3)Med så långa rader som du använder, kan det även bli svårt att hålla reda på logiken, och därmed också antalet paranteser.

        Ett tips är att dela upp scriptraderna i fler enkla smådelar, så blir det lättare att felsöka. På köpet får du också att parantesdjupet sjunker drastiskt.
        Ex för topp3.

        { Beräkning av topp3 }
        del31=lt(aref(lower,1),aref(lower,2))
        del32=eqv(aref(lower,2),aref(lower,3))
        del33=eqv(aref(lower,3),aref(lower,4))
        del34=gt(aref(lower,4),aref(lower,5))
        topp3=and(del31,and(del32,and(del33,del34))) {Din skrivning }

        Ett ännu mer överskådligt sätt att skriva är att sätta ihop alla "and" efter varandra så här:
        topp3=and(and(and(del34,del33),del32),del31)

        Last edited by LillWicke; 2012-06-14, 15:07.

        Comment


        • #34
          Ett par av raderna överstiger med råge de maximala 10 parentesdjupsnivåerna så det blir garanterat fel någonstans, det måste skrivas lite luftigare för att funka.

          Comment

          Working...
          X