Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 363
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
No creo que estés haciendo la pregunta aquí. Crea un hilo aparte, adjunta allí el código del indicador y espera que alguien te ayude. Sin el código... es poco probable que alguien te ayude.
Al escribir los TdR, me encontré con una situación en la que no entiendo cómo describir el algoritmo correctamente. ¿Puede aconsejar sobre la posibilidad de cerrar parcialmente una posición en el trabajo de la EA?
Al escribir los TdR, me encontré con una situación en la que no entiendo cómo describir el algoritmo correctamente. ¿Pueden decirme si es posible el cierre parcial de una posición en el trabajo de un EA?
¿Qué tiene de complicado? Si la posición no está dividida por igual (por ejemplo, 0,09), entonces cierre la mayor parte (0,05) y mueva el stop hasta el punto de equilibrio, luego otra distancia de cierre y de nuevo la mitad de la que queda (0,02) y mueva el stop hasta el siguiente paso de cierre y siga subiendo hasta que toda la posición esté cerrada o en equilibrio. El paso puede ser fijo o calculado a partir de cualquier rango, depende del sistema de negociación.
¿Lo he entendido bien? El lenguaje de programación MQL4 permite formalizar el cierre de sólo la mitad del volumen de órdenes de mercado... como el lote 10 y cerrar 5 lotes cuando el precio alcanza un determinado nivel.
¿O es posible cerrar 1/3?
O bien, sería más fácil implementar esta idea en un EA colocando diferentes órdenes. Cuando el precio alcanza un nivel requerido, una orden se cierra y la otra permanece en lugar del cierre parcial del volumen de órdenes de mercado. ¿Qué te parece?
Para ello, es necesario especificar un lote menor que el lote de la posición en la orden de cierre (esto es si MT4, en MT5 se puede abrir la posición contraria con un lote menor, y se superpondrán al final). La posición con el lote restante permanecerá en el mercado.
¿Lo he entendido bien? El lenguaje de programación MQL4 permite formalizar el cierre de sólo la mitad del volumen de órdenes de mercado... como el lote 10 y cerrar 5 lotes cuando el precio alcanza un determinado nivel.
¿O es posible cerrar 1/3?
O bien, sería más fácil implementar esta idea en un EA colocando diferentes órdenes. Cuando el precio alcanza un nivel requerido, una orden se cierra y la otra permanece en lugar del cierre parcial del volumen de órdenes de mercado. ¿Qué te parece?
Podemos hacer ambas cosas. OrderClose permite cerrar el volumen que se le indique. https://docs.mql4.com/ru/trading/orderclose
Por supuesto, puede abrir varias órdenes con diferentes niveles de beneficio. En caso de un fallo de conexión será aún más fiable, porque los niveles de TP se almacenan en el servidor y se ejecutarán si el precio los cruza.
Puedes hacer ambas cosas. OrderClose permite cerrar el volumen que se le indique. https://docs.mql4.com/ru/trading/orderclose
Por supuesto, también puede abrir varias órdenes con diferentes niveles de beneficio. En caso de un fallo de conexión, esto será aún más fiable, porque los niveles de TP se almacenan en el servidor y se ejecutarán si el precio los cruza.
Hola a todos, me encuentro con un problema, me gustaría conocer la opinión de profesionales o usuarios más experimentados de MT5. He escrito un indicador y una clase CEventBase, que permite al indicador generar eventos. Al ejecutar Asesores Expertos que procesan estos eventos antes o después, cuando se ejecutan en tiempo real, obtengo errores: 4001, 4102, 4104. Cuando se empiezan a "amontonar", no dejan de hacerlo) Adjunto el código de la función Generar, que en realidad es el origen de todos estos problemas. Estaré encantado de escuchar su opinión...)
¡Buenos días a todos!
Hola a todos, me encuentro con un problema, me gustaría conocer la opinión de profesionales o usuarios más experimentados de MT5. He escrito un indicador y una clase CEventBase, que permite al indicador generar eventos. Al ejecutar Asesores Expertos que procesan estos eventos antes o después, cuando se ejecuta en tiempo real, obtengo errores: 4001, 4102, 4104. Cuando se empiezan a "amontonar", no paran de suceder) Adjunto el código de la función Generar, que en realidad es la fuente de todos estos problemas. Estaré encantado de conocer su opinión al respecto...)
¡Buenos días a todos!
Obviamente, el método que has presentado es un método de tránsito. Lo más probable es que el error no esté en él. De los datos que has presentado no se desprende lo que ocurre. Puede haber varias variantes:
- Identificador de carta incorrecto (que es lo que dice el error 4101).
- Consultas demasiado frecuentes;
- Otros parámetros incorrectos (ID de eventos, por ejemplo).
A juzgar por el nivel de código que has escrito, podemos decir que el error puede estar en cualquier lugar y en cualquier momento.