¿Qué hay de malo en eso? - página 6

 
¿Cómo puedo abrir dos órdenes al mismo tiempo? Hay EAs que abren dos órdenes simultáneamente en diferentes direcciones.
 
sss2019:
¿Qué le parece abrir dos pedidos al mismo tiempo?
Por ejemplo, en diferentes cuentas o terminales.
 
sss2019:
¿Cómo puedo abrir dos órdenes al mismo tiempo? Hay EAs que abren dos órdenes simultáneamente en diferentes direcciones.
No hay ametralladoras que disparen desde el mismo cañón al mismo tiempo. Las balas salen de una en una.
 
¿Cómo puedo hacer que una orden pendiente se elimine en el momento adecuado si no funciona? ¿Cómo configurar correctamente la fecha para que las órdenes abiertas cada día se cierren a las 5? ¿Puede decirme, por favor.
 

Sea h_time la hora de cierre del pedido en horas. Entonces el código podría ser así:

extern   int h_time = 17;    // время указано по серверу
..........

   datetime c_time = TimeCurrent(); 
   int HourCurrent = TimeHour(c_time);

   // установим c_time в 00:00:00 текущего дня
   c_time = c_time - HourCurrent*60*60 - TimeMinute(c_time)*60 - TimeSeconds(c_time);
   // теперь установим c_time на указанный час
   if (h_time > HourCurrent) //время можем установить, если оно еще не наступило
     c_time = c_time + h_time*60*60;
   else
     c_time = 0;

Además, hay que tener en cuenta los siguientes matices: la sesión es más corta el viernes; hay algunos días festivos; la hora de vencimiento de la orden pendiente no puede fijarse cerca de la hora del servidor (lo cerca que esté depende de la empresa de corretaje).

 
sss2019:
Entonces, una vez que una orden ha asignado su número a la variable Ticket, no es necesario emitirla con return, la variable no se borrará más en el siguiente tick?
En este caso no se borrará porque se declara globalmente
 
granit77:
No hay ametralladoras que disparen desde el mismo cañón al mismo tiempo. Las balas salen de una en una.

Palabras de oro.
 

Por favor, ayúdenme.

   if(TimeHour(TimeCurrent()) == 9 && TimeMinute(TimeCurrent()) == 28 && OrdersTotal() == 0)
     {
     if(OrderSend(Symbol(),OP_BUYLIMIT,Lot,Open[0] - 10 * MyPoint,Slippage,0,0,MyComment,16523,0,Green) == true)
       {
       Alert("Ордер открыт");
       }
       else
          {
          Alert("Ошибка ",GetLastError());
          }
     }

En realidad, se abre una orden, pero la señal de Alert ( "Order is open") no se dispara ; en cambio, se dispara la Alert("Error ",GetLastError ()); pero eso me parece que es en el siguiente tick

 
sss2019:

Por favor, ayúdenme.

En realidad, se abre una orden, pero la señal de Alert ( "Order is open") no se dispara ; en cambio, se dispara la Alert("Error ",GetLastError ()); pero eso me parece que es en el siguiente tick


¿Desde cuándo OrderSend devuelve true?
 
Ah ya veo, pero en algún lugar he visto una condición como la mía, o similar. ¿Y cómo hago para que la condición se cumpla después de abrir un pedido?