если не учитывать, что в Вашем коде нет проверок - в кодобазе посмотрите как мультисимвольные или мультитаймфреймовые индикаторы написаны
то скорее всего Вы просто не видите отображение индикатора, или в подокно отобразите или Ctrl + D чтобы увидеть рассчитанные значения индикатора
вот Ваш код в подокне :
если не учитывать, что в Вашем коде нет проверок - в кодобазе посмотрите как мультисимвольные или мультитаймфреймовые индикаторы написаны
то скорее всего Вы просто не видите отображение индикатора, или в подокно отобразите или Ctrl + D чтобы увидеть рассчитанные значения индикатора
вот Ваш код в подокне :
Благодарствую! У меня пока в таком виде:
//+------------------------------------------------------------------+ //| MultiChart.mq5 | //| Copyright 2019, AM2 | //+------------------------------------------------------------------+ #property copyright "Copyright 2019, AM2" #property version "1.00" #property indicator_chart_window #property indicator_plots 1 #property indicator_buffers 1 #property indicator_type1 DRAW_LINE #property indicator_color1 Aqua #property indicator_width1 2 input string s="USDCHF"; input int Barov=1111; // баров для расчета input int Delta=1300; // параметр для выравнивания double pr[]; double cl[]; MqlRates rate[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping SetIndexBuffer(0,pr,INDICATOR_DATA); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { //--- ArraySetAsSeries(pr,true); ArraySetAsSeries(cl,true); ArraySetAsSeries(rate,true); CopyRates(s,0,0,Barov,rate); CopyClose(NULL,0,0,1,cl); double k=0; if(rate[0].close>0) k=cl[0]/rate[0].close; double max=ChartGetDouble(0,CHART_PRICE_MAX,0); double min=ChartGetDouble(0,CHART_PRICE_MIN,0); for(int i=0;i<Barov;i++) pr[i]=rate[i].close*k+Delta*_Point; Comment("\n PR: ",pr[0], "\n Close: ",rate[0].close, "\n Coeff: ",k, "\n Max: ",max, "\n Min: ",min); //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+
если меняем символ, например на USDCHF, данных нет:
А подгруженная история по USDCHF имеется для расчёта индикатора на Barov=1111 ?
Если вы пытаетесь сделать мультичарт, поищите что то на подобие Chart Overlay.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Приветствую всех!
Хочу на графике EURUSD вывести МА с графика UDDCHF.
Пока такой код. Он выводит данные с текущего символа:
если меняем символ, например на USDCHF, данных нет:
Может быть кто подскажет в чем моя ошибка?