O que há de errado com isso? - página 6

 
Como posso abrir duas ordens ao mesmo tempo? Existem EAs que abrem duas ordens simultaneamente em direções diferentes.
 
sss2019:
Que tal abrir dois pedidos ao mesmo tempo?
Por exemplo, em diferentes contas ou terminais.
 
sss2019:
Como posso abrir duas ordens ao mesmo tempo? Existem EAs que abrem duas ordens simultaneamente em direções diferentes.
Não há metralhadoras que disparam do mesmo cano ao mesmo tempo. As balas saem uma de cada vez.
 
Como faço para que uma ordem pendente seja apagada no momento certo se não funcionar. Como definir corretamente a data, para que os pedidos abertos todos os dias sejam fechados às 5 horas? Pode me dizer, por favor?
 

Que h_time seja a hora de fechamento do pedido em horas. Então o código poderia ter este aspecto:

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;

Além disso, devemos ter em mente as seguintes nuances: a sessão é mais curta na sexta-feira; há alguns feriados; o tempo de expiração do pedido pendente não pode ser definido próximo ao tempo do servidor (o quão próximo depende da empresa corretora).

 
sss2019:
Então, uma vez que um pedido tenha atribuído seu número à variável Bilhete, não há necessidade de emiti-la com retorno, a variável não será apagada mais adiante no próximo tick?
Neste caso, não será apagado porque é declarado globalmente
 
granit77:
Não há metralhadoras que disparam do mesmo cano ao mesmo tempo. As balas saem uma de cada vez.

Palavras de ouro.
 

Por favor, me ajude aqui.

   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());
          }
     }

Na verdade, uma ordem é aberta, mas o sinal Alerta("Ordem está aberta") não se apaga ; em vez disso, o Alerta("Erro ",GetLastError ()) se apaga; mas isso me parece estar no próximo sinal

 
sss2019:

Por favor, me ajude aqui.

Na verdade, uma ordem é aberta, mas o sinal Alerta("Ordem está aberta") não se apaga ; em vez disso, o Alerta("Erro ",GetLastError ()) se apaga; mas isso me parece estar no próximo sinal


Desde quando a OrderSend retorna ?
 
Ah, estou vendo, mas em algum lugar eu já vi uma condição como a minha, ou similar. E como fazer a condição a ser preenchida após a abertura de um pedido?
Razão: