Donnerstag, 18. April 2024, 07:30 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Lieber Besucher, herzlich willkommen bei: INVESTOX-Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

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