¡Ayuda!
¡Cómo especificar que con la apertura de una vela se abrió una orden, y con la apertura de la siguiente se cerró y se abrió una nueva!
Primero hay que especificar la plataforma.
Mt4
Esta es la función para determinar el inicio de una nueva barra
/// Определяет начало нового бара bool NewBar() { static datetime lastbar = 0; datetime curbar = iTime(Symbol(), PERIOD_M1, 0); if(lastbar!=curbar) { lastbar=curbar; return (true); } return(false); }
Gracias.
¡¡¡esta no es la función correcta!!!
Dará una señal falsa en la primera ejecución del EA
Esta es la forma correcta y fiable :
// =========================================================================================================// bool NewBar() { static datetime time=0; datetime cur_time = iTime(Symbol(), PERIOD_CURRENT, 0); if(time==0) { time=cur_time; return false; } if(time!=cur_time) { time=cur_time; return true; } return false; } // =========================================================================================================//
¡¡¡esta no es la función correcta!!!
Dará una señal falsa en el primer inicio del EA
Esta es la forma correcta y fiable de hacerlo :
¡Cómo prescribir que con la apertura de una vela se abrió una orden, y con la apertura de la siguiente vela se cerró y se abrió una nueva!
Un si innecesario es como una piedra en el cuello del EA.
bool NEW_BAR() еще короче { static int nBars=0; if(nBars!=Bars) { nBars=Bars; return(true); } return(false); }
Entonces pon el segundo.