Allmänt meddelande

Collapse
No announcement yet.

Storleken (styrkan) på en smoothed heikin?

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

  • Storleken (styrkan) på en smoothed heikin?

    Hej.
    Mina triggerscript jobbar en del med smoothed heikin (SH) men jag upptäcker att det ibland blir väldigt svaga SH men de ger ju samma signal som en starkare SH-stapel. Ligger man i en trend med flera gröna på rad och så kommer en mycket smal röd SH som för blotta ögat knappt är synlig i diagrammet så triggar ju den på samma sätt som en rejäl stapel. Kolla gärna lite i diagrammet så förstår ni vad jag menar.

    Min fråga är alltså att jag vill kunna veta hur "hög kroppen" på SH-stapeln är. Min uträkning av SH ser ut som följer (stulet från forumet ):

    sp1:=50
    terC:=cmpref(c,0,A)
    terO:=cmpref(o,0,A)
    terH:=cmpref(h,0,A)
    terL:=cmpref(l,0,A)
    firstT:=aref(div(add(terO,terC),2),add(sp1,1):50)
    mc1T:=div(add(add(terC,terO),add(terL,terH)),4)
    firstI:=aref(div(add(o,c),2),add(sp1,1):50)
    mc1I:=div(add(add(c,o),add(l,h)),4)

    {arr with power of 2 values,9,8,7...}
    retval(0,0)
    retval(0,1)
    retval(0,2)
    retval(0,3)
    ack=cum(1,sp1)
    mweight=power(2,sub(sp1,ack))

    mcweightT=mult(mweight,aref(mc1T,ack:sp1))
    mcweightI=mult(mweight,aref(mc1I,ack:sp1))
    mscweightT=retval(add(getval(0),mcweightT),0)
    mscweightI=retval(add(getval(2),mcweightI),2)
    dscweightT=retval(add(getval(1),mweight),1)
    dscweightI=retval(add(getval(3),mweight),3)
    loop(ack,sp1)
    dcweightT=add(getval(1),1)
    dcweightI=add(getval(3),1)

    tots1T=add(getval(0),const(firstT))
    tots1I=add(getval(2),const(firstI))
    haOpenT=div(tots1T,mult(1,dcweightT))
    haOpenI=div(tots1I,mult(1,dcweightI))
    mcloseT=div(add(add(terC,terO),add(terL,terH)),4)
    mcloseI=div(add(add(c,o),add(l,h)),4)

    grön_heikin=and(gt(mcloseI,haOpenI),gt(mcloseT,haOpenT))


    Kan kanske ordna upp i koden och tänka igenom själv men tänkte att någon här på forumet kanske vet direkt så spar ju jag massor av tid.
    Mvh
    Erik

  • #2
    {utan exrtaobjekt, tydligare}

    stapel_procent:=0.1 {minsta längd stapel i procent, används i längd_OK}
    sp1:=50
    first:=aref(div(add(o,c),2),add(sp1,1):50)
    mc1:=div(add(add(c,o),add(l,h)),4)

    {arr with power of 2 values,9,8,7...}
    retval(0,0)
    retval(0,1)
    ack=cum(1,sp1)
    mweight=power(2,sub(sp1,ack))
    mcweight=mult(mweight,aref(mc1,ack:sp1))
    mscweight=retval(add(getval(0),mcweight),0)
    dscweight=retval(add(getval(1),mweight),1)
    loop(ack,sp1)
    dcweight=add(getval(1),1)

    tots1=add(getval(0),const(first))
    haOpen=div(tots1,mult(1,dcweight))

    mclose=div(add(add(c,o),add(l,h)),4)

    längd_OK=gt(abs(div(sub(haOpen,mclose),div(add(haOpen,mclose),2))),div(stapel_procent,100))

    {tex grönstapel köp}
    Grön=and(ge(mclose,haOpen),längd_OK)
    draw(haOpen,3,mqbw)
    draw(mclose,4,yqbw)
    draw(mult(Grön,15),6,gsbF)
    and(Grön,1)

    Comment


    • #3
      Nu skrev du om utan extraobjekt. Jag handlar ju terminen men beräknar på index så jag måste ha extraobjekt. Men jag tycker din kod ser annorlunda ut ändå även om man bortser från den skillnaden, räknar den på samma sätt?

      Men jag ser ju iallafall på längd_ok raden vad det är som ska mätas. Tackar för detta. /Erik

      Comment


      • #4
        Vad ska jag ändra på för att det ska fungera med extraobjekt? Du räknar ju bara mclose kontra haopen i det scriptförslaget jag har kopierat används mcloseI och mcloseT kontra haopenI och haopenT. Blir ju lite skillnad. Eller beror det på att jag inte orkat grotta ner i exakt vad kodsnutten gör? Tänkte att så länge den bara ger rätt färg på stapeln så kvittar det hur den räknar ut det, men nu vill jag ju även veta om signalen är för klen för att ta hänsyn till. /Erik

        Ja, det hjälper att skriva på forumet. Tog bara tio minuter så hade jag löst det själv. - orkade inte vänta.

        längd_ok=gt(abs(div(sub(haOpenI,mcloseI),div(add(haOpenI,mcloseI),2))),div(stapel_procent,100))
        draw(mult(not(längd_ok),5),6,rsbf)
        Last edited by e-Rik; 2015-07-16, 23:11.

        Comment


        • #5
          Snyggt!!

          Comment

          Working...
          X