[¡Archivo!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No podría ir a ningún sitio sin ti - 2. - página 284

 

La compra debe cerrarse con la oferta.
Sentado en el Asc.

 
sergeev:


La compra debe cerrarse con la oferta.
Sentado en el Asc.


OK, corregido.

¿Hay algo más que le llame la atención?

 
BBSL:


Bien, arreglado.

¿Hay algo más que le llame la atención?

Maldita sea... :)))))))))))))))))
 
artmedia70:
Los demonios... :)))))))))))))))))

¿Con guadañas?)
 
sergeev:


La compra debe cerrarse con la oferta.
Sentado en el Asc.


Sigue sin cerrar...

Aunque la señal (escribir todo el archivo) para cerrar...

 
BBSL:


Todavía no se cierra...

Aunque la señal (escribir todo el archivo) para cerrar...

error
OrderSelect(order_id, SELECT_BY_POS)==true

o order_id con SELECT_BY_TICKET

o 0 con SELECT_BY_POS

En general, explique: ¿por qué hace dos OrderSelect consecutivos?

 
sergeev:
error

o order_id con SELECT_BY_TICKET

o 0 con SELECT_BY_POS

Y en general, explique: ¿por qué hace dos OrderSelect consecutivos?


¡Gracias, Sergeev!

Segunda comprobación))

Inexperiencia, probablemente debería quitarlo...

 
BBSL:


¡Gracias, Sergeev!

Segunda comprobación))

Inexperto, necesita remover, supongo...


Mierda, lo siento, pero no va a cerrar de nuevo...

por favor, ayuda

 
mostrar
 
sergeev:
mostrar
int send_orders(bool signal, int position_limit, string file_name){

int ticket_count = OrdersTotal();


if (ticket_count < position_limit){

Print("send_orders ticket_count = ", ticket_count);

if (signal == true){

Print("send_orders, signal BUY");

   order_id = OrderSend(Symbol(),OP_BUY,1.0,Ask,3,0,0,"expert comment",255,0,Green);
   if(order_id < 0)
     {
      error=GetLastError();
      Print("send_orders, error = ",ErrorDescription(error));
      return;
     }
}if (signal == false){

Print("send_orders, signal SELL");

   order_id = OrderSend(Symbol(),OP_SELL,1.0,Bid,3,0,0,"expert comment",255,0,Red);
   if(order_id < 0)
     {
      error=GetLastError();
      Print("send_orders, error = ",ErrorDescription(error));
      return;
     }
     }

}if (ticket_count == position_limit){

OrderSelect(0,SELECT_BY_TICKET);

order_type = OrderType();

order_id = OrderTicket();

//----

Print("send_orders,  order already open");

if ((signal == false) && order_type == OP_BUY){

Print("send_orders,  is closing position");

if(OrderSelect(0, SELECT_BY_TICKET)==true){

OrderClose(OrderTicket(),1,Bid,3,Red);

}

}if ((signal == true ) && order_type == OP_SELL){

Print("send_orders,  is closing position");

if(OrderSelect(order_id, SELECT_BY_TICKET)==true){

OrderClose(OrderTicket(),1,Ask,3,Red);

}
}
}
}

La primera es OrderSelect(0,SELECT_BY_TICKET); necesita order_type == OP_BUY para funcionar, pero en este caso no funciona.

Gracias por su ayuda.

Razón de la queja: