Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 718

 
Artyom Trishkin:

El error 1 no es un error, pero el resultado es desconocido. La cuestión es que estás intentando modificar el stop al mismo precio al que ya está fijado. Antes de modificarlo, compare el precio del stop con el precio al que quiere fijarlo. Si ya está a ese precio, no hay nada que modificar.

¿Existe algo así, o hay algo que no funciona?

 
Andrey Sokolov:

¿Existe tal cosa, o hay algo que no funciona?

No existe tal cosa. Entonces la pregunta: ¿escribiste...

Hizo una función que cuando una orden llega ... ... ...

... ¿por qué preguntas si está ahí o no? Si lo hizo usted mismo, debería saber exactamente lo que hizo. ¿O qué? Me cuesta imaginarme haciendo algo sin saber lo que estoy haciendo...

 
Artyom Trishkin:

No está ahí. Entonces la pregunta es: ¿escribiste...

... ¿por qué preguntas si está ahí o no? Si lo hizo usted mismo, debería saber exactamente lo que hizo. ¿O qué? Me cuesta imaginarme haciendo algo sin saber lo que estoy haciendo...

 if (OrderStopLoss()!=OrderOpenPrice()

Hay que mover la sl al precio de apertura, aquí, comprobando que no está. ¿Qué pasa?

 
Andrey Sokolov:

Hay que mover la sl al precio de apertura, aquí, comprobando que no está. ¿Qué pasa?

¿Es el precio de apertura de la orden el precio de parada?

 
Artyom Trishkin:

¿Es el precio de apertura de la orden el precio de parada?

Así que si modificamos el sl al precio de apertura, ¿no es así?

 
Andrey Sokolov:

Entonces, si la modificación transfiere la sl al precio de apertura, ¿no es así?

¿Qué pasará la próxima vez?

 
Artyom Trishkin:

¿Qué pasará la próxima vez?

Y la próxima vez no seráOrderStopLoss()!=OrderOpenPrice()

¿No?

 
coldunprofi:

Hola, cómo hacer que el EA abra posiciones con un volumen determinado de órdenes individuales de ambas posiciones en función de variables externas, por ejemplo

El volumen de una sola orden es de 1,35 lotes, el volumen total de las posiciones abiertas es de 500 lotes. El EA abre una orden de compra de 1,35 lotes, y luego abre una orden de venta de 1,35 lotes,

y luego se repite hasta que se abran 500 lotes de compra y 500 lotes de venta, y como el número de lotes no es múltiplo de 1,35, la última orden debe ser inferior a 1,35

Toma cualquier panel en CodeBase, trata la fuente y ahora cuando aparezca/variables externas, deja que haga las mismas acciones que para los botones. Se limitará a sondear periódicamente variables (por ejemplo, en el temporizador) y a emular la pulsación de botones
 
coldunprofi:

Hola, cómo hacer que un EA abra una posición con un volumen especificado de una sola orden de ambas posiciones en función de variables externas, por ejemplo

El volumen de una sola orden es de 1,35 lotes, el volumen total de las posiciones abiertas es de 500 lotes, el Asesor Experto abre una orden de compra de 1,35 lotes, luego abre una orden de venta de 1,35 lotes,

y luego repetir hasta que se abran 500 lotes de compra y 500 lotes de venta, y como el número de lotes no es múltiplo de 1,35, la última orden debe ser menor que 1,35

Hola. ¿No sería más fácil hacerlo así

MathMin(Lot,500-(общий лот уже открытых ордеров))
donde Lot, por ejemplo, será 1,35
 
Andrey Sokolov:

Y la próxima vez no seráOrderStopLoss()!=OrderOpenPrice()

¿no es así?

Antes de OrderModify() imprime los valores del precio de apertura y el nuevo precio de stop.

Y guárdate tu irrespetuoso "¿no?" si quieres ayuda. Sin embargo, he publicado en este hilo una plantilla que funciona perfectamente para cualquier red de arrastre, puedes buscarla.

Razón de la queja: