Cierre de medios lotes. - página 11

 

DomGilberto: C) Not sure what difference this makes?

Igual que A). Si el TP es cero no ha hecho el primer cierre. Establezca el TP y luego haga el cierre parcial.
 
Ok - Me estoy acercando bastante a conseguir esto conectado a tierra (acaba de ser la escritura de las cosas que tengo que arreglar / cómo / y la lógica aplicada)

Un área que estoy luchando con es cómo comprobar cada garrapata única ONCE el OP_BUYSTOP se ha disparado en un OP_BUY. Por el momento voy a continuar con la bofetada un comercio en y haciendo cierres parciales - puramente sobre la base de que estoy seguro de que casi he hecho?

¡He apreciado mucho la contribución en este hilo - me ha ayudado enormemente a entender mucho :) así que gracias de nuevo por su tiempo!
 
DomGilberto:
Ok - Me estoy acercando bastante a conseguir esto conectado a tierra (sólo he estado escribiendo las cosas que tengo que arreglar / cómo / y la lógica aplicada)

Un área con la que estoy luchando es cómo compruebo cada tick una vez que el OP_BUYSTOP se ha disparado en un OP_BUY.

No puedes, tienes que comprobar cada tick para ver si el OP_BUYSTOP ha disparado a un OP_BUY. . . pero lo que puedes hacer es comprobar si tienes algún OP_BUY, si no lo tienes entonces puedes simplemente devolver(0); y evitar el resto del código.

¿Esto ayuda?

 
Espera, ¿entonces no puedo comprobar cada tick? Quiero asegurarme de que el cierre parcial se cierra tan pronto como la oferta es == al precio que quiero? Por el momento se cierra si la oferta == el precio de salida en una base horaria - que se ha visto con "IfIsNewCandle"? Lo que significa que es una forma muy divertida y extraña de cerrarlo...

Digamos que mi "OP_BUYSTOP" se ha disparado en un "OP_BUY", ¿puedo entonces comprobar cada tick para que mi función OrderClose() se cierre a mi precio deseado TAN PRONTO como la oferta sea == al precio de salida especificado?
 
DomGilberto:

Digamos que mi "OP_BUYSTOP" se ha disparado en un "OP_BUY", ¿puedo entonces comprobar cada tick para que mi función OrderClose() cierre a mi precio deseado TAN PRONTO como la oferta sea == al precio de salida especificado?
Sí, debes comprobar cada tick... pero lo que estaba diciendo es que no necesitas hacer todo para cada tick... dijiste "cómo compruebo cada tick UNA VEZ que el OP_BUYSTOP se ha disparado en un OP_BUY". lo que quise decir es que no puedes comprobar sólo en cada tick UNA VEZ que el OP_BUYSTOP se convierte en un OP_BUY, tienes que comprobar si esto ha ocurrido en cada tick.
 
Ah, sí, te tengo - mi error. Leí mal lo que escribiste.

No sé cómo hacerlo. ¿Puedes indicarme la dirección correcta?
 
DomGilberto:
Ah, sí, te tengo - mi error. Leí mal lo que escribiste.

No sé cómo hacerlo. ¿Puedes indicarme la dirección correcta?
Sólo un simple bucle, como el que ya tienes, recorriendo las órdenes abiertas y comprobando el OrderType() ... puede haber poca ventaja, en términos de rendimiento, en añadir esto a tu código, sin comprobarlo no puedo asegurarlo.
 
Lo siento, lo que quise decir fue, ¿hay una función incorporada dentro de MQL4 que tengo que utilizar, con el fin de comprobar cada garrapata?
 
DomGilberto:
Lo siento, lo que quise decir fue, ¿hay una función incorporada dentro de MQL4 que tengo que utilizar, con el fin de comprobar cada garrapata?
No, start() se llama cada tick. . . pero actualmente solo se llama a CheckForMaTrade() cuando hay una nueva vela ( IsNewCandle() ) hay que hacerlo para cada tick.
 
Ah sí - ¡lo tengo! Creo que ya sé cómo hacerlo, ahora vuelvo a jugar :)
Razón de la queja: