Не работает функция start()

 
Понимаю что уже было несколько раз, но ни в одной теме нет ответа на этот вопрос. В официальном учебнике есть такой пример:
//--------------------------------------------------------------------
// simple.mq4
// Предназначен для использования в качестве примера в учебнике MQL4.
//--------------------------------------------------------------------
int Count=0;                                    // Глобальная перемен.
//--------------------------------------------------------------------
int init()                                      // Спец. ф-ия init()
   {
   Alert ("Сработала ф-ия init() при запуске"); // Сообщение
   return;                                      // Выход из init()
   }   
//--------------------------------------------------------------------
int start()                                     // Спец. ф-ия start()
   {
   double Price = Bid;                          // Локальная перемен.
   Count++;                                     // Счётчик тиков
   Alert("Новый тик ",Count,"   Цена = ",Price);// Сообщение
   return;                                      // Выход из start()
   }
//--------------------------------------------------------------------
int deinit()                                    // Спец. ф-ия deinit()
   {
   Alert ("Сработала ф-ия deinit() при выгрузке");   // Сообщение
   return;                                      // Выход из deinit()
   }
//--------------------------------------------------------------------
который даже не компилируется потому что содержит ошибки. Возвращаемый тип у всех функций int, хотя функции ничего не возвращают. Для того чтобы этот пример скомпилировался я поменял везде возвращаемый тип на void. Программа скомпилировалась, я прикрепил советника к графику, включил автоторговлю и разрешил советнику торговать. Рожица в верхнем правом углу графика стала радостно улыбаться. Но почему то работают только функции init и deinit. Функция start не заработала все равно. ЧЯДНТ?
 
Дмитрий Винокуров:
Понимаю что уже было несколько раз, но ни в одной теме нет ответа на этот вопрос. В официальном учебнике есть такой пример:
который даже не компилируется потому что содержит ошибки. Возвращаемый тип у всех функций int, хотя функции ничего не возвращают. Для того чтобы этот пример скомпилировался я поменял везде возвращаемый тип на void. Программа скомпилировалась, я прикрепил советника к графику, включил автоторговлю и разрешил советнику торговать. Рожица в верхнем правом углу графика стала радостно улыбаться. Но почему то работают только функции init и deinit. Функция start не заработала все равно. ЧЯДНТ?

Если компилируете в среде МQL5, то так и есть. Учебник то по МQL4. В МQL5 нет таких функций как start(), init() и deinit(). Теперь это события: OnTick(), OnInit() и OnDeinit() соответственно. Для MQL4 этот пример остается справедливым, но лучше все-таки даже в нем использовать новые события.

 

@Ihor Herasko

Спасибо огромное! Теперь все заработало

Ihor Herasko
Ihor Herasko
  • 2023.01.04
  • www.mql5.com
Профиль трейдера
Причина обращения: