![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
¡Hola Igor!
Estoy intentando aprender MQL4 y debido a la falta de descripción de los operadores del lenguaje un problema me ha dejado perplejo. Tengo un indicador con 8 búferes de datos acumulados. Necesito que se muestre con el periodo del siguiente marco temporal en un plazo que he elegido. Para ello, utiliza el operador iCustom(). Pero devuelve un valor doble y no sé cómo y si se puede y debe utilizar iCustom en este caso.
Realmente espero su ayuda.
¡Hola, Alexey!
Debe hacer un nuevo indicador que utilice la función iCustom(). Asigna los valores devueltos por esta función a los buffers del nuevo indicador.
¡Hola Igor! ¡Y buenas tardes a todos!
Me interesa el código que se debe introducir para que el Asesor Experto no haga más operaciones ese día cuando cierre una operación...
Lo he encontrado pero no funciona en el probador de estrategias, quiero probarlo, ¿qué código debo usar en su lugar?
Entonces debería añadirlo en la condición de entrada.
¡Hola, Sergiy!
Ni siquiera veo por qué el uso de mi función dada por usted no puede trabajar en el probador de la estrategia. Si sigue siendo relevante para ti, te sugiero que publiques el código completo del EA. Vamos a intentar resolverlo...
Hay preguntas sobre las diferencias y peculiaridades de las funciones SetOrder() y OpenPosition() en el manejo de errores.
SetOrder():
OpenPositions(): Los errores 8 (ERR_TOO_FREQUENT_REQUESTS), 138 (ERR_REQUOTE) y 139 (ERR_ORDER_LOCKED) no son tratados, a diferencia de SetOrder():
En SetOrder() el error 130 (ERR_INVALID_STOPS) es manejado por la corrección de paradas, pero en OpenPositions() no es manejado de ninguna manera.
En el procesamiento de OpenPositions() está presente 145 (ERR_TRADE_MODIFY_DENIED). El sentido de procesarlo aquí no está claro.
Además, en la primera página de esta discusión se menciona el manejo de errores que falta en ambas funciones:
На паузу 7.7 секунды нарвутся ошибки 129 (Неправильная цена bid или ask), 130 (Неправильные стопы), 134 (Недостаточно денег), 136 (Нет цен).
¡Además, no se procesan otros errores (probablemente, importantes en este caso), por ejemplo, el 3 (ERR_INVALID_TRADE_PARAMETERS), el 6 (ERR_NO_CONNECTION), el 7 (ERR_NOT_ENOUGH_RIGHTS), el 9 ERR_MALFUNCTIONAL_TRADE, el 137 (ERR_BROKER_BUSY), el 144(!), 4067 (ERR_TRADE_ERROR), 4106 (ERR_UNKNOWN_SYMBOL), 4107 (ERR_INVALID_PRICE_PARAM)
Igor, por favor, comenta los puntos descritos.
Las funciones SetOrder() y OpenPositions() que he mencionado están tomadas de la biblioteca b-Orders del 05.11.2008 y b-Positions del 29.10.2008 del sitio kimiv.ru.
Me gustaría añadir. Si se produce el error 5 ERR_OLD_VERSION, puede tratarse del mismo modo que 2, 64, 65, 133; 4109 ERR_TRADE_NOT_ALLOWED del mismo modo que 4110, 4111
¿Qué significa el error 142? No lo he encontrado en los códigos de error.
https://docs.mql4.com/ru/trading/errors
142 Se ha puesto en cola un pedido. No se trata de un error, sino de uno de los códigos de comunicación entre el terminal cliente y el servidor de comercio. Este código puede ser recibido en un caso raro, cuando durante el desempeño de la operación comercial hubo una interrupción en la conexión y la conexión fue restaurada después. Debe tratarse de la misma manera que el error 128.
Me interesa una pregunta sobre las BPA, no están descritas en el libro, y hay muchas novedades en este tema. Me gustaría saber cómo hacer que se abra una operación cada vez que aparezca un BPA. Quiero saber cómo se abren las órdenes cuando aparecen las BPA. Lo tengo, pero por alguna razón este algoritmo no funciona, ¿cuál es el error aquí?
En la primera condición la primera sub-condición es redundante, la segunda condición en venta es imposible. ¿Un punto es una brecha? Tu deslizamiento es 2 y el stop es 2.
Gracias, pero ¿por qué es superfluo el primer prefacio? Usted quiere que una posición de compra se abra cuando una nueva barra esté por encima del cierre de la anterior y viceversa. >> ¿Es esa la forma correcta?
Por lo que entiendo, la primera condición implica automáticamente que el precio de cierre sea mayor que el de apertura. En el segundo, es al revés??????