Indikatoren: Heikin Ashi Lines

 

Heikin Ashi Lines:

Eine einfachere Art, Heikin Ashi anzuzeigen

Heikin Ashi Lines

Author: FMIC

 
   // Makros zur Ablaufsteuerung der OnCalculate-Schleife definieren
      #ifdef __MQL4__   // für MQL4 (als Zeitreihen)
         #define  MOnCalcNext(  _index          ) ( _index--             )
         #define  MOnCalcBack(  _index, _offset ) ( _index + _offset     )
         #define  MOnCalcCheck( _index          ) ( _index >= 0          )
         #define  MOnCalcValid( _index          ) ( _index < rates_total )
         #define  MOnCalcStart \
            ( rates_total - ( prev_calculated < 1 ? 1 : prev_calculated ) )
      #else             // für MQL5 (als Nicht-Reihe)
         #define  MOnCalcNext(  _index          ) ( _index++             )
         #define  MOnCalcBack(  _index, _offset ) ( _index - _offset     )
         #define  MOnCalcCheck( _index          ) ( _index < rates_total )
         #define  MOnCalcValid( _index          ) ( _index >= 0          )
         #define  MOnCalcStart \
            ( prev_calculated < 1 ? 0 : prev_calculated - 1 )
      #endif

Warum verwendest du nicht `ArraySetAsSeries()`? Damit wäre es möglich, für beide Sprachversionen dieselben Makros zu verwenden.

Das ist keine Kritik, ich bin nur neugierig.

Ich nehme an, es ist für dich einfach bequemer.

 
Unglaublich
[Gelöscht]  
Vladislav Boyko #: Warum verwendest du nicht `ArraySetAsSeries()`? Damit wäre es möglich, dieselben Makros für beide Sprachversionen zu verwenden. Das ist keine Kritik, ich bin nur neugierig. Ich nehme an, es ist für dich einfach bequemer.

Ich entscheide mich für Makros, damit die Entscheidung bereits zur Kompilierungszeit getroffen wird, anstatt wie bei `ArraySetAsSeries()`, das zur Laufzeit ausgeführt wird – im Sinne einer gewissen zusätzlichen Effizienz.

In diesem Fall macht es, da es sich um einen sehr einfachen Indikator handelt, eigentlich gar keinen großen Unterschied, aber bei wesentlich komplexeren Indikatoren kann es durchaus einen Unterschied machen.

[Gelöscht]  
Roberto Jacobs #: Unglaublich

Entschuldigung, aber ich habe die Bedeutung Ihres Beitrags nicht ganz verstanden. Könnten Sie das näher erläutern?

 
Fernando Carreiro #:

Ich verwende Makros, damit die Entscheidung bereits zur Kompilierungszeit getroffen wird, anstatt mit `ArraySetAsSeries()`, das zur Laufzeit ausgeführt wird – dies dient der zusätzlichen Effizienz.

In diesem Fall macht es angesichts der Tatsache, dass es sich um einen sehr einfachen Indikator handelt, eigentlich kaum einen Unterschied, bei wesentlich komplexeren Indikatoren kann dies jedoch durchaus der Fall sein.

Vielen Dank!

 
Vielen Dank, Fernando, das ist für einen Neuling unglaublich hilfreich. Danke auch für den Tipp zu den öffentlichen Projekten. Ich wusste gar nicht, dass es das gibt. Irgendwie war mir diese Funktion entgangen. Hoffentlich finde ich eine Anleitung, wie man diese Funktion nutzt.
[Gelöscht]  
Vladislav Boyko #: Vielen Dank!
linfo2 #: Danke , Fernando, das ist unglaublich hilfreich für einen Neuling. Danke auch für den Tipp zu den öffentlichen Projekten. Ich wusste gar nicht, dass es das gibt. Irgendwie hatte ich diese Funktion übersehen. Hoffentlich finde ich eine Anleitung, wie man diese Funktion nutzt.

Gern geschehen!

 

Ich habe nachgeschlagen, wie die Berechnungen für den Heiken-Ashi erfolgen, und bezüglich der Höchstwerte wird erklärt: „der Höchstwert aus dem Höchstkurs, dem Eröffnungskurs oder dem Schlusskurs der aktuellen Periode“ und bezüglich der Tiefstwerte: „der Tiefstwert aus dem Tiefstkurs, dem Eröffnungskurs oder dem Schlusskurs der aktuellen Periode“. Ist das nicht dasselbe wie zu sagen, dass die Höchst- und Tiefststände mit den Kerzen zusammenfallen? Wenn dem so ist, ist Ihre Idee, sie als Linien darzustellen, einfach und genial: Man erkennt den Heiken-Ashi-Trend auf den ersten Blick, ohne auf die normalen Kerzen verzichten zu müssen.

Automatisierte Übersetzung durch den Moderator. Bitte schreiben Sie im englischen Forum auf Englisch.

[Gelöscht]  
@Daniel Eduardo San Martin #: Ist das nicht dasselbe wie zu sagen, dass die Höchst- und Tiefststände mit den Kerzen zusammenfallen?

Meistens ja, aber wenn der Heikin-Ashi-Eröffnungswert (gleitender Durchschnitt) über dem Hoch bzw. Tief der normalen Kerze liegt, wird dieser Wert zum Heikin-Ashi-Hoch bzw. -Tief.

 
Fernando Carreiro #:

Es tut mir leid, aber ich habe den Sinn Ihres Beitrags nicht ganz verstanden. Könnten Sie das bitte näher erläutern?

Ich finde Ihren Code sehr gut und leistungsstark. Ich habe die mq5-Datei nicht heruntergeladen.
Den Code für MT4, den Sie geteilt haben, habe ich einfach kopiert, in den MetaEditor MQL5 eingefügt und als mq5 gespeichert – und alles läuft reibungslos.