Вопрос к программистам-как вы отлаживаете софт в MQL4 - страница 2

 

да, можно и так, но тогда пропадает возможность отключения отладочного вывода ;)

 
ForexTools >>:

да, можно и так, но тогда пропадает возможность отключения отладочного вывода ;)

void Debug(bool showDebugInfo, string p1="", string p2="", string p3="", string p4="", string p5="", string p6="", string p7="", string p8="", string p9="")
{
  if (!showDebugInfo) return;

  if(IsTesting()) Print(p1+" "+p2+" "+p3+" "+p4+" "+p5+" "+p6+" "+p7+" "+p8+" "+p9);
  if(IsVisualMode()) Comment(p1+"\n"+p2+"\n"+p3+"\n"+p4+"\n"+p5+"\n"+p6+"\n"+p7+"\n"+p8+"\n"+p9);
}
 
ForexTools >>:

да, можно и так, но тогда пропадает возможность отключения отладочного вывода ;)

Enter запал? ;)

 

да... да.. да... вариантов модификации кода много

но мой (самый) универсальный, потому что позволяет включить отладку в работающем индикаторе\эксперте без его перекомпиляции, и направить вывод куда мне нужно в текущий момент.

В коменте удобно следить за текущими расчетными величинами (только текущее значение), в лог - удобней собирать сведения о работе при приходе тиков (переходе от одного к другому) когда нужно отслеживать как изменяются величины (т.е. видеть значение до и после). ну и в любой момент (когда уже не нужно) - все отключается. Код - один, управляющая переменная одна и в каждом из режимов (визуальный тестер или просто тестер или работа на живом графике) доступны все три варианта вывода (включая отключенный вариант). :-P

ну да о чем это я? все ж и так очевидно :))

 

о еще вспомнил :)

редко, но иногда приходится применять такой трюк для "динамической" отладки: MessageBox после которого выполнение разводится на разные ветки в зависимости от выбранного ответа.

К сожалению прием нормально работает только при отладке скриптов, т.к. в индикаторах MessageBox не работает впринципе, а в эксперте на тиках - замахаешся ему отвечать.

 
YuraZ >>:

Знаю одного талантливого программиста он написал свой отладчик под MQL4

был у него в гостях он мне его показал, я был в восторге...

Кажется, это обо мне...

Юра, спасибо!... Никогда не считал себя программистом.

Приятно это услышать от профессионала.

 
Zhunko >>:

Кажется это обо мне...

а хоть пару слов можно: что такое было сделано, что вызвало восторг разработчика?

 

Приспособа для отладки, это еще не отладчик, слабо верится, что при остановке на брекпоинте можно навести мышку и посмотреть значения переменных.

ForexTools, рискну предположить, что это dll c MessageBox, или с модальным окном, передаются параметры: имя переменной, значение переменной, имя переменной, значение переменной и т.д.

 

эх... была когда давно у меня такая "мечта": написать парсер MQL-исходника, который выдирает все используемые имена переменных и строит свой исходник MQL который в комент построчно выводит все значения в виде ИмяПеременной = ЗначениеПеременной. Потом из него убираеш все что тебе не нужно, а оставшееся вставляеш в своего эксперта\индикатора...

жаль руки так и не дошли... может кто осилит задачку? ;)

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