Donnerstag, 18. April 2024, 03:18 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

VBS

Fortgeschrittener

Registrierungsdatum: 9. November 2008

Beiträge: 109

1

Donnerstag, 19. Februar 2015, 21:38

Arnauld Legoux Moving Average ALMA

Sorry, mal wieder ein "neuer" Moving Average, aber er soll noch ein bischen "besser" als der Hull Average sein.

Infos bei: http://www.arnaudlegoux.com/

Deswegen meine Frage, hat den schon jemand in Investox implementiert?



Der AFL code by hiscores. Originally posted here http://finance.groups.yahoo.com/grou...message/154257

_SECTION_BEGIN("ALMA");
p = ParamField("Price Field");
windowSize = Param("Window Size", 9, 5, 201, 2);
sigma = Param("Sigma", 6, 1, 20);
Offset = Param("Offset", 0.85, 0.05, 1.0, 0.05);

m = floor(Offset * (windowSize - 1));
s = windowSize / sigma;

w = 0;
wSum = 0;

for(i = 1; i < windowSize; i++)
{
w = exp(-((i-m)*(i-m))/(2*s*s));
wSum += w[i];
}

for(i = 1; i < windowSize; i++)
{
w[i] = w[i] / wSum;
}

alma = Null;

for(j = 1; j < BarCount; j++)
{
alSum = 0;

if(j < windowSize)
{
alma[j] = Null;
}
else
{
for(i = 1; i < windowSize; i++)
{
alSum += p[j - (windowSize - 1 - i)] * w[i];
}

alma[j] = alSum;
}
}

Plot(alma, "ALMA("+windowSize+","+sigma+","+Offset+")", ParamColor("ALMA Color", colorRed), ParamStyle("ALMA Style", styleLine|styleThick|styleNoLabel), maskDefault);
_SECTION_END();

[/i][/i][/i][/i]

jones

Profi

Registrierungsdatum: 22. Oktober 2011

Beiträge: 230

Wohnort: Österreich

2

Freitag, 20. Februar 2015, 17:24

hallo vbs - versuch es mal damit - ohne Gewähr und Kalaschnikof. Es gibt da aber sicher eine noch eine bessere Lösung.

calc sigma: [6,0.1,10,0.1,6,0.1,3];
calc offset: [0.85,0,1,0.1,1,0.01,3];
calc w0: EXP(-Power(0-FLOOR(offset*8), 2)/(2*Power(9/sigma, 2)));
calc w1: EXP(-Power(1-FLOOR(offset*8),2)/(2*Power(9/sigma, 2)));
calc w2: EXP(-Power(2-FLOOR(offset*8),2)/(2*Power(9/sigma,2)));
calc w3: EXP(-Power(3-FLOOR(offset*8),2)/(2*Power(9/sigma,2)));
calc w4: EXP(-Power(4-FLOOR(offset*8),2)/(2*Power(9/sigma,2)));
calc w5: EXP(-Power(5-FLOOR(offset*8),2)/(2*Power(9/sigma,2)));
calc w6: EXP(-Power(6-FLOOR(offset*8),2)/(2*Power(9/sigma,2)));
calc w7: EXP(-Power(7-FLOOR(offset*8),2)/(2*Power(9/sigma,2)));
calc w8: EXP(-Power(8-FLOOR(offset*8),2)/(2*Power(9/sigma,2)));
calc s0: w0*Ref(Close,-8);
calc s1: w1*Ref(Close,-7);
calc s2: w2*Ref(Close,-6);
calc s3: w3*Ref(Close,-5);
calc s4: w4*Ref(Close,-4);
calc s5: w5*Ref(Close,-3);
calc s6: w6*Ref(Close,-2);
calc s7: w7*Ref(Close,-1);
calc alma: If((w0+w1+w2+w3+w4+w5+w6+w7+w8) > 0,(s0+s1+s2+s3+s4+s5+s6+s7+w8*Close)/(w0+w1+w2+w3+w4+w5+w6+w7+w8),Close);
alma
»jones« hat folgendes Bild angehängt:
  • ALMA.PNG
lg jones

VBS

Fortgeschrittener

Registrierungsdatum: 9. November 2008

Beiträge: 109

3

Freitag, 20. Februar 2015, 19:10

Danke Jones,

habe auf einem 100 Tick-Chart den ALMA(21) mit dem Hull(21) verglichen; die Unterschiede sind doch eher minimal...

Alma oben Hull in der Mitte.



VG, VBS