![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
Fue
Cuando StopLoss es verdadero, se asigna el nuevo valor,
en caso contrario, se modifica la orden.
no hay error, pero hay que quitarse una cruz o ponerse los pantalones).
No lo entendí de inmediato))... ¡la condición podría no causar una parada!
¿Tal vez deberíamos eliminar otra cosa? Parece que la lógica no sufre... ¿Por qué necesito la segunda condición si con una sola es suficiente?
O así...
ver comparación de números reales.
Lo leeré... Entonces, ¿es absolutamente necesario? Es que nunca lo he hecho).
No lo entendí de inmediato... ¡La condición podría no causar una parada!
¿No podemos eliminar otra cosa? Parece que la lógica no sufre...
Tal vez) la vela de 4h suele ser mayor que el StopLevel...
Lo leeré... Es decir, ¿es necesario? Es que nunca lo he hecho así)
todo tipo de cosas raras suceden cuando los valores comparados son casi iguales)
cuando se comprueba la igualdad de un número de tipo doble - obligatorio.
En ruso: StopLoss menos Ask es menor que StopLevel con una precisión de 0,5*Punto
(StopLoss,Ask,StopLevel están normalizados)
¿Y qué pasa con esta opción? Parece razonable mantenerlo...
También debemos comprobar el contexto comercial, de lo contrario nos da errores de que está ocupado - TradeDispatcher: trade context is busy ... Resulta que si hay muchas copias del EA, todas ellas cierran simultáneamente la orden actual de sus símbolos y ponen otras nuevas... se formará un atasco)
probablemente así es como funciona...
Es decir, antes de cerrar la orden actual y establecer una nueva orden pendiente, comprobamos el flujo de operaciones... Si está ocupado, haga una pausa de 1 segundo.
¿Y qué pasa con esta opción? Parece sensato mantenerlo...
No, así es como funciona. Tenemos que decidirnos).
tres opciones:
ALex2008 escribió >>
Además, hay que revisar el hilo de comercio, de lo contrario puede tener errores de estar ocupado... Porque si hay muchos gráficos, todos cierran las órdenes actuales al mismo tiempo...si no ayuda, antes de todos los OrderSend,OrderModify,OrderClose,OrderDelete comprueba IsTradeContextBusy()
Sólo donde colocarlo correctamente creo... Me refiero a que, por ejemplo, los pedidos antiguos no se borran porque el hilo está ocupado, sino que el programa debe colocar los nuevos... Y el programa sólo debe colocar los nuevos cuando se hayan borrado todos los pedidos antiguos.
reescribirlo más fácilmente. en las funciones UpTrend() y DownTrend() comprobar las condiciones, las órdenes se quitan y se ponen,
demasiadas cosas diferentes)
No, así es como funciona. >> tienes que decidirte).
No lo entiendo, ¿lo hará o no lo hará?)
No lo entiendo: ¿funcionará o no?))
*No va a suceder.
En su última variante.
en el primer if() StopLoss no está definido.
*No va a suceder.
En su última variante.
en el primer if() StopLoss no está definido.
¿qué es?
en el primer caso, el stop toma el mínimo (en el precio) de 2 velas... es decir, lejos de la orden
en el segundo si el stop recibe el máximo (en el precio) bajo de 2 velas. es decir, está cerca de la orden
//здесь StopLoss нипанятно какой)
¿Qué es exactamente lo que no está claro? Es cero al entrar en la función. Tal vez no entienda algo....
Arriba hay una condición - Si la orden está abierta y su stop = 0, entonces coloca un stop
y la propia función para establecer un tope