Как сделать отрисовку индикаторов при визуальном тестировании?

 
Прошу подсказать, как можно сделать так, чтобы индикаторы, используемые в эксперте, при визуальном тестировании отображались на графике. Раньше я просто делал шаблон и вручную накладывал его на тестируемый график, но услышал, что можно отрисовку сделать автоматом в эксперте. Никак не могу найти, как это можно сделать.
Заранее благодарен тому, кто откликнется.

Олег.
 

Настройте график как Вам нужно и сохраните шаблон с именем tester.tpl

 
Это я и так делаю. Но хотелось бы. чтобы отрисовка запускалась автоматически с запуском эксперта при визуализации, без дополнительного ручного подключения шаблона, и у меня есть информация, что это можно сделать. Только вот как, не знаю....
 
Спасибо за помощь, но получается, что если меняется эксперт, надо переделывать и шаблон вручную. А в советнике самом нельзя запрограммировать вызов при визуализации отрисовки используемых индикаторов? Т.е. меняем советник, и без всякого вмешательства он отрисовывает свои индикаторы. Вот чего мне хотелось бы.
 
olnikt >>:
Спасибо за помощь, но получается, что если меняется эксперт, надо переделывать и шаблон вручную. А в советнике самом нельзя запрограммировать вызов при визуализации отрисовки используемых индикаторов? Т.е. меняем советник, и без всякого вмешательства он отрисовывает свои индикаторы. Вот чего мне хотелось бы.

Создайте шаблон "Имя советника.tpl" и шаблон автоматически установится при запуске советника. Выведите параметры индикатора в extern советника и передайте их через глобальные переменные индикатору.

 
granit77 >>:

Создайте шаблон "Имя советника.tpl" и шаблон автоматически установится при запуске советника. Выведите параметры индикатора в extern советника и передайте их через глобальные переменные индикатору.


"Выведите параметры индикатора в extern советника и передайте их через глобальные переменные индикатору" - не совсем понял, не могли бы Вы разъяснить?
 
olnikt >>:
"Выведите параметры индикатора в extern советника и передайте их через глобальные переменные индикатору" - не совсем понял, не могли бы Вы разъяснить?

Допустим, что мы используем в советнике индикатор МА, в котором есть одна внешняя переменная PeriodMA.

Тогда в советник добавляем код:

//в код советника
extern int MAperiod = 14;
//-------
int init{
//создаем глобальную переменную терминала с именем "Период МА"
//и присваиваем ей значение MAperiod
   GlobalVariableSet("Период МА", MAperiod); 
}

int deinit{
//удаляем глобальную переменную при выходе из советника   
   GlobalVariableDel("Период МА"); 
}
В индикатор добавляем код:
//в код индикатора
int PeriodMA;
//-----------
int init{
//получаем строковое значение периода из глобальной переменной
//и преобразуем его в число   
   PeriodMA=StrToInteger(GlobalVariableGet("Период МА")); 
}
Теперь значение периода индикатора устанавливается во внешней переменной советника и передается в индикатор через глобальную переменную.
То есть, при визуальном прогоне период индикатора всегда будет соответствовать установленному в советнике. Это замедлит работу советника, увеличит время тестирования, но удовлетворит Ваши не слишком обоснованные запросы. :))
 
Спасибо Вам! Вы мне очень помогли.

С уважением, Олег.
 
Хотя такой момент. А если индикатор встроенный в МТ4? Там же в код не залезешь.
 
olnikt >>:
Хотя такой момент. А если индикатор встроенный в МТ4? Там же в код не залезешь.

"А если б он вез патроны?!" (с)

У всех встроенных индикаторов есть пользовательские варианты с открытым кодом, поищите в базе поиском.

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