Indikatoren: MACD Divergence - Seite 2

 

ist alles in Ordnung, aber wenn Sie den ursprünglichen MACD und diesen MACD übereinander legen, können Sie sehen, dass aus irgendeinem Grund die Haupt- und Signallinie zwischen ihnen nicht übereinstimmen.

 

Hallo Alain,

vielen Dank für die Bereitstellung dieses schönen Indikators.

Ich habe allerdings ein kleines Problem. Ich versuche, ihn in einem EA zu implementieren und habe Probleme, den Puffer zu kopieren und einen aussagekräftigen Wert zu erhalten, um ein Signal zu erzeugen.

Puffer 0 und 1 sind die Puffer, die einen Wert ausgeben, sobald eine Divergenz erkannt wird. Wenn es keine Divergenz gibt, geben diese Puffer keinen Wert im Datenfenster zurück.

So weit, so gut, aber wenn ich beide Puffer kopiere, ist der Wert, der zurückgegeben wird, immer derselbe für beide Puffer und entspricht nicht dem Wert, der im Datenfenster zurückgegeben wird.

So kopiere ich den Puffer:

         if(CopyBuffer(macddiv_handle,0,1,1,macddiv_value1)<0 || CopyBuffer(macddiv_handle,1,1,1,macddiv_value2)<0)
            {
               Alert("Error Copying Buffer macddivergence - error:",GetLastError());
               ResetLastError();
               return;
            }     

Danach drucke ich die Werte einfach in das Journal und erhalte für jede Kerze diese seltsamen Ergebnisse:

2013.11.18 13:33:36 2013.01.02 02:20:00 val2: 1.797693134862316e+308
2013.11.18 13:33:36 2013.01.02 02:20:00 val1: 1.797693134862316e+308
2013.11.18 13:33:36 2013.01.02 02:15:00 val2: 1.797693134862316e+308
2013.11.18 13:33:36 2013.01.02 02:15:00 val1: 1.797693134862316e+308
2013.11.18 13:33:36 2013.01.02 02:10:00 val2: 1.797693134862316e+308
2013.11.18 13:33:36 2013.01.02 02:10:00 val1: 1.797693134862316e+308

Können Sie mir helfen, einen sinnvollen Wert zu erhalten?

 
Klammeraffe:

Hallo Alain,

vielen Dank für die Bereitstellung dieses schönen Indikators.

Ich habe allerdings ein kleines Problem. Ich versuche, ihn in einem EA zu implementieren und habe Probleme, den Puffer zu kopieren und einen aussagekräftigen Wert zu erhalten, um ein Signal zu erzeugen.

Puffer 0 und 1 sind die Puffer, die einen Wert ausgeben, sobald eine Divergenz erkannt wird. Wenn es keine Divergenz gibt, geben diese Puffer keinen Wert im Datenfenster zurück.

So weit, so gut, aber wenn ich beide Puffer kopiere, ist der Wert, der zurückgegeben wird, immer derselbe für beide Puffer und entspricht nicht dem Wert, der im Datenfenster zurückgegeben wird.

So kopiere ich den Puffer:

Danach drucke ich die Werte einfach in das Journal und erhalte für jede Kerze diese seltsamen Ergebnisse:

2013.11.18 13:33:36 2013.01.02 02:20:00 val2: 1.797693134862316e+308
2013.11.18 13:33:36 2013.01.02 02:20:00 val1: 1.797693134862316e+308
2013.11.18 13:33:36 2013.01.02 02:15:00 val2: 1.797693134862316e+308
2013.11.18 13:33:36 2013.01.02 02:15:00 val1: 1.797693134862316e+308
2013.11.18 13:33:36 2013.01.02 02:10:00 val2: 1.797693134862316e+308
2013.11.18 13:33:36 2013.01.02 02:10:00 val1: 1.797693134862316e+308

Können Sie mir helfen, einen sinnvollen Wert zu erhalten?

