Чудеса тестера MT4 - страница 3

 
Andrey Khatimlianskii:

В файл лень заглянуть?

Заглянул. Переменная Step с тем же значением, что и в свойствах советника. Я ее не меняю. Просто добавляю extern или убираю его. Это просто баг, связанный как-то с EventSetTimer(). И скорей всего он только у меня вот так случайно проявился. И скорей всего больше ни у кого и не появится.

 
Andrey Khatimlianskii:

В файл лень заглянуть?

Заглянул. Переменная Step с тем же значением, что и в свойствах советника. Я ее не меняю. Просто добавляю extern или убираю его. Это просто баг, связанный как-то с EventSetTimer(). И скорей всего он только у меня вот так случайно проявился. И скорей всего больше ни у кого и не появится.

 
Evgeniy Zhdan:

Заглянул. Переменная Step с тем же значением, что и в свойствах советника. Я ее не меняю. Просто добавляю extern или убираю его. Это просто баг, связанный как-то с EventSetTimer(). И скорей всего он только у меня вот так случайно проявился. И скорей всего больше ни у кого и не появится.

Тогда в сервис-деск с кодом, моя телепатия бессильна.

 
Бывает еще такое, с Digits и в OnInit(), к трем и пяти значным брокерам, я одно время так мучился с тайк-профитами и плюнул на это дело и забыл. в OnInit() кроме графических и классов лучше совсем не лезть, так как иногда в расчетах забываешь об этом, что ты уже переменной указал значение и которое дано ей при запуске, а сам дальше проделываешь с ней все-возможные манипуляции, а при новом тике, она смотрит в глобальные и соображает и не поймет что к чему, скажет: сейчас сделаю так - разберут на запчасти, и думает: дай сделаю больше. А тут сидишь и думаешь, и не понимаешь. Все дело в самом коде. Так что ищите методом исключения, extern и input тут не при чем, и та функция тоже она только по новому в определенный момент запускает советника на исполнение, и вот тут как-раз OnInit() и Digits могут сыграть злую шутку. Удачи.
 
Yrii Kuksov:
Бывает еще такое, с Digits и в OnInit(), к трем и пяти значным брокерам, я одно время так мучился с тайк-профитами и плюнул на это дело и забыл. в OnInit() кроме графических и классов лучше совсем не лезть, так как иногда в расчетах забываешь об этом, что ты уже переменной указал значение и которое дано ей при запуске, а сам дальше проделываешь с ней все-возможные манипуляции, а при новом тике, она смотрит в глобальные и соображает и не поймет что к чему, скажет: сейчас сделаю так - разберут на запчасти, и думает: дай сделаю больше. А тут сидишь и думаешь, и не понимаешь. Все дело в самом коде. Так что ищите методом исключения, extern и input тут не при чем, и та функция тоже она только по новому в определенный момент запускает советника на исполнение, и вот тут как-раз OnInit() и Digits могут сыграть злую шутку. Удачи.

Ну если бы EventSetTimer() в моем случае запускала по разному, то и результаты были бы  ВСЕГДА разные. А тут только 2 разных результата. Хрен с ним, я уже разобрался. Не хочется больше голову забивать этой ерундой.

 
Evgeniy Zhdan:

Ну если бы EventSetTimer() в моем случае запускала по разному, то и результаты были бы  ВСЕГДА разные. А тут только 2 разных результата. Хрен с ним, я уже разобрался. Не хочется больше голову забивать этой ерундой.

Я не знаю точно, только предположил, что если она, эта функция запускает советника, то ему при запуске надо пройти процедуру запуска, через OnInit(), как-будто в первый раз, и если там стоит Digits==3||Digits==5 (сокращено), то он проходит через эту процедуру. Где-то встречал,(и сейчас стараюсь так делать), по меньшей мере объявлять глобальные переменные, все по факту; лучше лишний раз написать int, чем потом ползать и искать во всем коде что и куда идет и почему?! Так что опыт приходит всегда после и чем больше ошибок и их исправления, тем обширней опыт познания. Так что все Хорошо. Так и должно быть всегда.

 
Evgeniy Zhdan:

Методом исключения выявил. Если использовать EventSetTimer() то данная аномалия появляется, если не использваоть, то не появляется. В целом, проблема в моем случае решилась отказом от EventSetTimer(). И даже лучше стало.

Timer в тестере не работает.

 

доброго времени суток! Подскажите, может кто знает, загружаю тиковые данные чтобы тестировать с 99% как положено, все четко работает для 30 мин графика, но как только я загружаю Н4 данные и пробую в тестере гонять по им советника, - не получается, тестер выдает 2018.04.05 16:41:08.576 TestGenerator: file "C:\Users\user\AppData\Roaming\MetaQuotes\Terminal\7E781795884A398A87F33ED1B942D689\tester\history\USDJPY240_0.fxt" cannot open [5]

и 2018.04.05 16:41:08.535 TestGenerator: file "C:\Users\user\AppData\Roaming\MetaQuotes\Terminal\7E781795884A398A87F33ED1B942D689\tester\history\USDJPY240_0.fxt" is read-only

в чем может быть причина??????
 
pryn:

доброго времени суток! Подскажите, может кто знает, загружаю тиковые данные чтобы тестировать с 99% как положено, все четко работает для 30 мин графика, но как только я загружаю Н4 данные и пробую в тестере гонять по им советника, - не получается, тестер выдает 2018.04.05 16:41:08.576 TestGenerator: file "C:\Users\user\AppData\Roaming\MetaQuotes\Terminal\7E781795884A398A87F33ED1B942D689\tester\history\USDJPY240_0.fxt" cannot open [5]

и 2018.04.05 16:41:08.535 TestGenerator: file "C:\Users\user\AppData\Roaming\MetaQuotes\Terminal\7E781795884A398A87F33ED1B942D689\tester\history\USDJPY240_0.fxt" is read-only

в чем может быть причина??????

Причина в том что файл USDJPY240_0.fxt" is read-only.

240 минут это и есть H4

 
SidorOFF:

Причина в том что файл USDJPY240_0.fxt" is read-only.

240 минут это и есть H4

Он read-only по той причине, что это FXT-файл, специально сгенерированный из реальных тиков. Иначе тестер начнет строить свой тиковый файл, состоящий из моделированных тиков. Стандартный подход к тестированию на реальных тиках.