Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 877
![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Es posible queUpper[i] no se llene en algunas barras (igual a 0).
Creo que he encontrado alguna pista para la solución: cuando la condición se escribe contra el estado actual del precio antes de ejecutar el código, el registro muestra lo siguiente:
Punto importante: estos parámetros coinciden con el precio ya generado anteriormente
Para aclarar:
La última línea del registro indica que el precio ha superado la línea superior. La única pregunta es ¿por qué lo hizo? Tengo una versión que durante el recálculo del indicador desde el principio hasta el momento actual el código registra estos eventos y se detiene en el último evento - explica la diferencia entre el precio y los datos de registro actuales, pero no explica nada más - necesito que el código haga una simple comparación en la lógica "el precio fue más allá de la línea superior - da la alerta pero no pasa nada".
También comprobé la condición del código cuando el precio está por debajo de la línea superior - simplemente no registró el evento en los registros, que está en la captura de pantalla de arriba - me detuve para entenderlo al final, si es que funciona.
Amigos míos, soy nuevo en MQL5, así que si los problemas que escribo aquí son culpa mía, por favor no me pateéis demasiado.
Quería hacer un búho multidivisa, pero me encontré con algunas cosas extrañas en el probador de estrategias que sólo aparecen al probar las multidivisas. Obtengo un extraño desplazamiento de los símbolos de las series temporales que no son el símbolo del gráfico principal. He hecho un búho simple que obtiene el cero y el tiempo de apertura de la primera barra por dos símbolos al principio de cada barra. Por alguna razón la serie de tiempo del segundo símbolo comienza a cambiar después de 1 barra. Aparece en cualquier símbolo y en cualquier marco temporal. He estado probando en EURUSD, el segundo símbolo fue GBPUSD. Lo he probado al revés, lo he probado en otros pares, siempre aparece el error. Esta es la foto del diario después de la prueba de М15:
Imagen de registro después de la prueba en H1:
Configuración del Probador de Estrategias:
Aquí está el código para la prueba:
Se agradecería cualquier ayuda.
Amigos míos, soy nuevo en MQL5, así que si los problemas que escribo aquí son culpa mía, por favor no me pateéis demasiado.
Quería hacer un búho multidivisa, pero me encontré con algunas cosas extrañas en el probador de estrategias que sólo aparecen al probar las multidivisas. Obtengo un extraño desplazamiento de los símbolos de las series temporales que no son el símbolo del gráfico principal. He hecho un búho simple que obtiene el cero y el tiempo de apertura de la primera barra por dos símbolos al principio de cada barra. Por alguna razón la serie de tiempo del segundo símbolo comienza a cambiar después de 1 barra. Aparece en cualquier símbolo y en cualquier marco temporal. Estaba probando en EURUSD, el segundo símbolo era GBPUSD. Lo he probado a la inversa, lo he probado en otros pares, siempre aparece el error. Esta es la foto del diario después de la prueba de М15:
Imagen de registro después de la prueba en H1:
Configuración del Probador de Estrategias:
El código para las pruebas:
Se agradecería cualquier ayuda.
El probador funciona correctamente. Hay un error en la lógica del programa: dos símbolos son como dos vidas de personas diferentes (aquí "persona" es análogo a "símbolo"). Y la segunda persona no tiene por qué despertarse al mismo tiempo que la primera ("despertarse" es análogo a " aparecer un nuevo bar").
Así que hay que esperar a que aparezca una nueva barra Y en el primer símbolo Y en el segundo.
Añadido:manejador del evento "nueva barra" del artículo
Me puedes decir, aquí hay una imagen de una barra alcista, ¿cómo debería ser el código principal de la condición para reconocerla?
if(low[i] <= open[i] && high[i] > close[i] && open[i] >= close[i] && close[i] <= Base[i]) // верно ли это утверждение?
Me puedes decir, aquí hay una imagen de una barra alcista, ¿cómo debería ser el código principal de la condición para reconocerla?
Esta es una barra bajista. La dirección de la vela no es importante. La posición de la sombra larga es importante: arriba es bajista, abajo es alcista. Y necesitamos la confirmación de los indicadores de nivel.
¿Es posible demostrarlo mediante la construcción de códigos? No está muy claro cómo debería ser el código
No puedo escribirte el código desde mi teléfono móvil. De un vistazo:
Gráficamente se ve así:
Gráficamente, tiene este aspecto: