Diskussion zum Artikel "Wie man einen nutzerdefinierten Indikator (Heiken Ashi) mit MQL5 erstellt"

 

Neuer Artikel Wie man einen nutzerdefinierten Indikator (Heiken Ashi) mit MQL5 erstellt :

In diesem Artikel erfahren Sie, wie Sie mit MQL5 einen nutzerdefinierten Indikator nach Ihren Wünschen erstellen können, der in MetaTrader 5 zum Lesen von Charts oder in automatisierten Expert Advisors verwendet werden kann.

Die Heiken Ashi-Charts ähneln den normalen technischen Kerzencharts, aber die Berechnung zur Darstellung dieser Kerzen ist anders. Es gibt nämlich zwei unterschiedliche Methoden. Wie wir wissen, berechnet der normale Kerzenchart die Preise auf der Grundlage der tatsächlichen Eröffnungs-, Höchst-, Tiefst- und Schlusskurse in einem bestimmten Zeitraum, aber der Heiken Ashi berücksichtigt bei der Berechnung seiner Kerzen die Preise der vorherigen ähnlichen Preise (Eröffnungs-, Höchst-, Tiefst- und Schlusskurse).

So werden die relevanten Werte für Heiken Ashi berechnet:

  • Open = (Open der vorherigen Kerze + Close der vorherigen Kerze) / 2
  • Close = (Open + Close + High + Low der aktuellen Kerze) / 4
  • Hoch = der höchste Wert des Hochs, des Eröffnungswerts oder des Schlusswerts des aktuellen Zeitraums
  • Tiefstwert = der niedrigste Wert des Tiefstwerts, des Eröffnungswerts oder des Schlusswerts des aktuellen Zeitraums

Auf der Grundlage der Berechnung konstruiert der Indikator Auf- und Abwärtskerzen, deren Farben die jeweilige Marktrichtung anzeigen: ob es sich um einen Auf- oder Abwärtstrend handelt. Das folgende Beispiel zeigt die traditionellen japanischen Kerzen und den Heiken Ashi, damit Sie den Unterschied aus visueller Sicht erkennen können.

 ha-Indikator

Autor: Mohamed Abdelmaaboud

 

Deklaration- Definition

Hi, 
wie ich sehe, verwendest Du zur objektorientierten Programmierung die Member OnInit(),- OnDenit(),- OnTick().
Aber gehört die Deklaration- bzw. das Initialisieren der Variablen, wie z.B. double heikenAshiOpen[]… nicht einmalig in die OnInit()- und Folge dessen das Bewerten der Variablen (Definition), wie auch die Objektvariablen, fastEMA- und slowEMA in den Ticker?

 

Im Prinzip ja, aber hier nicht, da die Variablen bei Verlassen der Funktion(en) ihre Werte wieder verlieren würden. Google mal nach: site:mql5.com scope variable

und lies: https://www.mql5.com/en/docs/basis/variables/variable_scope

Documentation on MQL5: Language Basics / Variables / Visibility Scope and Lifetime of Variables
Documentation on MQL5: Language Basics / Variables / Visibility Scope and Lifetime of Variables
  • www.mql5.com
Visibility Scope and Lifetime of Variables - Variables - Language Basics - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5
 

Deklaration- Definition

Hi, 
wie ich sehe, verwendest Du zur objektorientierten Programmierung die Member OnInit(),- OnDenit(),- OnTick().
Aber gehört die Deklaration- bzw. das Initialisieren der Variablen, wie z.B. double heikenAshiOpen[]… nicht einmalig in die OnInit()- und Folge dessen das Bewerten der Variablen (Definition), wie auch die Objektvariablen, fastEMA- und slowEMA in den Ticker?

Ich denke genauso wie Carlo. Arrays in

OnInit()

werden nur beim Hochladen des EA's geladen und bei Timeframe - Wechsel.

Weil sich der Wert beim jeden Tick ändert.

Und bei Indikator halt, tut das 

OnCalculate

berechnen.