Es ist ein sinnvoller Wert, er entspricht EMPTY_VALUE, was standardmäßig DBL_MAX entspricht. Es ist eine gute Praxis, ihn für Pufferwerte von Indikatoren zu verwenden, die nicht auf dem Diagramm gezeichnet werden müssen.

Sie können ihn auf folgende Weise in Ihrem EA verwalten:

if(macddiv_value1[index] != EMPTY_VALUE) ...
 
angevoyageur:

Es ist ein sinnvoller Wert, der EMPTY_VALUE entspricht , der standardmäßig DBL_MAX entspricht. Es ist eine gute Praxis, ihn für Pufferwerte von Indikatoren zu verwenden, die nicht auf dem Chart gezeichnet werden müssen.

Sie können dies in Ihrem EA auf folgende Weise verwalten:

Vielen Dank für Ihre Hilfe. Ich weiß das sehr zu schätzen!

Okay, ich habe nach !=0 gesucht.

Das Problem ist jedoch, dass selbst die Kerzen, die Signale erzeugen, diesen Wert ausgeben, obwohl das Datenfenster einen anderen ausgibt.


   if (entry_signal==2)
      {
         Print("val1: ",macddiv_value1[0]);
         Print("val2: ",macddiv_value2[0]);
         
         buy_condition_1 = macddiv_value1[0] != EMPTY_VALUE;
         
         sell_condition_1 = macddiv_value2[0] != EMPTY_VALUE; 
      }
 
Klammeraffe:

Ich danke Ihnen für Ihre Hilfe. Ich weiß das sehr zu schätzen!

Okay, ich habe nach !=0 gesucht.

Das Problem ist jedoch, dass selbst die Kerzen, die Signale erzeugen, diesen Wert ausgeben, obwohl das Datenfenster einen anderen ausgibt.


Wo ist der Wert von val2 am 2013.01.02 13:50:00 in Ihrem Log? Er wird nicht angezeigt.
 
angevoyageur:
Wo steht der Wert von val2 am 2013.01.02 13:50:00 in Ihrem Protokoll? Er wird nicht angezeigt.

Das ist eine gute Frage. Ich habe es nicht bemerkt. Aber das ist genau der Wert, der fehlt, um ein Signal zu erzeugen, nicht wahr?

Denn Wert2 ist der Wert von Puffer 1, der die bärische Divergenz anzeigt.

Seltsam.

 
Klammeraffe:

Das ist eine gute Frage. Ich habe es nicht bemerkt. Aber das ist genau der Wert, der fehlt, um ein Signal zu erzeugen, nicht wahr?

Denn Wert2 ist der Wert von Puffer 1, der die bärische Divergenz anzeigt.

Seltsam.

Ja, seltsam. Wie auch immer, haben Sie diese "nutzlose Antwort" oben im Thema gelesen?

Forum

Indikatoren: MACD-Divergenz

angevoyageur, 2013.11.05 19:14

So freundlich.

Das Signal wird beim Schließen einer Kerze gegeben, 1 Kerze in der Vergangenheit (2, wenn man offene Kerzen zählt und nicht 3). Das ist normal und so muss es auch funktionieren. Die Divergenz basiert auf der Suche nach einem Extremum (oben/unten). Wenn Sie eine Möglichkeit haben, ein Extremum an der aktuellen Kerze zu erkennen, schlage ich vor, dass Sie programmieren lernen und uns diese großartige Innovation kostenlos zur Verfügung stellen.

Ich danke Ihnen für Ihren Beitrag.

Ich erlaube Ihnen, ihn zu lesen, ihn zu verstehen und ihn zu verwenden, um Ihren Code zu verbessern. Wenn Sie nicht finden, werde ich Ihnen morgen die Antwort geben.
 
angevoyageur:

Ja, seltsam. Wie auch immer, haben Sie diese "nutzlose Antwort" oben im Thema gelesen?

