Билд 279

 

Странные сообщения в логе при запуске тестера.

Порядок действий (файлы прилагаются)

Запускаем эксперт (My_SP3_00). Который использует индикатор prob. Все хорошо. Лог

2010.06.05 23:29:45   Core 1 OnTester result 0

2010.06.05 23:29:43   Core 1 ExtHandle= 10  err= 0

2010.06.05 23:29:43   Core 1   N2=60

2010.06.05 23:29:43   Core 1   N1=120

2010.06.05 23:29:43   Core 1 EURUSD,M1: testing of Experts\My_SP3_00.ex5 from 2010.05.31 00:00 to 2010.06.05 00:00 started with inputs:

 

Теперь в советнике вызываем индикатор probALL (который использует индикатор prob)

 

  ExtHandle=iCustom(Symbol(),PERIOD_CURRENT,"probALL",60,180);

  //ExtHandle=iCustom(Symbol(),PERIOD_CURRENT,"prob"   ,60,180);

  Print("ExtHandle=",ExtHandle," err=",_LastError);
 

Лог

2010.06.05 23:30:30   Core 1 Loading of prob EURUSD,M1 failed

2010.06.05 23:30:30   Core 1 Cannot read 'prob.ex5'

2010.06.05 23:30:30   Core 1 Loading of prob GBPUSD,M1 failed

2010.06.05 23:30:30   Core 1 Cannot read 'prob.ex5'

2010.06.05 23:30:30   Core 1 GBPUSD: history synchronized from 2009.01.02 to 2010.06.04

2010.06.05 23:30:30   Core 1 GBPUSD: load 27 bytes of history data to synchronize

2010.06.05 23:30:30   Core 1 GBPUSD: symbol synchronized. 3304 bytes of symbol info received.

2010.06.05 23:30:30   Core 1 Loading of prob USDCHF,M1 failed

2010.06.05 23:30:30   Core 1 Cannot read 'prob.ex5'

2010.06.05 23:30:30   Core 1 USDCHF: history synchronized from 2009.01.02 to 2010.06.04

2010.06.05 23:30:30   Core 1 USDCHF: load 27 bytes of history data to synchronize

2010.06.05 23:30:29   Core 1 USDCHF: symbol synchronized. 3304 bytes of symbol info received.

2010.06.05 23:30:29   Core 1 ExtHandle= 10  err= 0

 

Идут ошибки Cannot read 'prob.ex5'

 

Что я неправильно делаю ?

Файлы:
prob.mq5  4 kb
proball.mq5  13 kb
my_sp3_00.mq5  2 kb
 

Скопировал присиединённые файлы и запустил тестирование советника. Результат:

 

 Аналогичные сообщения в лог-файле. Вроде всё читается.

 У Вас файл 'prob.ex5' в какой папке находится?

 
Yedelkin:

Скопировал присиединённые файлы и запустил тестирование советника. Результат:

 

 Аналогичные сообщения в лог-файле. Вроде всё читается.

 У Вас файл 'prob.ex5' в какой папке находится?

