Hallo Trader! Heute möchte ich euch den Doji Hunter vorstellen, einen praktischen Indikator für MetaTrader 4, der euch hilft, Dojis in euren Charts zu identifizieren.
Für den Anfang habe ich eine Variable namens RangeOfBars hinzugefügt. Diese erlaubt es euch, festzulegen, wie viele Kerzen zurück ihr nach einem Doji suchen möchtet. So könnt ihr auch doppelte Dojis erkennen! Wenn ihr RangeOfBars auf 2 oder 3 setzt, könnt ihr in der ersten, zweiten oder dritten Kerzenposition nach einem potenziellen doppelten Doji suchen. Ihr könnt sogar eine Methode für IsDoji erstellen, die nur die erste Kerzenposition betrachtet, und eine zweite Methode, um die erste und zweite Position für einen doppelten Doji zu analysieren. Dadurch könnt ihr euren Code so schreiben: Wenn IsDoji, dann kein Handel; wenn IsDoubleDoji, dann auf Erweiterung handeln usw.
Die ursprüngliche Programmierung des Doji Readers 2 hatte Probleme mit 5-stelligen Bedingungen. Hier seht ihr, dass es eine effizientere Möglichkeit gibt, dies zu schreiben. Zugegeben, vielleicht ist mein Ansatz nicht der beste, aber er ist ein Schritt in die richtige Richtung.
Ich habe die ShowCandleBox beibehalten, da ich sie als schöne Möglichkeit empfinde, einen Indikator im Chart darzustellen, und sie hat sich in meinen Tests bewährt. Die zusätzlichen Indikatoren waren zwar nett, aber ich wollte es einfach halten. Auch der zusätzliche Text war informativ und half beim Auffinden des Dojis, aber weniger ist manchmal mehr!
Eine wesentliche Änderung war die Anpassung der Konfigurationswerte auf doubles anstelle von integers. Durch die Verwendung von doubles können wir die 5-stellige Präzision nutzen und erhalten einen klareren und präziseren Doji. Achtung: Wenn ihr einen Indikator verwendet, der auf einem double basiert, solltet ihr niemals einen integer verwenden, es sei denn, ihr zählt etwas.
Ich habe auch einen Zähler-Reset hinzugefügt, damit die Boxen nicht endlos weitergezählt werden. Jedes Mal, wenn der Indikator verarbeitet wird, lief der gleiche Zähler immer weiter. Mit dem Reset erhalten wir eine genaue Zählung, die zu Beginn jedes Verarbeitungszyklus zurückgesetzt wird.
Zusätzlich habe ich einen Puffer und einen Pufferreinigungsprozess eingebaut, sodass ihr standardmäßig 0 und 1, wenn gefunden, an den Code weitergeben könnt. Indem wir den Bereich klein halten, vermeiden wir übermäßige CPU-Nutzung durch alte Daten, die uns nicht interessieren.
Hier ist ein Beispiel, wie ihr es in euren Code einfügen könnt:
extern string __DOJI_HUNTER_SETTINGS = "-----"; int RangeOfBars = 3; bool ShowCandleBox = true; //false um die Kerzenbox auszublenden extern color BoxColor = MistyRose; //füge deine Lieblingsfarbe hinzu
Hier ist ein Beispielaufruf, um die Daten zum Doji zu erhalten. Achtung: Platziert diesen Aufruf im neuen Kerzenereignis eures Codes; eine Platzierung im Tick-Ereignis könnte Probleme verursachen:
Doji1 = iCustom(NULL, 0, "Doji_Hunter", RangeOfBars, ShowCandleBox, BoxColor, FindRegularDoji, MinLengthOfUpTail, MinLengthOfLoTail, MaxLengthOfBody, FindDragonflyDoji, MaxLengthOfUpTail1, MinLengthOfLoTail1, MaxLengthOfBody1, FindGravestoneDoji, MinLengthOfUpTail2, MaxLengthOfLoTail2, MaxLengthOfBody2, 0, 0);
Der obige Code-Schnipsel liefert die erste Kerzenpositionswerte von entweder 0 oder 1, wobei 1 bedeutet, dass ein Doji gefunden wurde.
Verwandte Beiträge
- Tägliche prozentuale Veränderung in MT4 – Indikator für MetaTrader 4
- Uniformitätsfaktor-Indikator für MetaTrader 5: Analysiere deine Preisbewegungen
- Erstelle deinen eigenen neuronalen Netzwerk-Prädiktor für MetaTrader 4
- Tägliche prozentuale Veränderung in MT5 – Indikator für MetaTrader 5
- Boom Index Spike Pattern – Ein Leitfaden für MetaTrader 5 Trader