Hola gente, quería ver si alguien podría ayudarme a resolver lo siguiente.
En una situación en la que hay una orden abierta, con un nivel de TP, y otra orden pendiente a la espera de ser tocada por el precio, quería saber cómo modificar el TP de la primera en el momento en que la segunda sea alcanzada y abierta. Los siguientes son dos fragmentos de código con los que trato de hacer eso de dos maneras diferentes, ambas sin éxito. Agradecería si alguien pudiese corregirme. Muchas gracias y un saludo!
El primero:
El segundo:
Haces el cierre de la primera posición (la más antigua) cuando haya más de una abierta, yo lo utilizo para los cierres por señal opuesta. Algo así:
if(PositionsTotal()>1&&!trade.PositionClose(Ticket,ULONG_MAX)){ ... }
Esto lo tienes que meter en un loop interno que cuente desde la última posición para asegurarte de que te queda abierta sólo la nueva:
for(int i=PositionsTotal()-1;i>=0;i--){ ulong Ticket=PositionGetTicket(i); ...
Espero que sirva.
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Hola gente, quería ver si alguien podría ayudarme a resolver lo siguiente.
En una situación en la que hay una orden abierta, con un nivel de TP, y otra orden pendiente a la espera de ser tocada por el precio, quería saber cómo modificar el TP de la primera en el momento en que la segunda sea alcanzada y abierta. Los siguientes son dos fragmentos de código con los que trato de hacer eso de dos maneras diferentes, ambas sin éxito. Agradecería si alguien pudiese corregirme. Muchas gracias y un saludo!
El primero:
El segundo: