Проблема глобальных файлов терминала - страница 3

 

Привет, Глубокая Мысль

Я пробовал это, и каждый раз, когда я пытался это сделать, MT4 блокировался. Хотя я не сидел на точке останова, когда пытался загрузить шаблон. Я попробую поставить точку останова в начале OnStart() и посмотрю, что произойдет. IDE должна быть остановлена независимо от типа приложения, когда вы сидите на точке останова. Я только что попробовал это - не сработало. Когда отладчик попадает в точку останова, терминал замирает. Попытка сделать что-либо блокирует его. Я заметил, что вы используете автономные графики. Я - нет. В этом может быть разница - если вы используете MT4. Спасибо за совет - стоило попробовать. Теперь у меня есть проблема посерьезнее. Мой отладчик перестал работать. Должно быть, я что-то сделал, но я не уверен, что именно. Ах - жизнь и времена программиста. :-)

 

Нет проблем.

Но нет, автономные графики не влияют на сохранение шаблонов (по крайней мере, в последних сборках, так как несколько недель назад тоже была ошибка).

Да, терминал зависает во время отладки. Отладчик цепляет основной поток IDE, в котором обычно работают все индикаторы. Он размораживается на некоторое время после выхода из вашего метода событий (OnStart, OnInit) и жив до тех пор, пока вы снова не остановите его в точке останова.

 
ProfessorMetal:

Привет, Глубокая Мысль

Я пробовал это, и каждый раз, когда я пытался это сделать, MT4 блокировался. Хотя я не сидел на точке останова, когда пытался загрузить шаблон. Я попробую поставить точку останова в начале OnStart() и посмотрю, что произойдет. IDE должна быть остановлена независимо от типа приложения, когда вы сидите на точке останова. Я только что попробовал это - не сработало. Когда отладчик попадает в точку останова, терминал замирает. Попытка сделать что-либо блокирует его. Я заметил, что вы используете автономные графики. Я - нет. В этом может быть разница - если вы используете MT4. Спасибо за совет - стоило попробовать. Теперь у меня есть проблема посерьезнее. Мой отладчик перестал работать. Должно быть, я что-то сделал, но я не уверен, что именно. Ах - жизнь и времена программиста. :-)

Извините, но у меня нет никаких проблем с отладчиком. Он использует debug.tpl, который я сохранил, и не блокируется.

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

 

Еще раз спасибо, DeepThought. Я не думал, что графики имеют к этому какое-то отношение, но подумал, что на всякий случай стоит об этом упомянуть. Если вы посмотрите мой профиль, то увидите, что я очень опытный разработчик. Я на собственном опыте убедился, что то, что вы считаете не проблемой, часто оказывается ею. Всегда стоит задать вопрос, даже если вы думаете, что он спорный. Однако мне кажется, что я неправильно понимаю ваше предыдущее сообщение. Если терминал замирает, когда отладчик попадает в точку останова, вы никак не можете загрузить шаблон для графика, на котором находитесь. Очевидно, я неправильно понял то, что вы пытались мне сказать.

angevoyageur,

Я не могу написать ничего больше, чем уже написал. Нет никаких шагов A, B, C, которые вызывают это. Он ведет себя так, как будто пытается найти отладочный шаблон, но не может и поэтому не открывает график. Журнал, похоже, подтверждает это. Если я удалю debug.tpl, отладчик откроет график. Мне все еще приходится настраивать график самостоятельно, но это лучше, чем полное отсутствие отладки. Это начинает выглядеть как проблема для службы поддержки. Я не знаю, почему я вижу это, а вы и DeepThought - нет. Я даже дошел до того, что переустановил MT4, но ситуация не изменилась. Также может быть, что в моем коде что-то не так, что приводит к сбою при попытке загрузить шаблон. Я собираюсь рассмотреть этот вариант, прежде чем обращаться в службу поддержки. Прямо сейчас мне нужно отключиться и немного отдохнуть. Я слишком устал, чтобы сосредоточиться. Еще раз спасибо за вашу помощь.

 
О, теперь я понял, что вы упустили. Дело в том, что шаблон debug.tpl загружается автоматически, если график открывается из отладчика - то же самое происходит для default.tpl с любым обычным графиком, tester.tpl с тестером стратегий, offline.tpl с оффлайн графиком, и в дополнение к тестеру стратегий желательно загружать <ea_name>.tpl.
 

Честно говоря, я никогда не пользовался отладчиком. Просто использую функции Print. Так я могу отлаживать быстрее. Конечно, я использую демо-счет, но это становится тестированием вперед, а не назад.

Многим людям нравится тестирование назад, но мне нравится тестирование вперед. Какой смысл вам проводить оптимизацию на исторических данных?

Я делаю оптимизацию на реальных данных. Благодаря этому мой советник стал на 100% стабильным и может справиться с большинством ошибок без моего участия.

Конечно, на это у меня ушло много месяцев, но оно того стоило.

 
ProfessorMetal:

