Thema: Array
Einzelnen Beitrag anzeigen
  #3 (permalink)  
Alt 21.11.18
Angel Angel ist offline
Mitglied
 
Registriert seit: Dec 2017
Ort: 76891
Beiträge: 126
Angel befindet sich auf einem aufstrebenden Ast
Standard

Ok, ich denke, ich hab´s.
So viel ich nun "erforscht" habe, wird NormalizeDouble maximal mit 4 Ziffern ausgegeben (Warum auch immer), intern jedoch wird jedoch mit der angeforderten Stellenzahl gerechnet.
Um das Ergebnis zu kontrollieren bzw. die korrekte Stellenzahl BEIM AUSDRUCK (Print / Comment) zu erhalten, sollte man die Funktion DoubleToStr() verwenden.
Also nochmal: NormalizeDouble() taugt m.E. für Lotsize-Berechnungen. Intern wird die double-Variable mit hinreichender (Nachkomma-)Genauigkeit berechnet ( besser als float). Zum Darstellen dann die DoubleToStr()-Funktion nehmen.

Hier die Abänderung:

Code:
double MAErgebnis;
double MA[11];

for (int Index = 10;Index > 0;Index --) //Zähle "Index" Kerzen rückwärts bis zur aktuellen Kerze
   { 
   MAErgebnis=(iMA(NULL,1,4,0,1,0,Index)); //NULL bedeutet das aktuelle Paar, 1 bedeutet M1, 4 die Periode der EMA4, 0 = MA_shift, 1 = die Methode EMA, die 0 der Close und der Index der um den Index Kerzen verschobenen Indikator
   MA[Index]=MAErgebnis;
   
   }
Comment(" MA9 = ",DoubleToStr(MA[9],5)," MA5 = ",MA[5]," MA1 =",MA[1]);
__________________
MQL4-Interessiert... und noch gaaaanz am Anfang