EA Hilfestellung Signalflackern

 

Hallo zusammen,

ich habe ein Problem mit einem MQL5 Expert Advisor (EA). Wir nutzen einen Indikator, der entscheidet, ob wir kaufen oder verkaufen sollen. Aktuell ist die Berechnung so eingestellt, dass bei Eingang eines Signals eine Kerze (+1) dazuaddiert wird. Dies dient dazu, zu vermeiden, dass wir aufgrund eines kurzzeitigen Signals (was ich als "Einstiegsflackern" bezeichne) in einen Kauf oder Verkauf einsteigen, obwohl am Ende dieser Kerze möglicherweise kein Signal mehr vorhanden ist.

Meine Frage ist: Hat jemand eine Idee, wie ich den EA so einstellen kann, dass er nur dann in eine Position einsteigt, wenn die Kerze abgeschlossen ist und das Signal immer noch vorhanden ist?

Vielen Dank im Voraus für eure Hilfe!

 

Ich verwende das, um den neuen Balken zu erkennen:

#define  IxB(t)               ((int)((t)%86400))/PeriodSeconds(_Period) // Index of the bar of the day

static int IdxBa
if (IdxBar != IxB(TimeCurrent())) {                 // test of new bar
   IdxBar = IxB(TimeCurrent());                      // IxB(t)  => Index of the bar of the day
 


Danke dir für die schnelle Antwort, hat funktioniert! 
Weißt du auch, wie ich eine boolsche Variable eines Indikators in den Bot übergeben kann, damit dieser dann handelt?


 

Für das übermitteln von Werten von einem Indikator zu einem EA gibt es nur double Arrays, aber auch deren Werte können auf 0.0 oder 1.0 gesetzt werden. Ich würde dann aber abfragen:

if (buffer[1]> 0.5) {      //  == 1
   ...
} else {                           // == 0
   ...
}

Wegen:

https://www.mql5.com/en/forum/369325/page2#comment_22338944
https://www.mql5.com/en/forum/390336#comment_28182542

Can't round a number "0.13"
Can't round a number "0.13"
  • 2021.05.15
  • www.mql5.com
I can't place an order because I get an error that there's too many digits in the quantity...