Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 133
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
Hola a todos. ¿Me pueden decir cómo cambiar este código for(int=OrdersTotal()-1;i>=0;i--){
Hola a todos. Por favor, dígame cómo cambiar este código for(int=OrdersTotal()-1;i>=0;i--){
{
if( /*Функция закрытия. Если вернула истину*/ )
i--;
}
Inténtalo de esta manera. En lugar de los comentarios, debe utilizar la función para cerrar la orden. No he comprobado su funcionamiento. Y aquí, creo que tendremos que llamar a la función que calcula la cantidad de pedidos cada vez, ya que el número de pedidos disminuirá.
También podemos probar esta variante:
/*Функция закрытия ордера*/
se cierra de forma incómoda)
no es correcto, pero por ahora (hasta alguna compilación) funciona: al cerrarse con éxito i--
Hola a todos. ¿Me pueden decir cómo cambiar este código for(int=OrdersTotal()-1;i>=0;i--){
//| Закрыть все позиции начиная с первых |
//+------------------------------------------------------------------+
double CloseOrders()
{
for(int i=0; i<OrdersTotal(); )
{
if (!OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
break;
if (OrderMagicNumber() != mn)
break;
int type = OrderType();
bool result = false;
switch(type)
{
//Close opened long positions
case OP_BUY : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), Slippage, CloseColor );
break;
//Close opened short positions
case OP_SELL : result = OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), Slippage, CloseColor );
break;
}
if(result == false)
{
Print("Order " , OrderTicket() , " failed to close. Error:" , GetLastError() );
i++;
}
}
return (True);
}
// End
Se cierra de forma incómoda)