Autor: dimeon
Der ColorXdinMA ist ein leistungsstarker Trendindikator für MetaTrader 5, der dir nicht nur die Möglichkeit gibt, die Trendrichtung zu erkennen, sondern auch Echtzeit-Alerts via E-Mail und Push-Benachrichtigungen auf dein mobiles Gerät zu senden.
Um die Alerts zu implementieren, wurden folgende Anpassungen im Code des Indikators vorgenommen:
- Globales Enumerationsfeld für die Optionen der Signalgenerierung vor den Eingangsvariablen definiert://+----------------------------------------------------+
//| Enumeration für Signal-Generierungsoptionen |
//+----------------------------------------------------+
enum ENUM_SIGNAL_MODE
{
MODE_SIGNAL, // Breakout-Signale
MODE_TREND // Breakout- und Trend-Signale
}; - Neue Eingabeparameter hinzugefügt://---- Eingangsvariablen für Alerts
input ENUM_SIGNAL_MODE SignMode=MODE_SIGNAL; // Signal-Generierungsmodus
input uint NumberofBar=1; // Anzahl der Kerzen für ein Signal
input bool SoundON=true; // Alerts aktivieren
input uint NumberofAlerts=2; // Anzahl der Alerts
input bool EMailON=false; // E-Mail-Benachrichtigungen aktivieren
input bool PushON=false; // Push-Benachrichtigungen aktivieren - Drei neue Funktionen am Ende des Indikatorcodes hinzugefügt: BuySignal(), SellSignal() und GetStringTimeframe()//+------------------------------------------------------------------+
//| Funktion für Kaufsignal |
//+------------------------------------------------------------------+
void BuySignal(string SignalSirname,// Text für E-Mail und Push-Nachrichten
double &ColorArray[],// Farb-Index-Puffer
int ColorIndex,// Farbindex im Puffer
const int Rates_total, // Aktuelle Anzahl der Kerzen
const int Prev_calculated,// Anzahl der Kerzen im vorherigen Tick
const double &Close[], // Schlusskurs
const int &Spread[]) // Spread
{
//---
static uint counter=0;
if(Rates_total!=Prev_calculated) counter=0;
... - Aufrufe der Funktionen BuySignal() und SellSignal() nach den Berechnungen im OnCalculate()-Block hinzugefügt://---
BuySignal("ColorXdinMA_Alert",ColorXdinMA,1,rates_total,prev_calculated,close,spread);
SellSignal("ColorXdinMA_Alert",ColorXdinMA,2,rates_total,prev_calculated,close,spread);
//---
Hierbei ist ColorXdinMA der Name des Farbindex-Puffers für die Indikatorfarben. Die Werte 1 und 2 stehen für die Farben, bei denen sich der gleitende Durchschnitt aufwärts bzw. abwärts bewegt.
Es wird angenommen, dass nur ein Aufruf der Funktionen BuySignal() und SellSignal() im OnCalculate()-Block des Indikatorcodes verwendet wird.
Der Indikator nutzt die Klassen der SmoothAlgorithms.mqh-Bibliothek (kopiere sie in <terminal_data_folder>\MQL5\Include). Die Nutzung dieser Klassen ist ausführlich im Artikel "Averaging Price Series for Intermediate Calculations Without Using Additional Buffers" beschrieben.

Fig1. Der ColorXdinMA_Alert-Indikator im Chart

Fig.2. Der ColorXdinMA_Alert-Indikator. Generierung des Alerts für Breakout-Signal

Fig.3. Der ColorXdinMA_Alert-Indikator. Generierung des Alerts für Trend-Signal
Verwandte Beiträge
- Tägliche prozentuale Veränderung in MT5 – Indikator für MetaTrader 5
- Uniformitätsfaktor-Indikator für MetaTrader 5: Analysiere deine Preisbewegungen
- Boom Index Spike Pattern – Ein Leitfaden für MetaTrader 5 Trader
- Open Range Breakout Indikator für MetaTrader 5: Ein unverzichtbares Tool für Trader
- Effizienzverhältnis (ER) mit dem Ringpuffer in MetaTrader 5 berechnen