← К каталогу
Исходный код · ID 1411

two_ma_cross_indicator.mq5

Похожие материалы по тегам

#__slope direction line.mq5MQL5 / MetaTrader 5 · 1 общих теговrange breakout @meowforex1.pineTradingView · 1 общих тегов#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit3.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit2.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit.mq4MQL4 / MetaTrader 4 · 1 общих тегов
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Индикатор «Two MA Cross Indicator» для платформы MetaTrader 4 отображает на графике две скользящие средние и отмечает точки их пересечения стрелками. Он рассчитывает две линии скользящих средних разными методами и на основе их пересечения формирует сигналы роста и падения. Индикатор использует буферы для отрисовки линий MA и стрелок-сигналов в окне графика.

Настройки программы

НастройкаОписание
MA_Period1 Период MA1 — Задаёт период расчёта первой скользящей средней.
MA_Method1 Метод MA1 — Выбирает метод расчёта первой скользящей средней из доступного перечня методов.
MA_Price_Type1 Тип цены MA1 — Определяет тип цены, используемый для расчёта первой скользящей средней.
MA_Period2 Период MA2 — Задаёт период расчёта второй скользящей средней.
MA_Method2 Метод MA2 — Выбирает метод расчёта второй скользящей средней из доступного перечня методов.
MA_Price_Type2 Тип цены MA2 — Определяет тип цены, используемый для расчёта второй скользящей средней.
Limit_Bars Лимит баров — Ограничивает количество баров, участвующих в расчёте и отображении индикатора.
Получить полный код

Поиск по коду файла

#property description "This indicator shows the crossing between two MAs"

#property indicator_chart_window
#property indicator_buffers 4

#property indicator_color1  clrRed
#property indicator_width1  1
#property indicator_color2  clrWhite
#property indicator_width2  2
#property indicator_color3  clrLime
#property indicator_width3  2
#property indicator_color4  clrRed
#property indicator_width4  2

enum e_method{ SMA        =  1,
               EMA        =  2,
               Wilder     =  3,
               LWMA       =  4,
               SineWMA    =  5,
               TriMA      =  6,
               LSMA       =  7,
               SMMA       =  8,
               HMA        =  9,
               ZeroLagEMA = 10,
               ITrend     = 11,
               Median     = 12,
               GeoMean    = 13,
               REMA       = 14,
               ILRS       = 15,
               IE_2       = 16,
               TriMAgen   = 17
             };

extern int      MA_Period1     = 30;
extern e_method MA_Method1     = SMA;
extern ENUM_APPLIED_PRICE  MA_Price_Type1 = PRICE_CLOSE;
extern int      MA_Period2     = 100;
extern e_method MA_Method2     = SMA;
extern ENUM_APPLIED_PRICE  MA_Price_Type2 = PRICE_CLOSE;
extern int      Limit_Bars     = 800;

double MA1[], MA2[];
double Price1[], Price2[];
double Up[], Dn[];

int init(){
      // код доступен только после оплаты
   }

