Советник тестируется в режиме отладки, но при запуске в metatrader тестер выдает сообщение tester stopped because expert initialization failed

 
Советник тестируется в режиме отладки, но при запуске в metatrader  тестер выдает сообщение tester stopped because expert initialization failed
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация о запущенной MQL5-программе
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Информация о запущенной MQL5-программе
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Информация о запущенной MQL5-программе - Документация по MQL5
 

Компиляцию F7 делали?

 
Посмотрите что пишется в логах тестера, а также на код возврата из OnInit.

 
Kомпилируется нормально. Отладку провожу и в OnInit и в OnTick. Но общий тест метатрейдере, даже не начинается. тестер выдает сообщение: tester stopped because expert initialization failed
 

 

Вот текст кода

 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")

MQL5.community - Памятка пользователя
MQL5.community - Памятка пользователя
  • 2010.02.23
  • MetaQuotes Software Corp.
  • www.mql5.com
Вы недавно зарегистрировались и у вас возникли вопросы: Как вставить картинку в сообщение на форуме, как красиво оформить исходный код MQL5, где находятся ваши Личные сообщения? В этой статье мы подготовили для вас несколько практических советов, которые помогут быстрее освоиться на сайте MQL5.community и позволят в полной мере воспользоваться доступными функциональными возможностями.
 

у меня этот кусок работает

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 connecting to 127.0.0.1:3000
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
Файлы:
temp5.mq5  2 kb
 
seaman:

Пожалуйста, вот полное содерржимое лога

 

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

Попробуйте перекомпилировать эксперта заново.

Ошибка 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!!

То есть, Вы запускали какой-то другой код. Не тот, который Вы здесь представили.
 

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