FXWizard
Гуру форума
Программирование на MQL 4: Торговые системы. Часть 2.
В этой статье мы продолжим тему, и рассмотрим общую схему работы советников для торгово-информационной системы MetaTrader 4 более подробно.
До тех пор, пока у нас ещё не написана собственная МТС, мы будем обращаться к примеру, поставляемому с MetaEditor 4 - советнику MACD.
Заглянув в код советника MACD, мы увидим уже, наверное, ставшие привычными функции "init", "deinit" и "start".
Функция "init" служит для инициализации начальных данных работы советника, в ней же выполняется проверка корректности этих данных. Например, если наш советник в качестве take-profit будет ориентироваться на какое-то конкретное число, и это число передаётся советнику через параметр, то на этом этапе можно проверить, чтобы оно не было слишком маленьким.
Функция "deinit" нужна для удаления последствий работы советника. Например, если мы не хотим, чтобы после работы советника в окне котировок оставались какие-то символы, то функция "deinit" - как раз то место, где можно очистить окно котировок функцией ObjectDeleteAll().
В предыдущей статье мы уже говорили о том, что основной этап работы советника выполняется функцией "start". Именно она вызывается MetaTrader’ом каждый раз, когда происходит изменение котировки торгуемого инструмента, и именно она ответственна за проведение анализа рыночной ситуации и заключение сделок, опираясь на сигналы индикаторов, входящих в описываемую ТС.
Функция советника "start", как правило, состоит из нескольких блоков в той или иной степени присутствующих во всех советниках реализующих МТС. Далее приведена блок-схема, которая иллюстрирует работу советника. Все этапы, приведённые на ней, за исключением двух начальных блоков, обычно выполняются в функции "start".
В этой статье мы продолжим тему, и рассмотрим общую схему работы советников для торгово-информационной системы MetaTrader 4 более подробно.
До тех пор, пока у нас ещё не написана собственная МТС, мы будем обращаться к примеру, поставляемому с MetaEditor 4 - советнику MACD.
Заглянув в код советника MACD, мы увидим уже, наверное, ставшие привычными функции "init", "deinit" и "start".
Функция "init" служит для инициализации начальных данных работы советника, в ней же выполняется проверка корректности этих данных. Например, если наш советник в качестве take-profit будет ориентироваться на какое-то конкретное число, и это число передаётся советнику через параметр, то на этом этапе можно проверить, чтобы оно не было слишком маленьким.
Функция "deinit" нужна для удаления последствий работы советника. Например, если мы не хотим, чтобы после работы советника в окне котировок оставались какие-то символы, то функция "deinit" - как раз то место, где можно очистить окно котировок функцией ObjectDeleteAll().
В предыдущей статье мы уже говорили о том, что основной этап работы советника выполняется функцией "start". Именно она вызывается MetaTrader’ом каждый раз, когда происходит изменение котировки торгуемого инструмента, и именно она ответственна за проведение анализа рыночной ситуации и заключение сделок, опираясь на сигналы индикаторов, входящих в описываемую ТС.
Функция советника "start", как правило, состоит из нескольких блоков в той или иной степени присутствующих во всех советниках реализующих МТС. Далее приведена блок-схема, которая иллюстрирует работу советника. Все этапы, приведённые на ней, за исключением двух начальных блоков, обычно выполняются в функции "start".