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

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

Олег.
Christo Tsvetanov
980
Christo Tsvetanov  

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

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

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

Олег
21
Олег  
granit77 >>:

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


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

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

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

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

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

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

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

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий