Allmänt meddelande

Collapse
No announcement yet.

Indikator som mäter vinststyrkan i nuvarande period

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

  • Indikator som mäter vinststyrkan i nuvarande period

    Jag försöker göra en indikator som mäter styrkan av uppgången i senaste perioden i relation till x perioder bakåt, men får inte till scriptet på ett bra sätt.

    Tanken är följande:
    - Först räkna ut nuvarande periodens vinst i förhållande till föregående period, D.v.s. Div(Sub(C,Ref(C,1)),Ref(C,1))

    - Sen jämföra den vinsten med vinsten för X perioder bakåt i tiden och räkna ut antalet perioder som har lägre vinst en den nuvarande.
    Man måste alltså räkna ut varje periods vinst i förhållande till föregående period och sen titta på om vinsten är lägre än för sista perioden.

    Anta att X perioder är 30 och antalet perioder bakåt som har lägre vinst än den sista är 7, då blir värdet för indikatorn 7/30 = 23%


    Det kniviga är steg två då man ska räkna ut om en vinst för en viss period är lägre än den sista på ett snyggt sätt.


    Har kommit fram till följande:

    Räkna ut sista periodens vinst:

    Profit:=Div(Sub(C,Aref(C,1)),Aref(C,1))

    Kolla med if sats om vinsten för perioden bakåt är lägre än nuvarande och spara värdet som 1 eller 0
    Detta måste göras X gånger och blir därför opraktiskt om man vill titta på många perioder bakåt.

    P01:=If(Lt(Profit,Aref(Profit,1)),1,0)
    P02:=If(Lt(Profit,Aref(Profit,2)),1,0)
    P03:=If(Lt(Profit,Aref(Profit,3)),1,0)
    P04:=If(Lt(Profit,Aref(Profit,4)),1,0)
    P05:=If(Lt(Profit,Aref(Profit,5)),1,0)

    Summera antalet perioder som är lägre en nuvarande

    Sum:=Add(Add(Add(Add(P01,P02),P03),P04),P05)

    Och räkna ut ett procentuellt värde

    Value:=Mult(Div(Sum,5),100)


    Frågan är om det går att förenkla uttrycken P01 till P05 på något sätt?

  • #2
    Jag var lite snabb och missade vad du vill göra. Har inte räknat på detta sätt. Intressant. Därför gjorde
    jag om scriptet. Kolla om detta fungerar. Med draw får jag samma perioder som din beräkning.

    Antalper:=6 {innevarande alltid falskt +1 mot mäteperioder}
    Now:=d
    Profit1:=Div(Sub(C,Aref(C,1)),Aref(C,1))
    Profit2:=find(ge(d,Now),Antalper,Profit1,1)
    Profit3:=if(lt(Profit2,Profit1),1,0)
    Total:=sum(Profit3,Antalper)
    i30(
    Value=Mult(Div(Total,sub(antalper,1)),100)
    draw(mult(gt(Value,75),30),3,rsbF)
    add(0,0)
    )
    Last edited by Henric; 2013-01-11, 17:43.

    Comment


    • #3
      Jag var också lite för snabb, gjorde en tankevurpa.

      P01 till P05 ska vara:

      P01:=If(Gt(Profit,Aref(Profit,1)),1,0)
      P02:=If(Gt(Profit,Aref(Profit,2)),1,0)
      P03:=If(Gt(Profit,Aref(Profit,3)),1,0)
      P04:=If(Gt(Profit,Aref(Profit,4)),1,0)
      P05:=If(Gt(Profit,Aref(Profit,5)),1,0)

      och då ändras Profit3 till:

      Profit3:=if(gt(Profit2,Profit1),1,0)

      Nu funkar det!

      Den påminner om RSI men utan fördröjning
      Last edited by FredTrader; 2013-01-12, 14:18.

      Comment

      Working...
      X