int start(){
      // код доступен только после оплаты
   }

   int i;
   int counted_bars=IndicatorCounted();
   int limit = Bars-counted_bars-1;
   if (Limit_Bars) limit = Limit_Bars;

   int multiplier = 1;   

   for(i=limit; i>=0; i--){

      Price1[i] = iMA(NULL,0,1,0,0,ENUM_APPLIED_PRICE(MA_Price_Type1),i);

      switch(MA_Method1){
         case 1 : MA1[i] = SMA(Price1,MA_Period1,i, multiplier); break;
         case 2 : MA1[i] = EMA(Price1[i],MA1[i+(1*multiplier)],MA_Period1,i); break;
         case 3 : MA1[i] = Wilder(Price1[i],MA1[i+(1*multiplier)],MA_Period1,i); break;  
         case 4 : MA1[i] = LWMA(Price1,MA_Period1,i, multiplier); break;
         case 5 : MA1[i] = SineWMA(Price1,MA_Period1,i, multiplier); break;
         case 6 : MA1[i] = TriMA(Price1,MA_Period1,i, multiplier); break;
         case 7 : MA1[i] = LSMA(Price1,MA_Period1,i, multiplier); break;
         case 8 : MA1[i] = SMMA(Price1,MA1[i+(1*multiplier)],MA_Period1,i, multiplier); break;
         case 9 : MA1[i] = HMA(Price1,MA_Period1,i, multiplier); break;
         case 10: MA1[i] = ZeroLagEMA(Price1,MA1[i+(1*multiplier)],MA_Period1,i, multiplier); break;
         case 11: MA1[i] = ITrend(Price1,MA1,MA_Period1,i, multiplier); break;
         case 12: MA1[i] = Median(Price1,MA_Period1,i, multiplier); break;
         case 13: MA1[i] = GeoMean(Price1,MA_Period1,i, multiplier); break;
         case 14: MA1[i] = REMA(Price1[i],MA1,MA_Period1,0.5,i, multiplier); break;
         case 15: MA1[i] = ILRS(Price1,MA_Period1,i, multiplier); break;
         case 16: MA1[i] = IE2(Price1,MA_Period1,i, multiplier); break;
         case 17: MA1[i] = TriMA_gen(Price1,MA_Period1,i, multiplier); break;
         default: MA1[i] = SMA(Price1,MA_Period1,i, multiplier); break;
      }

   }

   for(i=limit; i>=0; i--){

      Price2[i] = iMA(NULL,0,1,0,0,ENUM_APPLIED_PRICE(MA_Price_Type2),i);

      switch(MA_Method2){
         case 1 : MA2[i] = SMA(Price2,MA_Period2,i, multiplier); break;
         case 2 : MA2[i] = EMA(Price2[i],MA2[i+(1*multiplier)],MA_Period2,i); break;
         case 3 : MA2[i] = Wilder(Price2[i],MA2[i+(1*multiplier)],MA_Period2,i); break;  
         case 4 : MA2[i] = LWMA(Price2,MA_Period2,i, multiplier); break;
         case 5 : MA2[i] = SineWMA(Price2,MA_Period2,i, multiplier); break;
         case 6 : MA2[i] = TriMA(Price2,MA_Period2,i, multiplier); break;
         case 7 : MA2[i] = LSMA(Price2,MA_Period2,i, multiplier); break;
         case 8 : MA2[i] = SMMA(Price2,MA2[i+(1*multiplier)],MA_Period2,i, multiplier); break;
         case 9 : MA2[i] = HMA(Price2,MA_Period2,i, multiplier); break;
         case 10: MA2[i] = ZeroLagEMA(Price2,MA2[i+(1*multiplier)],MA_Period2,i, multiplier); break;
         case 11: MA2[i] = ITrend(Price2,MA2,MA_Period2,i, multiplier); break;
         case 12: MA2[i] = Median(Price2,MA_Period2,i, multiplier); break;
         case 13: MA2[i] = GeoMean(Price2,MA_Period2,i, multiplier); break;
         case 14: MA2[i] = REMA(Price2[i],MA2,MA_Period2,0.5,i, multiplier); break;
         case 15: MA2[i] = ILRS(Price2,MA_Period2,i, multiplier); break;
         case 16: MA2[i] = IE2(Price2,MA_Period2,i, multiplier); break;
         case 17: MA2[i] = TriMA_gen(Price2,MA_Period2,i, multiplier); break;
         default: MA2[i] = SMA(Price2,MA_Period2,i, multiplier); break;
      }

   }

   for (i=Limit_Bars; i>=(Limit_Bars-MathMax(MA_Period1,MA_Period2)); i--){
      MA1[i] = EMPTY_VALUE;
      MA2[i] = E

Показано первые 50% кода (символов: 8076)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
807,60₽ ≈ $9.87