Скопировал присиединённые файлы и запустил тестирование советника. Результат:
Аналогичные сообщения в лог-файле. Вроде всё читается.
У Вас файл '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 или хэндл другого индикатора должен передаваться последним после всех предусмотренных пользовательским индикатором входных переменных. |
Но проверить пока не могу - опять успел запустить тестирование тестера.
в советнике сделайте вот так, тогда ошибки появятся, у меня идут ((
два дня уже бьюсь.немогу из-за этого советник протестировать.
Все нормально работает - я только что проверил на Ваших файлах (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); }
Проблему нашел - дело в том, что из probAll вызывается другой индикатор prob....
С этой проблемой будем разбираться, ...
....
С этой проблемой будем разбираться, а пока можно заставить загрузить индикатор, прописав его пустой вызов в ините:
Проблема 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
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Странные сообщения в логе при запуске тестера.
Порядок действий (файлы прилагаются)
Запускаем эксперт (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)
Лог
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'
Что я неправильно делаю ?