Задаем глобальные переменные:
input int InpMAPeriod1=8; // Период быстрого МА
input int InpMAShift1=0; // Сдвиг
input int InpMAPeriod2=34; // Период медленного МА
input int InpMAShift2=0; // Сдвиг
input ENUM_MA_METHOD InpMAMethod=MODE_SMA; // Метод расчета МА
input ENUM_APPLIED_PRICE InpMAPriceType=PRICE_CLOSE; // Тип цены
input int InpMAPeriod1=8; // Период быстрого МА
input int InpMAShift1=0; // Сдвиг
input int InpMAPeriod2=34; // Период медленного МА
input int InpMAShift2=0; // Сдвиг
input ENUM_MA_METHOD InpMAMethod=MODE_SMA; // Метод расчета МА
input ENUM_APPLIED_PRICE InpMAPriceType=PRICE_CLOSE; // Тип цены
В блоке int OnInit() получаем хендлы индикаторов и вызов функции AddIndicator():
indicator_handleMA1=iMA(_Symbol,_Period,InpMAPeriod1,InpMAShift1,InpMAMethod,InpMAPriceType);
indicator_handleMA2=iMA(_Symbol,_Period,InpMAPeriod2,InpMAShift2,InpMAMethod,InpMAPriceType);
AddIndicator();
indicator_handleMA1=iMA(_Symbol,_Period,InpMAPeriod1,InpMAShift1,InpMAMethod,InpMAPriceType);
indicator_handleMA2=iMA(_Symbol,_Period,InpMAPeriod2,InpMAShift2,InpMAMethod,InpMAPriceType);
AddIndicator();
Создаем отдельную функцию bool AddIndicator():
{
//--- накладываем индикатор на график
int subwindow=0; // 0 - в том же окне, 1 - в отдельном окне снизу
ChartIndicatorAdd(0,subwindow,indicator_handleMA1); // Добавляем индикатор MA1 на график"
ChartIndicatorAdd(0,subwindow,indicator_handleMA2); // Добавляем индикатор MA2 на график"
return(true);
}
{
//--- накладываем индикатор на график
int subwindow=0; // 0 - в том же окне, 1 - в отдельном окне снизу
ChartIndicatorAdd(0,subwindow,indicator_handleMA1); // Добавляем индикатор MA1 на график"
ChartIndicatorAdd(0,subwindow,indicator_handleMA2); // Добавляем индикатор MA2 на график"
return(true);
}