Обсуждение статьи "С чего начать при создании торгового робота для Московской биржи MOEX"

 

Опубликована статья С чего начать при создании торгового робота для Московской биржи MOEX:

Многие трейдеры на Московской бирже хотели бы автоматизировать свои торговые алгоритмы, но не знают с чего начать. Язык MQL5 предлагает не только огромный набор торговых функций, но и готовые классы, которые максимально облегчают первые шаги в алготрейдинге.

Принцип использования ордеров BUY STOP, SELL STOP и BUY LIMIT, SELL LIMIT, а также способы выставления их прямо из стакана цен представлены на картинке ниже.

Автор: MetaQuotes Software Corp.

 
Добавьте историю реальных тиков MOEX для тестера на Metaquotes-Demo.
 
Anton Zverev:
Добавьте историю реальных тиков MOEX для тестера на Metaquotes-Demo.
Занимаемся
 
Применим ли код представленный в разделах "Получение свойств финансового инструмента и работа с торговым счетом" для программирование советников в МТ4 ? Если нет то где можно прочесть об этом только для MT 4 ?
 
GKS:
Применим ли код представленный в разделах "Получение свойств финансового инструмента и работа с торговым счетом" для программирование советников в МТ4 ? Если нет то где можно прочесть об этом только для MT 4 ?
Да, в этой части языки MQL4 и MQL5 полностью совпадают. Разница есть только в торговых операциях и работе с индикаторами.
 
Rashid Umarov:
Да, в этой части языки MQL4 и MQL5 полностью совпадают. Разница есть только в торговых операциях и работе с индикаторами.
А в чём эта разница заключается ?
 
GKS:
А в чём эта разница заключается ?
https://www.mql5.com/ru/forum
Торговая система MetaTrader 5 (MetaQuotes Software Corp.) - MQL4 форум
Торговая система MetaTrader 5 (MetaQuotes Software Corp.) - MQL4 форум
  • www.mql5.com
Торговая система MetaTrader 5 (MetaQuotes Software Corp.) - MQL4 форум
 
Aytugan Khafizov:
Занимаемся
Сроки есть?
 

Почти все примеры из этой статьи не будут работать, если выбрать символ с размером тика, отличающимся от 1 и задать стопы/цены не кратные этому размеру.

А для новичков потом будет очень трудно разобраться, почему ордера не выставляются... 

 
Alexey Kozitsyn:

Почти все примеры из этой статьи не будут работать, если выбрать символ с размером тика, отличающимся от 1 и задать стопы/цены не кратные этому размеру.

А для новичков потом будет очень трудно разобраться, почему ордера не выставляются... 

тут вообще море вопросов, остающихся без ответа, вот, к примеру,

никто не может ответить смысл временных интервалов, выдаваемых этой вот функцией: 

 SymbolInfoSessionTrade(...)

Эта функция выдает значение полей спецификации контракта "торговая сессия",

но как эти временные интервалы соотносятся с расписанием торгов на бирже ?

молчание...

 
Denis Sartakov:

тут вообще море вопросов, остающихся без ответа, вот, к примеру,

никто не может ответить смысл временных интервалов, выдаваемых этой вот функцией: 

 SymbolInfoSessionTrade(...)

Эта функция выдает значение полей спецификации контракта "торговая сессия",

но как эти временные интервалы соотносятся с расписанием торгов на бирже ?

молчание...

Функция выдает ровно то, что прописано на торговом сервере в спецификации контракта.

//+------------------------------------------------------------------+
//|                                 Check_SymbolInfoSessionTrade.mq5 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   ENUM_DAY_OF_WEEK weekday=MONDAY;
   PrintDaySession(weekday);
   weekday=FRIDAY;
   PrintDaySession(weekday);

  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void PrintDaySession(ENUM_DAY_OF_WEEK day)
  {
//---
   int session_index=0;
   datetime from,to;
   //---
   while(SymbolInfoSessionTrade(_Symbol,day,session_index,from,to) && !IsStopped())
     {
      string s_to=TimeToString(to,TIME_MINUTES);
      if(s_to=="00:00") s_to="24:00";

      session_index++;
      Print(EnumToString(day)," Trade session #",session_index,": ",TimeToString(from,TIME_MINUTES)," - ",s_to);
     }
   session_index=0;
   while(SymbolInfoSessionQuote(_Symbol,day,session_index,from,to) && !IsStopped())
     {
      string s_to=TimeToString(to,TIME_MINUTES);
      if(s_to=="00:00") s_to="24:00";

      session_index++;
      Print(EnumToString(day)," Quote session #",session_index,": ",TimeToString(from,TIME_MINUTES)," - ",s_to);
     }
  }
//+------------------------------------------------------------------+


Причина обращения: