Hello friends. I have an indicator
If (Mov (C-Ref (C, -5), 610, E)> (Mov ((Ref (C, -1)-Ref (C, 1)), 610, E)), 1, -1)
I want to build on this indicator centered moving averages.That is, instead of exponents use the centered moving averages Formula centered moving averages:
fwPds:=Input("Forward-referencing periods (automatic = -1)",-1,2600,- 1);
proj:=Input("Project last known MA: [1]Direction, [2]Value",1,2,1);
pds:=Input("Mov Avg periods",1,2600,21);
type:=Input("[1]EMA [2]SMA [3]TmSr [4]Tri [5]Var [6]Vol [7]Wght",1,7, 2);
{ Choose MovAvg type: 1 - Exponential MA 2 - Simple MA 3 - Time Series MA 4 - Triangular MA 5 - Variable MA 6 - Volume adjusted MA 7 - Weighted MA } ma:= If(type=1,Mov(C,pds,E), If(type=2,Mov(C,pds,S), If(type=3,Mov(C,pds,T), If(type=4,Mov(C,pds,TRI), If(type=5,Mov(C,pds,VAR), If(type=6,Mov(C,pds,VOL), Mov(C,pds,W)))))));
{ Automatic period-centering } center:=LastValue(If(fwPds<0,Int(pds/2),fwPds));
{ Forward-referenced MovAvg } fwd:=Ref(ma,center);
{ Last valid MovAvg plot point } lastVal:=IsUndefined(fwd) AND Alert(IsUndefined(fwd)=0,2); { Extend MovAvg plot into future null zone } xtend:=LastValue(fwd+PREV-PREV);
{ Restrict invalid initial MovAvg plot } movAvg:=Ref(Ref(xtend,pds-1),-pds+1);
{ Last MA known direction & future projection } init:=Cum(IsDefined(movAvg))=1; direction:=movAvg+ ( ValueWhen(1,init OR lastVal,Ref(movAvg,-1)) -ValueWhen(1,init OR lastVal,Ref(movAvg,-2))) *(BarsSince(init OR lastVal)+1);
{ Plot MovAvg on price chart } If(proj=1,direction,movAvg)
I do not really know a programming language, so please help. Maybe others too need - will enjoy.