Einzelnen Beitrag anzeigen
  #2 (permalink)  
Alt 22.05.21
Benutzerbild von Indikator-Trading
Indikator-Trading Indikator-Trading ist offline
Premium Mitglied
 
Registriert seit: May 2020
Ort: Bielefeld
Beiträge: 345
Indikator-Trading befindet sich auf einem aufstrebenden Ast
Standard

Code:
//Holt das Handle
int handleHA = iCustom(Symbol(),PERIOD_M30,"Examples\\Heiken_Ashi");
Das ist jetzt das Handle von dem Heiken_Ashi in M30. Also nur in M30, in keiner anderen Timeframe


Code:
//Trägt Open und Close für alle Kerzen im Chart in den Buffer
CopyBuffer(handleHA,0,0,Bars(Symbol(), PERIOD_CURRENT),bufferOpen); 
CopyBuffer(handleHA,1,0,Bars(Symbol(), PERIOD_CURRENT),bufferClose);
Hier kommen wir zu dem ersten Problem. Was ist PERIOD_CURRENT? M30, M15, D1 ???
handleHA bezieht sich nur auf M30. Die verfügbaren Bars aus einer anderen Timeframe als M30 abzufragen, macht also keinen Sinn. Auch stellt sich mir die Frage, ob du wirklich alle HA Bars abfragen musst, oder evtl. nur die letzen X Bars um dein Signal zu generieren.
Bei der Abfrage der aller ersten Bars im M30 TF wirst du sowieso keine sinnvollen Werte erwarten können. Der HA-Indikator braucht ein paar Bars um seine Berechnungen durchzuführen, ich glaube es sind in der Standardeinstellung 6 Bars. Vorher werden keine Sinnvollen Werte aus dem HA Indikator kommen. Das selbe gilt für jeden "laggy" Indikator, also einen Indikator, welcher Daten aus der Vergangenheit zur Ermittlung seiner Signale benötigt. Einfachstes Beispiel: SMA 10, also der Mittelwert von den letzten 10 Werten. Willst du jetzt den Wert vom aller ersten Bar abfragen, dann wird das im Idealfall einfach nur genau dieser Wert sein, was noch der Beste Fall wäre. Dies hängt davon ab wie schäbig das der jeweilige Programmiere umgesetzt hat. Bar 2 wäre dann schon der Mittelwert von den letzten beiden Bars, mehr aber auch nicht. Damit du also immer sinnvolle Werte deiner Indikatoren abfragst, musst du wissen wie viele Bars der jeweilige Indikator mindestes zu Berechnung benötigt. Dies sollte dann im Idealfall bei der Abfrage Rechnung getragen werden.

Code:
//Holt für die jeweilige abzufragende Kerze den Wert aus dem Array 
openH = bufferOpen[shiftHA];
closeH = bufferClose[shiftHA];
ist das Array Serial oder nicht, also in welcher Reihenfolge beschrieben?
Dies wird durch den Aufruf von ArraySetAsSeries() mit den entsprechenden Parametern definiert.
Welchen Wert hat shiftHA?

Gruß Timo