Ich lasse Sie es zu lesen, zu verstehen, und verwenden Sie es, um Ihren Code zu beheben. Wenn du sie nicht findest, werde ich dir morgen die Antwort geben.
Das habe ich nicht. Aber diese Antwort ist überhaupt nicht nutzlos. Vielen Dank für deine Hilfe. Ich habe es korrigiert :)
 

Was ist der MACD-Indikator? Wie kann ich ihn verwenden? (basierend auf einem Artikel von dailyforex)

Einer der gebräuchlichsten technischen Indikatoren, der von Daytradern auf den Finanzmärkten verwendet wird, ist der Moving Average Convergence Divergence - besser bekannt als MACD. Ein Fehler, den viele neue Händler machen, ist, dass sie einfach anfangen, diesen Indikator zu verwenden, ohne wirklich zu verstehen, wie er funktioniert oder seine Berechnungen macht. Dies kann zu kostspieligen Fehlern führen, die völlig vermeidbar gewesen wären. Es ist also sinnvoll, die Logik und die Berechnungen hinter dem MACD (und allen anderen Indikatoren) zu studieren, um Ihre Daytrading-Positionen genauer zu konfigurieren und beständig Gewinne zu erzielen.




Die Moving Average Convergence Divergence (MACD) definiert

Jeder, der sich mit den Devisenmärkten und technischen Analysestrategien auskennt, hat wahrscheinlich schon viel über den Moving Average Convergence Divergence (MACD) gehört. Aber was genau sagt uns der MACD - und wie wird er berechnet? Ohne ein Verständnis für diese Bereiche kann es schwierig sein, Handelssignale zu erkennen, wenn sie entstehen. Im Folgenden wird der MACD-Indikator dekonstruiert und erklärt, wie und warum er üblicherweise verwendet wird.

"In seiner grundlegendsten Form", so Haris Constantinou, Marktanalyst, "ist der MACD ein Momentum-Indikator, der darauf ausgelegt ist, bestehenden Trends zu folgen und neue Trends zu finden." Der MACD tut dies, indem er die Unterschiede und Beziehungen zwischen einer zweistufigen Kombination aus gleitenden Durchschnitten und der Preisaktivität selbst aufzeigt.

MACD-Berechnungen

Um den MACD zu bestimmen und zu berechnen, müssen wir einen 26-Perioden-EMA (Exponential Moving Average) von einem 12-Perioden-EMA subtrahieren. Anschließend wird ein 9-Perioden-EMA des MACD eingezeichnet, der die Signallinie für den Indikator darstellt. Die Signallinie wird über den MACD gezeichnet und dient als Auslöser für Handelssignale (sowohl Kauf- als auch Verkaufssignale). Diese Elemente bilden die Grundlage der MACD-Konstruktion, und es ist wichtig, dass Sie diese Elemente genau verstehen, wenn Sie den Indikator bei Ihrem täglichen Handel einsetzen wollen.

Drei gängige Herangehensweisen an den MACD

Nachdem wir nun die Grundlagen der MACD-Berechnung verstanden haben, ist es sinnvoll, sich einige der gängigen Methoden anzusehen, mit denen der MACD von Händlern betrachtet wird, um ein Gefühl dafür zu bekommen, wie genau der Indikator zur Identifizierung von Handelsmöglichkeiten eingesetzt wird. Es gibt verschiedene Möglichkeiten, den Indikator zu interpretieren, und die drei gängigsten Methoden, die sich für Händler als am effektivsten erwiesen haben, sind

  • Überkreuzungen,
  • Divergenzen,
  • und bei der Identifizierung von überkauften/überverkauften Bedingungen
Da der Indikator zu einem wichtigen Bestandteil der technischen Handelsgemeinschaft geworden ist, empfiehlt es sich, einige dieser Ansätze eingehender zu betrachten. Doch bevor Sie dies tun können, müssen Sie unbedingt die Grundlagen verstehen. Wenn dies nicht der Fall ist, kommt es bei vielen Händlern, die gerade erst anfangen, zu einer großen Anzahl von Verlusten.