Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1754
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
La situación es la siguiente: la variable X almacena el índice de la barra en el historial, sabemos que cuando aparece una nueva barra, hay un desplazamiento, y por tanto X ya apunta a una barra diferente. ¿Cómo solucionarlo? La idea: con cada nueva barra aumentamos el contador (count++) y lo añadimos a X. Por lo tanto, X siempre apuntará a la misma barra independientemente del desplazamiento. Pero hay un problema - cuando el EA se inicializa la primera barra actual no debe ser tomado en cuenta. Creo que puede ser fácilmente resuelto si la cuenta es inicialmente igual a -1. Es decir, en la barra actual después de la cuenta de incremento será "0", y en la siguiente barra nueva (cuando el primer desplazamiento por 1 barra ha ocurrido después de la inicialización) será "1". ¿Qué te parece? ¿Quizás estoy pensando en el lugar equivocado?
Si es un indicador, es suficiente
a todos los arrays y buffers del indicador utilizado.
Entonces la barra de cero se convertirá en rates_total-1
La situación es la siguiente: la variable X almacena el índice de la barra en el historial, sabemos que cuando aparece una nueva barra, hay un desplazamiento, y por tanto X ya apunta a una barra diferente. ¿Cómo solucionarlo? La idea: con cada nueva barra aumentamos el contador (count++) y lo añadimos a X. Por lo tanto, X siempre apuntará a la misma barra independientemente del desplazamiento. Pero hay un problema - cuando el EA se inicializa la primera barra actual no debe ser tomada en cuenta. Creo que puede ser fácilmente resuelto si la cuenta es inicialmente igual a -1. Es decir, en la barra actual después de la cuenta de incremento será "0", y en la siguiente barra nueva (cuando el primer desplazamiento por 1 barra ha ocurrido después de la inicialización) será "1". ¿Qué te parece? ¿Quizás estoy pensando en el lugar equivocado?
¿Por qué tomarse tantas molestias?
Es más fácil para mí)
Pero el procesador es más pesado...
Pero el procesador es más pesado...
La situación es la siguiente: la variable X almacena el índice de la barra en el historial, y sabemos que cuando aparece una nueva barra, ésta se desplaza y por tanto X ya apunta a otra barra. ¿Cómo solucionarlo? La idea: con cada nueva barra aumentamos el contador (count++) y lo añadimos a X. Por lo tanto, X siempre apuntará a la misma barra independientemente del desplazamiento. Pero hay un problema - cuando el EA se inicializa la primera barra actual no debe ser tomado en cuenta. Creo que puede ser fácilmente resuelto si la cuenta es inicialmente igual a -1. Es decir, en la barra actual después de la cuenta de incremento será "0", y en la siguiente barra nueva (cuando el primer desplazamiento por 1 barra ha ocurrido después de la inicialización) será "1". ¿Qué te parece? ¿Tal vez estoy pensando en el lugar equivocado?
No hay. No hay nada en X cuando se carga el EA/indicador si está dentro de la terminal, a menos que sea una variable intu o externa o global fuera de la terminal, por lo que hay que escribir algo allí primero. Y luego simplemente leemos los cambios del número total de barras (cuenta de la aparición de una nueva barra).
datetime BarTime;
Saludos. ¿Puedes darme una pista? ¿Cómo en mt5 en la inicialización o en la garrapata para definir las pruebas?
Hasta ahora sólo he encontrado OnTester(), que se llama justo antes de OnDeinit().
@Valeriy Yastremskiy El índice se coloca en X todavía en OnInit(). Mi código es el siguiente:
La condición con FlagNewBar me parece redundante.