индикатор из эксперта не отображается

 

Здравствуйте,

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

Есть вариант - присоединить вручную индикатор к графику, но это не годится, т.к. проставлять вручную 26 параметров при каждом запуске - ну очень неудобно. Параметры эти, как я написал выше - расчитываются экспертом. Т.е. их еще надо вывести из эксперта и вставить в индикатор.

Есть ли команда какая нибудь, чтобы отобразить автоматически присоединенный их эксперта индикатор?

 
А что мешает перенести эти расчёты в индикатор?
 
Не хочу разносить логику расчетов по разным файлам. А если это не пользовательский индикатор, а например Аллигатор с 8-ю входными параметрами? Его уже не перепишешь... а посмотреть на нено в некоторых случаях будет полезным для общей оценки ситуации.

Т.е. если вы предлагаете обходной путь и гораздо более сложный, то возможности просто отобразить то, что уже посчитано и построено, - нету?

В тестере в визуальном режиме - все индикаторы видны. Хотелось бы и в основном терминале видеть.... Приделали бы параметр дополнительный при вызове индикатора: show = показывать / не показывать = true / false , а false установить по умолчанию, и необязательным для совместимости с предыдущими разработками.
 

Что-то я не понимаю поставленной цели. Что в результате должно получиться?

 
Запустить тестирование на секунду, открыть график - индикаторы будут на графике, удалить графически объекты с графика, сохранить шаблон. Открыть шаблон на график, прикрепить эксперта. Можно еще раз сохранить шаблон, чтобы был шаблон с экспертом.
 
elibrarius:

Здравствуйте,

Есть ли команда какая нибудь, чтобы отобразить автоматически присоединенный их эксперта индикатор?

Попробуйте вот это - ChartIndicatorAdd , как пример:


int OnInit()
  {
.........

std_Handle = iStdDev(my_symb,0,std_p,0,std_m,std_ap);
  if(std_Handle==INVALID_HANDLE)
  {Print("Не удалось создать хэндл индикатора std_Handle.",GetLastError());
  return(-1);}
  ArraySetAsSeries(std_buf,true);
  {if(!ChartIndicatorAdd(0,1,std_Handle))
    Print("Не удалось добавить индикатор StdDev на окно графика.",GetLastError());}


...........
  return(INIT_SUCCEEDED);
  }
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
  • www.mql5.com
Операции с графиками / ChartIndicatorAdd - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
rosomah:

Попробуйте вот это - ChartIndicatorAdd , как пример:


Спасибо! То, что надо!
 
Dmitry Fedoseev:
Запустить тестирование на секунду, открыть график - индикаторы будут на графике, удалить графически объекты с графика, сохранить шаблон. Открыть шаблон на график, прикрепить эксперта. Можно еще раз сохранить шаблон, чтобы был шаблон с экспертом.
+ Если шаблон назвать так же как и советник, он будет автоматически загружаться при загрузке советника.
 
Arkadii Zagorulko:
+ Если шаблон назвать так же как и советник, он будет автоматически загружаться при загрузке советника.
Не знал, интересно. А то в 4-ке ChartIndicatorAdd отсутствует.
 
Alexey Volchanskiy:
Не знал, интересно. А то в 4-ке ChartIndicatorAdd отсутствует.
Алексей!!! При твоём-то опыте? Ну извини. На всякий случай, если создать шаблон с именем "Tester" то тест будет запускаться с этим шаблоном не зависимо от имени советника. Если создать шаблон "Debug" то отладка запустится с эти шаблоном. Если создать шаблон "Default" то новое окно графика будет открываться с этим шаблоном...
 
Alexey Viktorov:
Алексей!!! При твоём-то опыте? Ну извини. На всякий случай, если создать шаблон с именем "Tester" то тест будет запускаться с этим шаблоном не зависимо от имени советника. Если создать шаблон "Debug" то отладка запустится с эти шаблоном. Если создать шаблон "Default" то новое окно графика будет открываться с этим шаблоном...
При чём тут опыт? Почти все програмисты шытики. И ещё куча заумных которые думают что если они скроют какую то фитчу то розбогатеют.
Причина обращения: