Как вызвать его в этом советнике?

//+------------------------------------------------------------------+ //|test_SDC.mq5 | //|Copyright 2022, fxMeter | //| https://www.mql5.com/ru/users/fxmeter | //+------------------------------------------------------------------+ #property copyright "Copyright 2022,fxMeter" #property link "https://www.mql5.com/ru/users/fxmeter" #property version "1.00" input int InputStarBar = 0;//StarBar input int InputCalcBars = 120;//Барс для расчетов input double f1=1.0;//Внутренний умножитель каналов input double f2=2.0;// Множитель внешнего канала int handle = -1; //+------------------------------------------------------------------+ //| Функция инициализации эксперта| //+------------------------------------------------------------------+ int OnInit() { //--- //1.создайте хэндл к StandardDeviationChannel handle = iCustom(Symbol(),PERIOD_CURRENT,"StandardDeviationChannel",InputStarBar,InputCalcBars,f1,f2); //2.Проверьте, успешно ли создан хэндл if(handle==INVALID_HANDLE)//failed { Alert("Create a handle to StandardDeviationChannel failed"); return(INIT_FAILED); } //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Функция деинициализации эксперта| //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Функция экспертного тика| //+------------------------------------------------------------------+ void OnTick() { //--- double mid_right = GetBufferValue(0,InputStarBar); double top_right = GetBufferValue(1,InputStarBar); double btm_right = GetBufferValue(2,InputStarBar); double mid_left = GetBufferValue(0,InputStarBar+InputCalcBars-1); double top_left = GetBufferValue(1,InputStarBar+InputCalcBars-1); double btm_left = GetBufferValue(2,InputStarBar+InputCalcBars-1); Comment( "mid_left = ",d2s(mid_left)," , ","mid_right = ",d2s(mid_right),"\n", "top_left = ",d2s(top_left)," , ","top_right = ",d2s(top_right),"\n", "btm_left = ",d2s(btm_left)," , ","btm_right = ",d2s(btm_right) ); } //+------------------------------------------------------------------+ double GetBufferValue(int which_buffer,int which_bar) { double tmp[1]= {0}; CopyBuffer(handle,which_buffer,which_bar,1,tmp); return tmp[0]; } //+------------------------------------------------------------------+ //двойное преобразование в строку string d2s(double x) { return DoubleToString(x,_Digits); }
Файлы:
test_SDC.mq5
3 kb
Indicators: Standard Deviation Channel MT4
- 2021.08.20
- www.mql5.com
Standard Deviation Channel MT4: Author: Ziheng Zhuang...
было бы идеально, если бы существовала версия с несколькими таймфреймами
Потрясающе!!!
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Standard Deviation Channel MT5:
Канал строится на основе стандартного отклонения цены закрытия.
Автор: Ziheng Zhuang