Еще раз спасибо, DeepThought. Я не думал, что графики имеют к этому какое-то отношение, но подумал, что на всякий случай стоит об этом упомянуть. Если вы посмотрите мой профиль, то увидите, что я очень опытный разработчик. Я на собственном опыте убедился, что то, что вы считаете не проблемой, часто оказывается ею. Всегда стоит задать вопрос, даже если вы думаете, что он спорный. Однако мне кажется, что я неправильно понимаю ваше предыдущее сообщение. Если терминал замирает, когда отладчик попадает в точку останова, вы никак не можете загрузить шаблон для графика, на котором находитесь. Очевидно, я неправильно понял то, что вы пытались мне сказать.

angevoyageur,

Я не могу написать ничего больше, чем уже написал. Нет никаких шагов A, B, C, которые вызывают это. Он ведет себя так, как будто пытается найти отладочный шаблон, но не может и поэтому не открывает график. Журнал, похоже, подтверждает это. Если я удалю debug.tpl, отладчик откроет график. Мне все еще приходится настраивать график самостоятельно, но это лучше, чем полное отсутствие отладки. Это начинает выглядеть как проблема для службы поддержки. Я не знаю, почему я вижу это, а вы и DeepThought - нет. Я даже дошел до того, что переустановил MT4, но ситуация не изменилась. Также может быть, что в моем коде что-то не так, что приводит к сбою при попытке загрузить шаблон. Я собираюсь рассмотреть этот вариант, прежде чем обращаться в службу поддержки. Прямо сейчас мне нужно отключиться и немного отдохнуть. Я слишком устал, чтобы сосредоточиться. Еще раз спасибо за помощь.

Можете ли вы попробовать с очень простым шаблоном? Может быть, это связано с самим шаблоном? Если он работает с простым шаблоном (например, отображение свечей), тогда идите шаг за шагом, добавляя по 1 штуке за раз в ваш шаблон.

Если это не работает с самого начала, то это определенно что-то для ServiceDesk.

 

DeepThought,

"Говорят, что шаблон debug.tpl загружается автоматически, если график открывается из отладчика" Одна из проблем может заключаться в том, о чем я упоминал ранее. В инсталляции MT4 нет директории profiles/templates, о которой говорится в документации. Поэтому я добавил его сам, а затем сохранил в нем свой отладочный шаблон. Я пробовал запускать отладчик как с запущенным MT4, так и с выключенным и позволял отладчику запускать все с теми же результатами. Я наблюдал несколько странных вещей при обоих подходах. Иногда в журнале появляется ошибка unitialization error 2, указывающая на то, что мой инди перекомпилируется, когда я запускаю отладчик. Это не имеет смысла. Я пробовал запускать отладчик и с запущенным MT4, и просто позволяя отладчику самому запускать все с теми же результатами. Это происходит, только если у меня есть папка profiles/template с debug.tpl в ней. Если я избавляюсь от него, отладчик выводит на экран график с инди, который я пытаюсь протестировать, и ничего больше. Что касается запуска отладчика, а затем попытки загрузить шаблон, отладчик мгновенно отключается, когда я выбираю шаблон, и я смотрю на график, как будто я запустил MT4 с профилем, содержащим график с моей настройкой.

deysmacro, я согласен.

Обратное тестирование бесполезно. Как и вы, я тестирую только вперед. Это занимает много времени, но вы получаете гораздо более точную картину того, что будет делать ваше приложение. Если я собираюсь создать инструмент для личного пользования или для коммерческой продажи, я буду оценивать его эффективность, применяя его к тому, что рынок делает СЕЙЧАС, а не к тому, что он делал пять лет назад. На мой взгляд, это единственное, что имеет смысл.

Хорошее предложение, angevoyageur. Я и сам должен был об этом подумать. Я все еще не до конца уверен, что инди, над которым я работаю, в этом не виноват. Я рассчитываю точки входа и выхода на основе МА и иногда получаю нулевые дивиденды. Судя по логам, проблема не в этом, но кто знает. Одна из причин, почему я не думаю, что проблема в этом, заключается в том, что когда у меня есть каталог и файловая структура, установленные в соответствии с документацией, журнал показывает, что инди и советник загружаются успешно, а затем немедленно деинициализируются без объяснения причин. У меня есть Alerts в функциях OnInit()и OnDeinit(), и ни одна из них не выполняется, что позволяет предположить, что то, что взрывается, делает это еще до того, как что-то успевает выполниться. Я буду продолжать работать над этим и сообщать о том, что найду. Возможно, мне придется передать это в службу ServiceDesk. Как я уже говорил, у меня есть обходной путь, хотя он и болезненный. :-)

 
ProfessorMetal:

DeepThought,

В инсталляции MT4 нет директории profiles/templates, о которой говорится в документации. Поэтому я добавил его сам, а затем сохранил в нем свой отладочный шаблон.


Ни у меня, ни у вас его нет в каталоге установки. Не берите в голову.
 
DeepThought:

Ни у одного из моих компьютеров нет его в каталоге установки. Неважно.

:-)