Что тут не так? - страница 6

 
А как примерно одновременно открыть сразу два ордера, есть ведь советники котрые открывают два ордера одновременно в разных направлениях.
 
sss2019:
А как примерно одновременно открыть сразу два ордера.
Например, на разных счетах или терминалах.
 
sss2019:
А как примерно одновременно открыть сразу два ордера, есть ведь советники котрые открывают два ордера одновременно в разных направлениях.
Нету пулеметов, которые из одного ствола стреляют одновременно. Пули вылетают по очереди.
 
А как сделать чтобы отложенный ордер был удален в нужное время если не сработал. Как правильно задать дату, так чтобы открываемые каждый день ордера закрывались в 5 часов? Скажите пожалуйста.
 

Пусть h_time время закрытия ордера в часах. Тогда код мог бы выглядеть так:

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;

Кроме того, нужно помнить про нюансы: в пятницу сессия короче; бывают предпраздничные дни; время экспирации отложенного ордера нельзя установить близко от серверного времени (насколько близко, зависит от ДЦ).

 
sss2019:
Так значит после того как ордер присвоил переменной Ticket свое число не нужно выводить его с помощью return, переменная не удалится далее на следующем тике?
в данном случае не удалится, потому что объявлена на глобальном уровне
 
granit77:
Нету пулеметов, которые из одного ствола стреляют одновременно. Пули вылетают по очереди.

Золотые слова.
 

Помогите пожалуйста еще вот тут вот.

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

Собственно открывается один ордер, но не срабатывает сигнал Alert("Ордер открыт"); А вместо него срабатывает Alert("Ошибка ",GetLastError()); но это как мне кажется уже на следующем тике

 
sss2019:

Помогите пожалуйста еще вот тут вот.

Собственно открывается один ордер, но не срабатывает сигнал Alert("Ордер открыт"); А вместо него срабатывает Alert("Ошибка ",GetLastError()); но это как мне кажется уже на следующем тике


с каких пор OrderSend возвращает true ?
 
А понял, но где то я видел такое условие как у меня, или подобное . А как сделать чтобы выполнилось условие после открытия ордера?
Причина обращения: