Советник тестируется в режиме отладки, но при запуске в metatrader тестер выдает сообщение tester stopped because expert initialization failed
- www.mql5.com
- Обсуждение статьи "Индикаторы малой, промежуточной и основной тенденции"
- Тестер стратегий MetaTrader 5: ошибки, баги, предложения по улучшению работы
- Поиск настройки - Эксперта ( Horse move )
Компиляцию F7 делали?
Вот текст кода
int MAPeriods[3]={ 50,100,200};
int MAHandle[3];
// хэндл индикатора Moving Average
double MAVal[];
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
for(int i=0; i<AllLotsNum; i++)
{
BuyTicket[i] = 0;
SellTicket[i] = 0;
}
Print("Init Arrays Start");
if(!ArraySetAsSeries(MAVal,true)) Print("Init MAVal Error");
//walking through MAPeriodInds
for(int i=0;i<3;i++)
{
MAHandle[i]=iMA(_Symbol,_Period,MAPeriods[i],0,MODE_SMA,PRICE_CLOSE);
if(MAHandle[i]<0)
{
Print("MAHandle[%u] ",i," Init Error =",GetLastError(),"!!");
return false;
}
}
Print("Init Arrays End");
return(0);
}
1. Пожалуйста, правильно вставляйте исходный код. Для этого в редакторе сообщений есть кнопочка SRC
2. Покажите пожалуйста лог тестерного агента, на котором запускался эксперт. (тот самый лог, про который сказано во второй строке Вашего скриншота "log file ... written")
- 2010.02.23
- MetaQuotes Software Corp.
- www.mql5.com
у меня этот кусок работает
2011.04.22 13:56:53 Core 1 2010.01.01 00:00:00 Init Arrays Start
2011.04.22 13:56:53 Core 1 2010.01.01 00:00:00 Init Arrays End
2011.04.22 13:56:54 Core 1 OnTester result 0
2011.04.22 13:56:54 Core 1 EURUSD,M1: 840884 ticks (212232 bars) generated within 1422 ms (total bars in history 576660, total time 1625 ms)
Пожалуйста, вот полное содерржимое лога
IP 0 Tester 12:46:01 MetaTester 5 build 430 (15 Apr 2011)
RP 0 Server 12:46:01 MetaTester 5 started on 127.0.0.1:3000
OI 0 Startup 12:46:01 initialization finished
EM 0 127.0.0.1 12:46:02 login (build 430)
QE 0 Network 12:46:02 3768 bytes of group info loaded
QP 0 Network 12:46:02 3346 bytes of tester parameters loaded
PD 0 Network 12:46:02 376 bytes of input parameters loaded
JL 0 Network 12:46:02 275 bytes of selected symbols loaded
KD 0 Tester 12:46:02 expert file added: Experts\Examples\DAX New 9.ex5. 21648 bytes loaded
LL 0 Tester 12:46:02 initial deposit 5000.00 USD, leverage 1:100
EE 0 Tester 12:46:02 successfully initialized
DP 0 Network 12:46:02 31 Kb of total initialization data received
LD 0 TesterAgent 12:46:02 Intel Core2 Quad Q8400 @ 2.66GHz, 3327 MB, PR151
FP 0 Symbols 12:46:02 EURUSD: symbol synchronized, 2904 bytes of symbol info received
MF 0 History 12:46:02 EURUSD: load 27 bytes of history data to synchronize
MI 0 History 12:46:02 EURUSD: history synchronized from 2010.01.04 to 2011.04.18
DP 0 History 12:46:03 EURUSD: contains 458121 M1 records of beginning data from 2010.01.04 00:00 to 2011.04.01 00:00
JQ 0 History 12:46:03 EURUSD,H1: history cache reserved for estimated 8091 bars
KF 0 History 12:46:03 EURUSD,H1: history begins from 2010.01.04 00:00
KO 0 Tester 12:46:03 EURUSD,H1 (MetaQuotes-Demo): every tick generating
GE 0 Tester 12:46:03 EURUSD,H1: testing of Experts\Examples\DAX New 9.ex5 from 2011.04.01 00:00 to 2011.04.18 00:00 started
OE 0 DAX New 9 (EURUSD,H1) 12:46:03 2011.04.01 00:00:00 Init Arrays Start
JR 2 DAX New 9 (EURUSD,H1) 12:46:03 2011.04.01 00:00:00 expert removed because indicator 'Moving Average' cannot load [4002]
RL 0 DAX New 9 (EURUSD,H1) 12:46:03 2011.04.01 00:00:00 MAHandle[ 0 ] Init Error =4002!!
MN 2 Tester 12:46:03 expert removed self when OnInit called
RE 0 Tester 12:46:03 log file "C:\Program Files\MetaTrader 5\Tester\Agent-127.0.0.1-3000\logs\20110425.log" written
RE 0 Tester 12:46:04 tester agent shutdown
2011.04.25 12:04:28 Core 1 connected
2011.04.25 12:04:28 Core 1 authorized (agent build 430)
2011.04.25 12:04:28 Tester EURUSD,M1 (Alpari-Demo): testing of Experts\temp5.ex5 from 2011.04.01 00:00 to 2011.04.18 00:00 to be started
2011.04.25 12:04:28 Core 1 common synchronization completed
2011.04.25 12:04:29 Core 1 initial deposit 10000.00 USD, leverage 1:100
2011.04.25 12:04:29 Core 1 successfully initialized
2011.04.25 12:04:29 Core 1 120 bytes of total initialization data received
2011.04.25 12:04:29 Core 1 Intel Core2 6400 @ 2.13GHz, 3327 MB, PR125
2011.04.25 12:04:29 Core 1 EURUSD,M1 (Alpari-Demo): every tick generating
2011.04.25 12:04:29 Core 1 EURUSD,M1: testing of Experts\temp5.ex5 from 2011.04.01 00:00 to 2011.04.18 00:00 started
2011.04.25 12:04:29 Core 1 2011.04.01 00:00:00 Init Arrays Start
2011.04.25 12:04:29 Core 1 2011.04.01 00:00:00 Init Arrays End
2011.04.25 12:04:31 Core 1 OnTester result 0
2011.04.25 12:04:31 Core 1 EURUSD,M1: 978864 ticks (15623 bars) generated within 2437 ms (total bars in history 475803, total time 2515 ms)
2011.04.25 12:04:31 Core 1 log file ...... 20110425.log" written
2011.04.25 12:04:31 Core 1 connect closed
Пожалуйста, вот полное содерржимое лога
Спасибо. Мы не смогли воспроизвести у себя проблему.
Попробуйте перекомпилировать эксперта заново.
Ошибка 4002 означает неверные параметры. В строке: MAHandle[i]=iMA(_Symbol,_Period,MAPeriods[i],0,MODE_SMA,PRICE_CLOSE); ни один параметр, кроме MAPeriods[i] не вызывает сомнения.
Попробуйте вывести соответствующие значения в журнал в случае неудачи. Что-нибудь типа этого:
if(MAHandle[i]<0) { Print("MAHandle[%u] ",i," Init Error =",GetLastError(),"!!"); Print("Symbol ",_Symbol," Period ",_Period," MAPeriods[i] ",MAPeriods[i]); return false; }
PS кстати строка "Print("MAHandle[%u] ",i," Init Error =",GetLastError(),"!!");" не соответствует выводу
RL 0 DAX New 9 (EURUSD,H1) 12:46:03 2011.04.01 00:00:00 MAHandle[ 0 ] Init Error =4002!!
То есть, Вы запускали какой-то другой код. Не тот, который Вы здесь представили.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования