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
Durante las pruebas de los Asesores Expertos:
Exp_TEMA.mq5, del artículo: "Creación de un Asesor Experto que opera con diferentes símbolos". La expresión Told[] Tnew[1]obtiene los siguientes valores:
Told[] La expresión no pudo ser evaluada
Tnew[1] Rango de array inválido.
Y My_First_EA.mq5, del artículo: "Guía paso a paso para escribir asesores expertos MQL5 para principiantes", la expresión
New_Time[1] obtiene el valor:Rango de array no válido
¿Qué significan los valores Expresión no pudo ser evaluada, Rango de array inválido, y cómo afectan a los resultados de los expertos?
Told - matriz vacía sin tamaño
Tnew[1] - fuera de la matriz, la matriz se describe como Tnew[1], por lo que sólo se puede acceder a sus elementos como Tnew[0], porque el índice comienza en cero.
Told - matriz vacía sin tamaño
Tnew[1] - fuera de la matriz, la matriz se describe como Tnew[1], por lo que sólo se puede acceder a sus elementos como Tnew[0], porque el índice comienza en cero.
Por favor, díganme cómo abrir sólo una operación por condición. Con mi código, el terminal abre varias ofertas en esta condición, pero yo sólo necesito una.
El resultado es la siguiente imagen:
¿Cómo puedo comprobar si un acuerdo se ha realizado con esta condición o no? Lo he intentado así, pero no funciona:
Por favor, aconséjeme cómo abrir sólo una operación por condición. Con mi código, el terminal abre varias ofertas en esta condición, pero yo sólo necesito una.
El resultado es la siguiente imagen:
¿Cómo puedo comprobar si un acuerdo se ha realizado con esta condición o no? Lo he intentado así, pero no funciona:
¿Y por qué organizar la búsqueda en el bucle si existe algo tan maravilloso como PositionSelect?
Sólo comprobamos la existencia de la posición en el símbolo interesante y si es cierto, nos vamos a beber coñac y a fumar puros... :)
PS
Según entiendo PositionGetString sinPositionSelect no debería funcionar. No necesitamos conocer los símbolos de todas las poses abiertas, ¿verdad?
No hay necesidad de buscar en el bucle cuando existe algo tan maravilloso como PositionSelect?
Simplemente se comprueba la presencia de una posición en la herramienta que nos interesa y si vuelve a ser cierta nos vamos tranquilamente a beber coñac y fumar puros... :)
PS
Según entiendo PositionGetString sinPositionSelect no debería funcionar. No necesitamos conocer los símbolos de todas las poses abiertas, ¿verdad?
Este código tiene en cuenta la presencia de una posición abierta:
Pero sigue abriendo posiciones cuando se cumple la condición de la señal de compra. Lo que quiero es que antes de que se produzca la Señal_de_Venta no se vuelva a abrir una posición en la Señal_de_Compra. Estoy tratando de implementarlo de esta manera:
No va.Este código tiene en cuenta la presencia de una posición abierta:
Pero sigue abriendo posiciones cuando se cumple la condición de Buy_Signal. Necesito asegurarme de que antes de que se produzca la condición de Sell_Signal no se abran más posiciones por Buy_Signal. Estoy tratando de implementarlo de esta manera:
No es así.¿Por qué este código? Apenas se parece a lo que quería decir (dudo que sea correcto).
Y me refería a algo así:
Como mínimo podrías hacerlo en un bloque
¿Por qué este código en particular? No es ni remotamente parecido a lo que quería decir (no creo que sea correcto en absoluto).
Y me refería a algo así:
Como mínimo, todo puede hacerse en un bloque.
Este código y el anterior no abren una posición hasta que se cierra, sino que la abren de nuevo tras el cierre en la siguiente barra si se cumple la condición. Lo he implementado de esta manera:
Gracias. He tenido en cuenta todos sus deseos y ahora todo funciona. El Asesor Experto ha sido publicado. Puedo hacer algunos cambios más en el código. La seducción no tiene límites)))