Нашел интересный советник но он написан для МТ5, пытался переделать его для МТ4 но в програмировании не силен, и не понял как изменить эту часть (компилятор ругается на CopyBuffer) если кто поможет заранее спасибо.
Нашел интересный индикатор но он написан для МТ5, пытался переделать его для МТ4 но в програмировании не силен, и не понял как изменить эту часть (компилятор ругается на CopyBuffer) если кто поможет заранее спасибо.
Где-то так :
// незабудьте определить PERIOD_LWMA,SHIFT_LWMA,PRICE_LWMA PERIOD_SMA,SHIFT_SMA,PRICE_SMA
// и проверьте порядок аргументов iMA - мог и перепутать
FF[i]=3.0*iMA(_Symbol,_Period,MODE_LWMA,PERIOD_LWMA,SHIFT_LWMA,PRICE_LWMA,i) - 2.0 * iMA(_Symbol,_Period,MODE_SMA,PERIOD_SMA,SHIFT_SMA,PRICE_SMA,i);
// MT4 всё-ж проще когда надо сделать быстро и понятно
Где-то так :
// незабудьте определить PERIOD_LWMA,SHIFT_LWMA,PRICE_LWMA PERIOD_SMA,SHIFT_SMA,PRICE_SMA
// и проверьте порядок аргументов iMA - мог и перепутать
FF[i]=3.0*iMA(_Symbol,_Period,MODE_LWMA,PERIOD_LWMA,SHIFT_LWMA,PRICE_LWMA,i) - 2.0 * iMA(_Symbol,_Period,MODE_SMA,PERIOD_SMA,SHIFT_SMA,PRICE_SMA,i);
// MT4 всё-ж проще когда надо сделать быстро и понятно
Где-то так :
// незабудьте определить PERIOD_LWMA,SHIFT_LWMA,PRICE_LWMA PERIOD_SMA,SHIFT_SMA,PRICE_SMA
// и проверьте порядок аргументов iMA - мог и перепутать
FF[i]=3.0*iMA(_Symbol,_Period,MODE_LWMA,PERIOD_LWMA,SHIFT_LWMA,PRICE_LWMA,i) - 2.0 * iMA(_Symbol,_Period,MODE_SMA,PERIOD_SMA,SHIFT_SMA,PRICE_SMA,i);
// MT4 всё-ж проще когда надо сделать быстро и понятно
Нашел интересный индикатор но он написан для МТ5, пытался переделать его для МТ4 но в програмировании не силен, и не понял как изменить эту часть (компилятор ругается на CopyBuffer) если кто поможет заранее спасибо.
//+------------------------------------------------------------------+ //| MALR.mq5 | //+------------------------------------------------------------------+ #property copyright "BECEMAL" #property link "http://www.becemal.ru/" #property version "1.44" #property strict //--- #property indicator_chart_window #property indicator_buffers 5 #property indicator_plots 5 //--- #property indicator_label1 "MALR" #property indicator_type1 DRAW_LINE #property indicator_color1 clrGold #property indicator_style1 STYLE_SOLID #property indicator_width1 1 //--- #property indicator_label2 "MALRH" #property indicator_type2 DRAW_LINE #property indicator_color2 clrLime #property indicator_style2 STYLE_SOLID #property indicator_width2 1 //--- #property indicator_label3 "MALRL" #property indicator_type3 DRAW_LINE #property indicator_color3 clrRed #property indicator_style3 STYLE_SOLID #property indicator_width3 1 //--- #property indicator_label4 "MALRHH" #property indicator_type4 DRAW_LINE #property indicator_color4 clrForestGreen #property indicator_style4 STYLE_SOLID #property indicator_width4 1 //--- #property indicator_label5 "MALRLL" #property indicator_type5 DRAW_LINE #property indicator_color5 clrCrimson #property indicator_style5 STYLE_SOLID #property indicator_width5 1 //--- input int MAPeriod = 120; input int MAShift = 0; input ENUM_APPLIED_PRICE AppliedPrice = PRICE_CLOSE; input double ChannelReversal = 0.8; input double ChannelBreakout = 0.8; //+------------------------------------------------------------------+ //| global parameters | //+------------------------------------------------------------------+ double FF[],FFL[],FFH[],FFLL[],FFHH[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { SetIndexBuffer(0,FF,INDICATOR_DATA); SetIndexBuffer(1,FFH,INDICATOR_DATA); SetIndexBuffer(2,FFL,INDICATOR_DATA); SetIndexBuffer(3,FFHH,INDICATOR_DATA); SetIndexBuffer(4,FFLL,INDICATOR_DATA); //--- //--- return(0); } //+------------------------------------------------------------------+ //| Custom indicator initialization 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[]) { int limit1=rates_total-prev_calculated; int limit2=limit1; if (limit1>1) { limit1=rates_total-MAPeriod-1; limit2=limit1-MAPeriod; } //--- // Расчет регрессии for(int i=limit1; i>=0; i--) { double tLWMA=iMA(_Symbol,_Period,MAPeriod,MAShift,MODE_LWMA,AppliedPrice,i); double tSMA=iMA(_Symbol,_Period,MAPeriod,MAShift,MODE_SMA,AppliedPrice,i); FF[i]=3.0*tLWMA-2.0*tSMA; } //--- // Расчет Средне-квадратичного отклонения for(int i=limit2; i>=0; i--) { double StdDev=0.0; double tMA=FF[i]; for(int j=0; j<MAPeriod; j++) { double t=iMA(_Symbol,_Period,1,0,MODE_SMA,AppliedPrice,i)-FF[i+j]; StdDev+=t*t; } StdDev=MathSqrt(StdDev/MAPeriod); double tS=StdDev*ChannelReversal; double tS2=StdDev*(ChannelReversal+ChannelBreakout); FFL[i] = tMA-tS; FFH[i] = tMA+tS; FFLL[i] = tMA-tS2; FFHH[i] = tMA+tS2; } //--- return(rates_total); } //+------------------------------------------------------------------+
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Нашел интересный индикатор но он написан для МТ5, пытался переделать его для МТ4 но в програмировании не силен, и не понял как изменить эту часть (компилятор ругается на CopyBuffer) если кто поможет заранее спасибо.