в советнике сделайте вот так, тогда ошибки появятся, у меня идут ((

  ExtHandle=iCustom(Symbol(),PERIOD_CURRENT,"probALL",60,180);
  //ExtHandle=iCustom(Symbol(),PERIOD_CURRENT,"prob"   ,60,180);
  Print("ExtHandle=",ExtHandle," err=",_LastError);

 

два дня уже бьюсь.немогу из-за этого советник протестировать. 

 

Да, появляется то же самое сообщение об ошибке.

Upd: Нашёл в справочнике вот такую фразу:

При вызове пользовательского индикатора из mql5-программы параметр Applied_Price или хэндл другого индикатора должен передаваться последним после всех предусмотренных пользовательским индикатором входных переменных.

 

Но проверить пока не могу - опять успел запустить тестирование тестера. 

 
Prival:

в советнике сделайте вот так, тогда ошибки появятся, у меня идут ((

 

два дня уже бьюсь.немогу из-за этого советник протестировать. 

Все нормально работает - я только что проверил на Ваших файлах (prob.mq5 положил в Indicators, скопилировал его, My_SP3_00.mq5 положил в /Experts и скомпилировал, потом прогнал в тестере).

LP      0       Tester  21:26:38        EURUSD: history preliminary downloading started
KH      0       Tester  21:26:39        EURUSD: history preliminary downloading completed
FN      0       Core 1  21:26:39        Agent process started
RN      0       Core 1  21:26:39        Connecting to 127.0.0.1:3000
PJ      0       Core 1  21:26:39        Connected
PL      0       Tester  21:26:39        EURUSD,H1: testing of Experts\My_SP3_00.ex5 from 2010.05.19 00:00 to 2010.05.30 00:00 started
RQ      0       Core 1  21:26:39        Authorized (agent build 279)
LO      0       Core 1  21:26:41        Common synchronization completed
LE      0       Core 1  21:26:41        3124 bytes of account info stored
HM      0       Core 1  21:26:41        3764 bytes of group info stored
JD      0       Core 1  21:26:41        7162 bytes of tester parameters stored
KP      0       Core 1  21:26:41        275 bytes of selected symbols stored
KK      0       Core 1  21:26:41        Expert file added: Experts\My_SP3_00.ex5. 2763 bytes stored
CS      0       Core 1  21:26:41        Expert file added: Indicators\prob.ex5. 4307 bytes stored
MI      0       Core 1  21:26:41        Initial deposit 10000.00 USD
MP      0       Core 1  21:26:41        Successfully initialized
OD      0       Core 1  21:26:41        Optimization pass 0 started
MO      0       Core 1  21:26:41        24 Kb of total initialization data received
DD      0       Core 1  21:26:41        Performance: 152
EH      0       Core 1  21:26:41        EURUSD: symbol synchronized. 3304 bytes of symbol info received.
KK      0       Core 1  21:26:41        EURUSD: history for 2009 year synchronized
ES      0       Core 1  21:26:41        EURUSD: history for 2010 year synchronized
JG      0       Core 1  21:26:41        EURUSD: history synchronization completed [2558 Kb]
OQ      0       Core 1  21:26:41        EURUSD: load 2558 Kb of history data to synchronize
ED      0       Core 1  21:26:41        EURUSD: history synchronized from 2009.01.02 to 2010.05.28
OQ      0       Core 1  21:26:44        EURUSD: contains 501555 M1 records of beginning data from 2009.01.02 06:01 to 2010.05.19 00:00
ER      0       Core 1  21:26:44        EURUSD,H1: history cache reserved for estimated 8811 bars
JE      0       Core 1  21:26:44        EURUSD,H1: history begins from 2009.01.02 06:00
LQ      0       Core 1  21:26:44        EURUSD,H1: testing of Experts\My_SP3_00.ex5 from 2010.05.19 00:00 to 2010.05.30 00:00 started with inputs:
FR      0       Core 1  21:26:44          N1=120
JE      0       Core 1  21:26:44          N2=60
FF      0       Core 1  21:26:44        ExtHandle= 10  err= 0
JM      0       Core 1  21:26:46        OnTester result 0
ME      0       Core 1  21:26:46        EURUSD,H1: 417551 ticks (191 bars) generated within 1766 ms (total bars in history 8648)
KL      0       Core 1  21:26:46        Log file "C:\Program Files (x86)\MetaTrader 5\Tester\Agent-127.0.0.1-3000\logs\20100606.log" written
NN      0       Core 1  21:26:46        Disconnected

По всей видимости Вы или не положили prob.mq5 в каталог /MQL5/Indicators (и не скомпилировали его) или не перекомпилировали эксперта My_SP3_00.ex5. Причем по Вашему скриншоту явно видно, что запрос шел к файлу probAll.ex5 вместо prob.ex5.

Я думаю, все дело в том, что Вы создали много версий (а приставка _00 явно на это указывает) своего эксперта и забыли их правильно перекомпилировать.

 

Renat, у Вас "Expert file added: Indicators\prob.ex5". А проблемы начинаются, когда "Expert file added: Indicators\probALL.ex5". Т.е. когда в исходнике  появляется "ExtHandle=iCustom(Symbol(),PERIOD_CURRENT,"probALL",60,180);".

probALL, в свою очередь, содержит серию "Handle_хх = iCustom(Mas_0[ 0], 0, "prob",N, MaxBars);".

 

Проблему нашел - дело в том, что из probAll вызывается другой индикатор prob. И этот подчиненный кастомный индикатор не смог правильно распознаться на втором уровне вложенности скриптов и не попал в предварительную загрузку.

С этой проблемой будем разбираться, а пока можно заставить загрузить индикатор, прописав его пустой вызов в ините:

int OnInit()
  {
//--- специальный вызов для прямой загрузки индикатора
   int temp=iCustom(Symbol(),PERIOD_CURRENT,"prob"   ,60,180);
   if(temp!=INVALID_HANDLE) IndicatorRelease(temp);
//---
   ExtHandle=iCustom(Symbol(),PERIOD_CURRENT,"probALL",60,180);
   Print("ExtHandle=",ExtHandle," err=",_LastError);
//---
   return(0);
  }
 
Renat:

Проблему нашел - дело в том, что из probAll вызывается другой индикатор prob....

С этой проблемой будем разбираться, ...

Спасибо. Именно это я и хотел показать. 
 

Проблема 100-процентной автоматической загрузки пользовательских индикаторов любого уровня вложенности пока не решена. Но можно использовать

#property tester_indicator "prob.ex5"
Специально ввели такое свойство для тестирования. Описано здесь.

 

 

 
Renat:

....

С этой проблемой будем разбираться, а пока можно заставить загрузить индикатор, прописав его пустой вызов в ините:

stringo:

Проблема 100-процентной автоматической загрузки пользовательских индикаторов любого уровня вложенности пока не решена. Но можно использовать

Специально ввели такое свойство для тестирования. Описано здесь.

попробовал оба варианта. Никак не получается. Лог.

2010.06.11 00:15:10 Core 1 Handle_01= -1 err= 4802
2010.06.11 00:15:10 Core 1 Expert removed because indicator cannot load
2010.06.11 00:15:10 Core 1 Loading of SP3_multi EURUSD,M5 failed
2010.06.11 00:15:10 Core 1 Cannot read 'D:\MetaTrader 5\Tester\Agent-127.0.0.1-3000\MQL5\Indicators\SP3_multi.ex5'
2010.06.11 00:15:10 Core 1 Expert removed because indicator cannot load
2010.06.11 00:15:10 Core 1 Loading of SP3_multi EURUSD,M5 failed
2010.06.11 00:15:10 Core 1 Cannot read 'D:\MetaTrader 5\Tester\Agent-127.0.0.1-3000\MQL5\Indicators\SP3_multi.ex5'

ERR_INDICATOR_CANNOT_CREATE------------- 4802--------------Индикатор не может быть создан

 

в чем может быть причина ?. И главное что с этим делать не понимаю ((. Индикатор имеет один уровень вложения. Билд 281.
 

З,Ы, если просто запускаеш на графике то все нормально

2010.06.11 01:01:25 Time not waits_00 (EURUSD,M1) Handle_01= 12 err= 0

 

 

и еще странность

вот тут эксперты есть, их 9 штук

 

а тут не все, только 5

 

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