DomGilberto: No puedo creer que esté cometiendo estos errores de novato... ¡Me molesta! Sí, ya lo tengo imprimiendo y seleccionando el orden. Este es el código que está funcionando en términos de la impresión - los lotes todavía no se están cerrando a cabo sin embargo? También he pegado los mensajes del diario a continuación.
2013.07.31 11:13:52 2013.02.01 16:00 trendfishing_play_ground EURUSD,H1: Order Select returned the error of 0 // Not sure what is going on here?
(facepalm - ¡obviamente necesito un descanso de esto!) ok ordenado eso y ahora está seleccionando la orden. Esta es la impresión del diario ahora - "Close_Half_Order" error = 0? Es la función OrderClose que falla. No tiene nada que ver con el número de "000" después del segundo decimal en la parte "lotes a cerrar es", ¿verdad?
2013.07.3111:28:492013.02.0115:00 trendfishing_play_ground EURUSD,H1: Close_Half_Order Last Error = 02013.07.3111:28:492013.02.0115:00 trendfishing_play_ground EURUSD,H1: Order Lots Open = 0.182013.07.3111:28:492013.02.0115:00 trendfishing_play_ground EURUSD,H1: Order Ticker Number = 92013.07.3111:28:492013.02.0115:00 trendfishing_play_ground EURUSD,H1: The Lots to close is: 0.090002013.07.3111:28:492013.02.0115:00 trendfishing_play_ground EURUSD,H1: The Lotstep is: 0.010002013.07.3111:28:492013.02.0115:00 trendfishing_play_ground EURUSD,H1: The minimum lots are: 0.010002013.07.3111:28:492013.02.0115:00 trendfishing_play_ground EURUSD,H1: FirstTarget_Buy: 1.37931
(facepalm - ¡obviamente necesito un descanso de esto!) ok ordenado eso y ahora está seleccionando la orden. Esta es la impresión del diario ahora - "Close_Half_Order" error = 0? Es la función OrderClose que falla. No tiene nada que ver con el número de "000" después del segundo decimal en la parte "lotes a cerrar es", ¿verdad?
Tirantes, tirantes, tirantes . . a veces es necesario usarlos, a veces no.
El OrderClose() no falló . . .
if(OrderMagicNumber()==MagicNumber)
if(OrderSymbol()==Symbol())
if(OrderType()==OP_BUY)
if(OpenOrdersThisPair(Symbol())==1) // if this is true . . .bool Close_Half_Order = OrderClose(OrderTicket(),half,FirstTarget_Buy,3,CLR_NONE); // . . . do this.if(Close_Half_Order!=TRUE)Print("Close_Half_Order Last Error = ", GetLastError()); // do this whatever happens . . .
por lo que si el OrderType() no es un OP_BUY la última línea se ejecutará igualmente, de ahí el error 0 . . añade llaves así:
if(OrderMagicNumber() == MagicNumber)
if(OrderSymbol() == Symbol())
if(OrderType() == OP_BUY)
if(OpenOrdersThisPair(Symbol()) == 1)
{
bool Close_Half_Order = OrderClose(OrderTicket(), half, FirstTarget_Buy, 3, CLR_NONE);
if(Close_Half_Order != TRUE) Print("Close_Half_Order Last Error = ", GetLastError() ); // only executed if the OrderClose() was also executed
}
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 múltiples veces?
No puedo creer que esté cometiendo estos errores de novato... ¡Me molesta! Sí, ya lo tengo imprimiendo y seleccionando el orden. Este es el código que está funcionando en términos de la impresión - los lotes todavía no se están cerrando a cabo sin embargo? También he pegado los mensajes del diario a continuación.
2013.07.31 11:13:52 2013.02.01 16:00 trendfishing_play_ground EURUSD,H1: Order Select returned the error of 0 // Not sure what is going on here?
c es una POSICIÓN no un número de billete....
(facepalm - ¡obviamente necesito un descanso de esto!) ok ordenado eso y ahora está seleccionando la orden. Esta es la impresión del diario ahora - "Close_Half_Order" error = 0? Es la función OrderClose que falla. No tiene nada que ver con el número de "000" después del segundo decimal en la parte "lotes a cerrar es", ¿verdad?
(facepalm - ¡obviamente necesito un descanso de esto!) ok ordenado eso y ahora está seleccionando la orden. Esta es la impresión del diario ahora - "Close_Half_Order" error = 0? Es la función OrderClose que falla. No tiene nada que ver con el número de "000" después del segundo decimal en la parte "lotes a cerrar es", ¿verdad?
Tirantes, tirantes, tirantes . . a veces es necesario usarlos, a veces no.
El OrderClose() no falló . . .
por lo que si el OrderType() no es un OP_BUY la última línea se ejecutará igualmente, de ahí el error 0 . . añade llaves así:
Hmmm, todavía no quiere cerrar @ "Close_Half_Order" ? ¿Tampoco recibe ningún mensaje de error?
¿OP_BUY?
Por cierto, estos corchetes no hacen otra cosa que confundir la situación....
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 múltiples veces?