Вопросы от начинающих MQL4 MT4 MetaTrader 4 - страница 142

 
Ihor Herasko:

А вот со второй формой как раз непонятно. Ведь она отвечает за время в будущем или прошлом.

Да, как то не задокументировали этот момент. Тогда лучше не полагаться на вторую форму функции, чтобы проверить доступность торгового потока.

И еще вопросик. Скажем, когда советник делает попытку открыть ордер при занятом торговом потоке, будет ли номер ошибки всегда один и тот же, а именно '146'? Или же может возникнуть какая-либо другая ошибка?

 
Asa saas:

Да, как то не задокументировали этот момент. Тогда лучше не полагаться на вторую форму функции, чтобы проверить доступность торгового потока.

И еще вопросик. Скажем, когда советник делает попытку открыть ордер при занятом торговом потоке, будет ли номер ошибки всегда один и тот же, а именно '146'? Или же может возникнуть какая-либо другая ошибка?

До отправки приказа дело может не дойти по причине наличия других ошибок. Зачем вообще таким способом узнавать о занятости потока? Проще использовать функцию проверки занятости потока.

 
Ihor Herasko:

До отправки приказа дело может не дойти по причине наличия других ошибок. Зачем вообще таким способом узнавать о занятости потока? Проще использовать функцию проверки занятости потока.

Спасибо, так и сделаю.

 
всем привет!!! Как сделать по очередное открытие ордеров!!! т.е открылся sell, потом buy и так по очереди???
 
sviter-pro:
всем привет!!! Как сделать по очередное открытие ордеров!!! т.е открылся sell, потом buy и так по очереди???

можно

но сколько штук открыть нужно?

 
один sell, потом один Buy, потом sell, потом один Buy и так бесконечно!
 
sviter-pro:
один sell, потом один Buy, потом sell, потом один Buy и так бесконечно!
Упрётесь в нехватку маржи.
 
ну я эксперементирую!!! логика специфическая!!! поможете?
 
как сделать функцию которая бы закрывала открытую позицию по её мейджику  . после того как пройдет заданное количество свечей в временной истории. 
 
Лауреат:
как сделать функцию которая бы закрывала открытую позицию по её мейджику  . после того как пройдет заданное количество свечей в временной истории. 
for(int i = 0; i < 36; i++) // 36 - история 36 свечей
  {
   if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
     {
      if(OrderSymbol() == Symbol() && OrderMagicNumber() == Magic)
        {
         if(OrderType()==OP_BUY)
           {
            bool  OrderClose(

   int        ticket,      // номер ордера
   double     lots,        // количество лотов
   double     price,       // цена закрытия
   int        slippage,    // максимальное проскальзывание
   color      arrow_color  // цвет
   );
           }

         if(OrderType()==OP_SELL )
           {
           bool  OrderClose(

   int        ticket,      // номер ордера
   double     lots,        // количество лотов
   double     price,       // цена закрытия
   int        slippage,    // максимальное проскальзывание
   color      arrow_color  // цвет
   );
           }
        }
     }
  }
return;
}