
Estaba en lo cierto, faltaba resetear el contador e hizo lo que queria! Muchas gracias!!! =DForo de Forex Trading United

hola el problema viene en que no reseteas el contador , por lo que siempre te va sumando sumando y sumando , tienes que resetear el contador antes que empiece el for
contador =0;
saludosForo de Forex Trading United

Creo que "if (contador == 2)" debe cambiarlo por "if (contador <= 2)"Buenas noches gente!
Tengo una pequeña consulta, dado que no logro resolver una pequeña parte de un EA: la idea es que cuando cuente 2 operaciones abiertas (sin contar las ordenes pendientes), abra una nueva operación. Yo puse esto:
int start()
{
for (int i=OrdersTotal()-1; i >= 0; i--)
{if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderType() == OP_BUY || OrderType() == OP_SELL)
{
contador++;
}
}
}
if (contador == 2)
{OrderSend(Symbol(),OP_BUY,0.02,Bid,3,0,0);
}
return (0);
}
Pero este código, con una sola operación abierta ya abre la nueva operación (y debería ser solo con 2). Alguno me iluminaria en como solucionar esto?
Muchisimas gracias al que pueda! Se que es una boludez, pero no puedo arreglarlo jaja
Saludos gente!Foro de Forex Trading United

Compañero no le estoy entendiendo bien esta parte. La lógica me dice que quiere abrir una tercera operación, por tanto para que ocurra esto (".....cuando cuente 2 operaciones abiertas (sin contar las ordenes pendientes), abra una nueva operación."......) el EA, si o si, necesita abrir la segunda operación, es decir, si solo hay una operación abierta, la condición. "if (contador == 2)" solo se satisface cuando el EA abra esa otra operación .... que lio jeje
A ver si lo aclaras un poco...
Saludos,Foro de Forex Trading United
Buenas noches gente!
Tengo una pequeña consulta, dado que no logro resolver una pequeña parte de un EA: la idea es que cuando cuente 2 operaciones abiertas (sin contar las ordenes pendientes), abra una nueva operación. Yo puse esto:
int start()
{
for (int i=OrdersTotal()-1; i >= 0; i--)
{if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderType() == OP_BUY || OrderType() == OP_SELL)
{
contador++;
}
}
}
if (contador == 2)
{OrderSend(Symbol(),OP_BUY,0.02,Bid,3,0,0);
}
return (0);
}
Pero este código, con una sola operación abierta ya abre la nueva operación (y debería ser solo con 2). Alguno me iluminaria en como solucionar esto?
Muchisimas gracias al que pueda! Se que es una boludez, pero no puedo arreglarlo jaja
Saludos gente!Foro de Forex Trading United
| Aviso Legal Ley Orgánica 15/1999, de 13 de diciembre, de Protección de Datos de Carácter Personal |

