Отладка MQL5 программ.

Программирование прибыли: от азов к секретам мастерства. Читайте, спрашивайте, делитесь опытом.
Бонус за сообщение 0.5$
Ответственный Модератор - Haos

Отладка MQL5 программ.

Сообщение Рэндом » 22 июл 2013, 02:09

Здесь будут описаны тонкости отладки MQL5 программ.
Аватар пользователя
Рэндом
Специалист MQL
 
Сообщений: 13700
Зарегистрирован: 18 июл 2013, 08:05
Средств на руках: 31.45 Доллар
Группа: Администраторы
Благодарил (а): 1131 раз.
Поблагодарили: 3174 раз.
Каждый заблуждается в меру своих возможностей.

Re: Отладка MQL5 программ.

Сообщение Рэндом » 22 июл 2013, 02:16

Отладка - это поиск и исправление ошибок в программе. Написать сложную программу сразу без ошибок практически не возможно. Вот тут и приходить на помощь отладка. В Метатрейдер 5 появился отладчик. Он позволяет пошагово выполнять программу, что позволяет проследить логику ее работы. Ставить точки останова, место программы в котором управление передается отладчику. Просматривать значение переменных. Почитать о том как пользоваться отладчиком можно в справке. Но отладка не ограничивается только использованием отладчика. Далее я опишу подробно про отладчик и про другие методы.
Аватар пользователя
Рэндом
Специалист MQL
 
Сообщений: 13700
Зарегистрирован: 18 июл 2013, 08:05
Средств на руках: 31.45 Доллар
Группа: Администраторы
Благодарил (а): 1131 раз.
Поблагодарили: 3174 раз.
Каждый заблуждается в меру своих возможностей.

Точки останова.

Сообщение Рэндом » 23 июл 2013, 03:40

Отладка запускается кнопкой Начать. Но если у вас не установлена ни одна точка останова, то программа не перейдет в режим пошагового выполнения. Точка останова - это место в программе в котором управление передается отладчику. Установить точку останова можно два раза кликнув по номеру строки в окне текста программы. В программе может быть установлено несколько точек останова одновременно. В этом случае если нажать кнопку Продолжить, то передача управления отладчику произойдет на следующей точке останова. Это полезно для того чтобы посмотреть какой блок кода выполняется в условном операторе.
Аватар пользователя
Рэндом
Специалист MQL
 
Сообщений: 13700
Зарегистрирован: 18 июл 2013, 08:05
Средств на руках: 31.45 Доллар
Группа: Администраторы
Благодарил (а): 1131 раз.
Поблагодарили: 3174 раз.
Каждый заблуждается в меру своих возможностей.

Визуальный анализ сделок советника и показаний индикатора

Сообщение Рэндом » 24 июл 2013, 01:53

С индикаторами все понятно, они должны отображать информацию. Вот эту информацию можно проверить визуально на соответствие желаемому результату.
С советниками дело обстоит так: сначала советник тестируется в тестере, тестер откроет график со сделками и индикаторами советника. Вот по этому графику следует проверить, правильно ли совершает сделки советник. Этот метод следует использовать после того, как вы исправили ошибки, которые приводят к остановке программы. Так же, если вы используете систему управления размером лота, следует проверить правильность ее работы по истории сделок тестера.
Аватар пользователя
Рэндом
Специалист MQL
 
Сообщений: 13700
Зарегистрирован: 18 июл 2013, 08:05
Средств на руках: 31.45 Доллар
Группа: Администраторы
Благодарил (а): 1131 раз.
Поблагодарили: 3174 раз.
Каждый заблуждается в меру своих возможностей.

Отладочные сообщения.

Сообщение Рэндом » 25 июл 2013, 02:31

Отладчик не всегда удобен. Особенно при отладке советника. Представте себе что советник совершает одну сделку в день. В этом случае при отладке вам придется очень долго ждать открытия сделки. Вот тут и приходят на помощь отладочные сообщения, так как их можно использовать совместно с тестером. Для вывода отладочных сообщений используется функция Print. Подробности о этой функции вы можете почитать в справке. Вставив ее в нужное место программы, можно узнать место ее вызова, передав функции строку с соответствующим сообщением и значения переменных, передав значение переменных.
Вот все основные способы отладки. Жду ваших вопросов.
Аватар пользователя
Рэндом
Специалист MQL
 
Сообщений: 13700
Зарегистрирован: 18 июл 2013, 08:05
Средств на руках: 31.45 Доллар
Группа: Администраторы
Благодарил (а): 1131 раз.
Поблагодарили: 3174 раз.
Каждый заблуждается в меру своих возможностей.


Вернуться в MQL – теория и практика

Кто сейчас на форуме?

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 55

Права доступа к форуму

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения