Es ist ein großartiger Indikator. Er nimmt nicht viel Platz auf dem Diagramm ein. Wenn wir eine Warnung hinzufügen könnten, wäre das großartig.
VIJAY JADAV MACD Flat Trend Indicator) einstellen, ist dies möglich? Wenn dies möglich ist, was muss ich dann im .mq5-Code ändern? sagen Sie mir, ich werde es tun, DANKE SIR
//--- Расчёт индикатора for(int i=limit; i>=0 && !IsStopped(); i--) { BufferNL[i]=BufferDN[i]=BufferUP[i]=EMPTY_VALUE; if(BufferMACD[i]>0 && BufferSignal[i]<BufferMACD[i]) { BufferUP[i]=0.5; BufferNL[i]=BufferDN[i]=EMPTY_VALUE; Alert("Buy ", _Symbol); } else { if(BufferMACD[i]<0 && BufferSignal[i]>BufferMACD[i]) { BufferDN[i]=0.5; BufferNL[i]=BufferUP[i]=EMPTY_VALUE; Alert("Sell ", _Symbol); } else { BufferNL[i]=0.5; BufferDN[i]=BufferUP[i]=EMPTY_VALUE; } } }
Ryan L Johnson #:
Vielen Dank, Sir, dass Sie dies für mich getan haben, aber es gibt ein kleines Problem in diesem
Die Änderung, die Sie vorgenommen haben, sorgt dafür, dass der Ton kontinuierlich abgespielt wird,
Ich möchte, dass ein Alarm nur bei der ersten Kerze der grünen Linie ausgelöst wird, bei den folgenden Kerzen soll kein Alarm ausgelöst werden.
Der Alarm sollte nur dann ausgelöst werden, wenn sich MaCd-Linie und Signallinie kreuzen, andernfalls sollte der Alarm nicht ausgelöst werden,
Ab der zweiten Kerze der grünen Linie sollte es keine Alarme mehr geben,
DANKESCHÖN
VIJAY JADAV #:
Vielen Dank, Sir, dass Sie das für mich getan haben, aber es gibt ein kleines Problem in diesem
Die von Ihnen vorgenommene Änderung führt dazu, dass der Ton kontinuierlich abgespielt wird,
Ich möchte einen solchen Alarm, dass, wenn die grüne Linie beginnt, sollte ich einen Alarm nur auf seine erste Kerze, sollte ich nicht einen Alarm auf die Kerzen danach erhalten
Der Alarm sollte nur dann ausgelöst werden, wenn sich MaCd-Linie und Signallinie kreuzen, andernfalls sollte der Alarm nicht ausgelöst werden,
Ab der zweiten Kerze der grünen Linie sollte es keine Warnungen mehr geben,
DANKESCHÖN
//--- Расчёт индикатора int lastAlert = 0; // 0 ist flach, 1 ist kaufen, 2 ist verkaufen for(int i=limit; i>=0 && !IsStopped(); i--) { BufferNL[i]=BufferDN[i]=BufferUP[i]=EMPTY_VALUE; if(BufferMACD[i]>0 && BufferSignal[i]<BufferMACD[i]) { BufferUP[i]=0.5; BufferNL[i]=BufferDN[i]=EMPTY_VALUE; if(lastAlert != 1) { Alert("Buy ", _Symbol); lastAlert = 1; } } else { if(BufferMACD[i]<0 && BufferSignal[i]>BufferMACD[i]) { BufferDN[i]=0.5; BufferNL[i]=BufferUP[i]=EMPTY_VALUE; if(lastAlert != 2) { Alert("Sell ", _Symbol); lastAlert = 2; } } else { BufferNL[i]=0.5; BufferDN[i]=BufferUP[i]=EMPTY_VALUE; lastAlert = 0; } } }
Ich habe eine Variable hinzugefügt, um den Alarm auf einen Alarm pro Crossover zu begrenzen.
Wenn Sie immer noch Intrabar-Warnungen erhalten, schränkt der folgende Code die Warnungen zusätzlich durch die Öffnungszeit des Balkens ein. Historische Pufferwerte können nicht verwendet werden, da sie leere Werte haben. Seien Sie sich bewusst, dass ich diesen Code weder kompiliert noch getestet habe, aber ich bin mir sicher, dass Sie es tun werden und sich wieder melden werden 😉 .
// diese 2 Zeilen oben in den Bereich der globalen Variablen einfügen datetime lastOpenTime; ulong uLastOpenTime; ////////////////////////////////////////////////// // Fügen Sie diese 2 Zeilen in die Funktion OnInit() ein lastOpenTime = 0; uLastOpenTime = ulong(lastOpenTime); ////////////////////////////////////////////////// //--- Расчёт индикатора int lastAlert = 0; // 0 ist flach, 1 ist kaufen, 2 ist verkaufen for(int i=limit; i>=0 && !IsStopped(); i--) { BufferNL[i]=BufferDN[i]=BufferUP[i]=EMPTY_VALUE; if(BufferMACD[i]>0 && BufferSignal[i]<BufferMACD[i]) { BufferUP[i]=0.5; BufferNL[i]=BufferDN[i]=EMPTY_VALUE; if(lastAlert != 1 && uLastOpenTime < ulong(iTime(_Symbol, PERIOD_CURRENT, 1)) { Alert("Buy ", _Symbol); lastAlert = 1; uLastOpenTime = ulong(iTime(_Symbol, PERIOD_CURRENT, 1); } } else { if(BufferMACD[i]<0 && BufferSignal[i]>BufferMACD[i]) { BufferDN[i]=0.5; BufferNL[i]=BufferUP[i]=EMPTY_VALUE; if(lastAlert != 2 && uLastOpenTime < ulong(iTime(_Symbol, PERIOD_CURRENT, 1)) { Alert("Sell ", _Symbol); lastAlert = 2; lastOpenTime = ulong(iTime(_Symbol, PERIOD_CURRENT, 1); } } else { BufferNL[i]=0.5; BufferDN[i]=BufferUP[i]=EMPTY_VALUE; lastAlert = 0; } } }
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
MACD_Flat_Trend:
Der Indikator MACD Flat Trend
Autor: Scriptor