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
Última pregunta, ¿es la normalización de los dobles de precios realmente tan crucial... No entiendo el propósito de ello...?
Sí puede ser un problema con los dobles, OrderTakeProfit() OrderStopLoss() OrderLots() especialmente si haces cálculos en ellos. Afectó a uno de mis EA's cuando estaba haciendo algo similar a tu cierre parcial de órdenes. Echa un vistazo a este hilo https://www.mql5.com/en/forum/141034
He intentado estrujar mi cerebro pero no puedo conseguir la lógica para hacerlo a través del OrderTicket() en el "OP_BUY" tan pronto como se activa, y al número de OrderTicket() en la posición restante después de que la mitad se cierra?
Una vez que la OP_BUY se ha reducido a la mitad en OrderClose() la posición restante tiene un número de ticket diferente... ¿Puede alguien aclararme cómo comparo los dos para poder decirle a OrderClose() que se detenga después de que lo haya hecho una vez?
Lo tengo todo listo - Sólo que no entiendo la lógica en la comparación de lo que he escrito anteriormente.
¡Tengo la intención de hacer un hilo para ayudar a los demás después de haber completado esto - sería justo!
Ya te dije como hacerlo, obtén el OrderOpenTime() del ticket que vas a cerrar parcialmente. Despues de cerrarlo parcialmente, haz OrderSelect() de nuevo, cualquier ticket que tenga ese mismo OrderOpenTime() es la parte restante del pedido cerrado parcialmente.
Ah, sí. Lo siento, debo haberme perdido eso la primera vez.
Me he sentado a pensar en ello y me cuesta entender la lógica. ¿Podría indicarme algo?
De momento lo tengo dentro de la sección "int Start()":
Obviamente tengo que quitar la parte "OrderOpenPrice() > OrderStopLoss()), pero ¿con qué lo sustituyo para que NO se llame continuamente a "CloseHalfOrder();"? No consigo descifrar la lógica (¡un poco lento hoy!) ¿Estoy comparando con la operación cerrada en el historial?
Ah, sí, lo siento, no lo vi la primera vez.
Me he sentado a pensar en ello y me cuesta entender la lógica. ¿Podría indicarme algo?
En este momento tengo esto dentro de la sección "int Start()":
Obviamente tengo que eliminar la parte "OrderOpenPrice() > OrderStopLoss()), pero ¿con qué la sustituyo para que NO se llame continuamente a "CloseHalfOrder();"? No consigo descifrar la lógica (¡un poco lento hoy!) ¿Estoy comparando con la operación cerrada en el historial?
En el punto que he marcado en tu código ¿qué Orden tienes seleccionada?
¿Es la orden correcta? Si es la orden correcta, ¿es por casualidad o por diseño?
No se me ocurre cómo usar OrderOpenTime() a mi favor y evitar que se llame a CloseHalfOrder cada vez...
Yo también pensé eso - Dice que necesito OrderSelect() antes de usar OrderType, pero funciona? Sólo tengo una orden abierta en cualquier momento...