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
Puse una orden pendiente "OP_BUYSTOP" pero tenía la impresión de que esto cambiaría cuando se activara a una "OP_BUY"?
Creía que el tipo de orden sería "OP_BUY" si se había activado.
Al fin y al cabo, sólo me interesa una vez que la orden se ha activado.
¿Por qué se confunden esos paréntesis? ¿Te refieres a dónde está el paréntesis izquierdo? Si es así, parece que es una cosa individual, ya que me han corregido en esto varias veces?
Los corchetes no son necesarios, por lo que el hecho de que estén ahí puede causar confusión a otros que intenten leer tu código (yo).
Si sólo tiene un BUYSTOP entonces su código no hará nada porque no es un OP_BUY. ...
Hmmm, todavía no quiere cerrar @ "Close_Half_Order" ? ¿Tampoco recibe ningún mensaje de error?
para que esto tenga sentido mientras la Orden esté pendiente...
¿Su orden tiene el número mágico correcto?
He eliminado la línea "if(OrderType()==OP_BUY)" - Esta es la nueva impresión dentro del diario después de la prueba? Ticket inválido... (¡perdón por hacer 101 preguntas sobre esto!)
RaptorUK:
No se cierra una orden pendiente, ¿qué le dice el informe de errores?
No se puede cerrar una orden pendiente, se borran.
Pero no estoy tratando de cerrar una orden pendiente? Estoy tratando de cerrar la mitad de los lotes en una "OP_BUY" que no está pendiente...? Obviamente me estoy perdiendo algo aquí...
Puse una orden pendiente "OP_BUYSTOP" pero tenía la impresión de que ésta cambiaría cuando se activara a una "OP_BUY"?
Si quito "OpenOrdersThisPair(Symbol()) == 1" del código, los mensajes son exactamente los mismos dentro del diario... Estoydesconcertado...
Es hora de añadir más sentencias Print(), comprueba todo lo que no hayas comprobado ya... sólo estás desconcertado porque no sabes por qué, averigua por qué y ya no estarás desconcertado.
Cuando haya averiguado por qué y tenga todas estas sentencias Print() que ya no quiere que se impriman en la pestaña Diario/Expertos, eche un vistazo a esto que le permitirá una buena manera de activar y desactivarlas: https: //www.mql5.com/en/forum/135168/page2
Ah, por cierto, no puedes hacer esto. . .
. . a no ser que FirstTarget_Buy resulte ser == Bid Para eliminar la posibilidad de que no lo sea sólo hay que usar Bid. Una Compra se cierra con una Venta, una Venta se ejecuta en Bid.
¿Cómo se supone que debo cerrar la posición en "FirstTarget_Buy "?
Ok, entonces si pongo "Bid" ahí, los lotes están siendo cerrados, pero no al precio correcto, y parece cerrar varias mitades durante cualquier posición. (más hacia los 2/3 superiores del área del precio objetivo del 100%... no todos al mismo precio al que se están cerrando...)
¿Cómo se supone que debo cerrar la posición en "FirstTarget_Buy"?
No se puede hacer OrderClose() a cualquier precio que no sea Bid y Ask (Compra y Venta)... es así de simple, no se puede.
Lo que puedes hacer
abrir dos operaciones por la mitad de la posición cada una y dar a cada una un TP diferente
o
controlar el precio Bid/Ask y cuando haya alcanzado o superado el "FirstTarget_Buy " cerrar la mitad de la operación a Bid/Ask