Название индикатора: Candles_Gistogramm Необходимо преобразовать индикатор, заменив стрелки на чарте графика на гистограмму в подвале, и убрать отрисовку всех графических объектов Гистограмма сглаживается скользящей средней линией. Место нахождения индикатора: https://www.mql5.com/ru/code/9450 Оптимизация и очистка ненужного кода приветствуется. Настройки индикатора: extern string text1 = "1. Настройка индикатора и MA"; bool lines=false; // рисовать не рисовать линии на чарте bool Dell=true; // удалять нарисованные объекты extern int Step=500; // глубина анализа extern int pMAC=128;//период ma_Calc средней extern int typeMAC=0;//метод ma_Calc средней - все доступные стандартные методы усреднения //MODE_SMA 0 Простое усреднение //MODE_EMA 1 Экспоненциальное усреднение //MODE_SMMA 2 Сглаженное усреднение //MODE_LWMA 3 Линейно-взвешенное усреднение extern string text2 = "2. Настройка свечных моделей"; extern int Use_All=1; //1 - Использовать вси модели, если 0, то использовать только выбранные модели extern int Use_Harami=1; //1 - Использовать "Харами", если 0, то не использовать. extern int Use_Cross=1; //1 - Использовать "Проникающие линии", если 0, то не использовать. extern int Use_Engulf=1; //1 - Использовать "Поглощение", если 0, то не использовать. extern int Use_Pierce=1; //1 - Использовать "Просвет облаков", если 0, то не использовать. extern int Use_Star=1; //1 - Использовать "Утреняя Звезда", если 0, то не использовать. extern int Use_Hammer=1; //1 - Использовать "Молот", если 0, то не использовать. extern int Use_Shooter=1; //1 - Использовать "Падающая звезда", если 0, то не использовать. Model[]; //- гистограмма MA_History[]; //- буфер с историческими данными MA_Calc[]; //- буфер с данными для расчета текущего скользящего среднего Этап 1 Анализ выполняем на основании данных за прошлый бар - один раз при открытии нового бара. Если появляется одна из моделей быков, то Model[0]=1 Если исчезает одна из моделей быков, то то Model[x]=0. X - бар на котором была исчезнувшая модель. Если появляется одна из моделей медведий, то Model[0]=-1 Если исчезает одна из моделей медведий, то то Model[x]=0. X - бар на котором была исчезнувшая модель. // Модели быков if(BullHarami) "Харами" if(BullCross) "Проникающие линии" if(BullEngulf) "Поглощение" if(BullPierce) "Просвет облаков" if(MorningStar) "Утреняя Звезда" if(Hammer) "Молот" //модели медведей if(BearHarami) "Харами" if(BearCross) "Проникающие линии" if(Hammer) "Повешаный" if(BearEngulf) "Поглощение" if(DarkCloud) "Темные облака" if(EveningStar) "Вечерняя звезда" if((Shooter)) "Падающая звезда" Этап 2 Рассчитываем по буферу Model[] скользящую среднюю, согласно настройкам, для расчета используем буфер MA_Calc[], а полученное значение записываем в буфер MA_History[]; Этап 3 Отрисовываем MA_History[] Отрисовываем Model[]