Инициализация эксперта при тестировании

 
Проходит ли переинициализация эксперта при каждом прогоне тестера ?
 
Поставьте в функцию init() блок увеличения счетчика в Глобальной переменной и увидите точно. Мое мнение - инициализация происходит при каждом запуске тестирования.
 
Rosh:
Поставьте в функцию init() блок увеличения счетчика в Глобальной переменной и увидите точно. Мое мнение - инициализация происходит при каждом запуске тестирования.


да, переинициализации не происходит, а хотелось бы


есть ли варианты запуска одной функции за один прогон без использования внешних файлов ?

 
Loknar:
Rosh:
Поставьте в функцию init() блок увеличения счетчика в Глобальной переменной и увидите точно. Мое мнение - инициализация происходит при каждом запуске тестирования.


да, переинициализации не происходит, а хотелось бы


есть ли варианты запуска одной функции за один прогон без использования внешних файлов ?


Наверно Вы неправильно смотрите, должна происходить. М.б. Вы глобальную переменную объявляете внутри эксперта, соответственно она переобъявляется при каждом запуске?
 
Figar0:
Наверно Вы неправильно смотрите, должна происходить. М.б. Вы глобальную переменную объявляете внутри эксперта, соответственно она переобъявляется при каждом запуске?

extern int B=1;
int A=10;
 
int init() {
   A+=20;   
   return(0);
}
int start() {
   if (TimeMonth(TimeCurrent())==1 && TimeDay(TimeCurrent())==1) OrderSend(Symbol(), OP_BUY, 0.1, Ask, 10, Ask-A*Point, Ask+A*Point, "N3", 111, 0);
   return(0);
}

Я вот так сделал - прибыль остается одной и той же.


Наверное вместо задания int A=10; надо писать что-то другое ? с совсем глобальными просто не работал..

 
Скомпилируйте этого советника:
//+------------------------------------------------------------------+
//|                                          CheckInitialization.mq4 |
//|                      Copyright © 2007, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net/ru/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2007, MetaQuotes Software Corp."
#property link      "http://www.metaquotes.net/ru/"
 
//---- input parameters
extern int       ExtParam1=1;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   int p=0;
   if (GlobalVariableCheck("pass")) p=GlobalVariableGet("pass");
   p++;
   GlobalVariableSet("pass",p);   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+

и укажите такие параметры оптимизации



После прогона оптимизации нажмите F3 и найдите глобальную переменную с именем "pass". Посмотрите ее значение. Прогоните еще раз оптимизацию, опять посмотрите ее значение. Удалите ее, опять прогоните оптимизацию, посмотрите. Делайте выводы.
 
Rosh:
Скомпилируйте этого советника:

После прогона оптимизации нажмите F3 и найдите глобальную переменную с именем "pass". Посмотрите ее значение. Прогоните еще раз оптимизацию, опять посмотрите ее значение. Удалите ее, опять прогоните оптимизацию, посмотрите. Делайте выводы.


Спасибо Rosh.


Выводы такие что переинициализируется все ж. Другой вопрос что после рестарта переоптимизации этого не происходит :) Хотя если убрать галочку оптимизации, пронать раз без нее, затем снова ее включить - снова переинициализируется :) Чудеса...


Еще вопрос не по теме - почему в истории более 56000 баров, а при запуске тестера он видит только 1002 бара ? (Print(Bars);) Бары часовые, их же и выбираю в качестве ТФ для теста

 
Вы знаете, очень трудно отвечать на одни и те же вопросы. Только недавно это обсуждалось на форуме, пользуйтесь поиском.
 
Rosh:
Вы знаете, очень трудно отвечать на одни и те же вопросы. Только недавно это обсуждалось на форуме, пользуйтесь поиском.

полазил по последним темам за два месяца (поиск по "история котировок тестирование") - ничего не нашел на мой вопрос
 
Странное поведение переменной Bars в тестере.
 
Loknar:
полазил по последним темам за два месяца (поиск по "история котировок тестирование") - ничего не нашел на мой вопрос
1. Поиск
2. 2-я страничка
3. Странное поведение переменной Bars в тестере.