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?
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?
Comment