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

UniEMACrossover_v1.0 600+

uniemacrossover_v1.0 600+.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 общих тегов
Вы автор или правообладатель?

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

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

О программе

UniEMACrossover_v1.0 600+ — это пользовательский индикатор для MetaTrader 5, рассчитывающий две линии скользящих средних UniEMA (быструю и медленную) с настраиваемыми параметрами полюса, порядка, весового коэффициента и демпфирования. Индикатор отображает линии на графике цены и определяет точки их пересечения, формируя визуальные сигналы покупки и продажи в виде стрелок.

Индикатор поддерживает анализ на разных таймфреймах, отображение залитых областей между линиями при изменении тренда, а также настраиваемые уведомления: звуковые сигналы, отправку электронной почты и push-уведомления. Расчёт основывается на ценовых данных текущего или старшего таймфрейма и использует алгоритм UniXMA для формирования сглаженных линий.

Быстрая и медленная линии UniEMA вычисляются независимо друг от друга с собственными параметрами длины и сдвига. При пересечении линий и смене тренда индикатор генерирует сигналы, а также рассчитывает уровни отступа на основе среднего истинного диапазона (ATR).

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

НастройкаОписание
TimeFrame Таймфрейм — Таймфрейм, на котором выполняется расчёт индикатора.
FastMA Быстрая UniEMA — Текстовая метка группы настроек быстрой скользящей средней.
Fast UniEMA Price (FastPrice) Цена быстрой UniEMA — Тип цены для расчёта быстрой линии UniEMA: Close, Open, High, Low и другие.
Fast UniEMA Period (FastLength) Период быстрой UniEMA — Период расчёта быстрой линии UniEMA.
Fast UniEMA Pole (FastPole) Полюс быстрой UniEMA — Параметр полюса для алгоритма UniEMA быстрой линии.
Fast UniEMA order (FastOrder) Порядок быстрой UniEMA — Параметр порядка для алгоритма UniEMA быстрой линии.
Fast UniEMA Weight Factor (FastWeightFactor) Весовой коэффициент быстрой UniEMA — Весовой коэффициент для быстрой линии UniEMA.
Fast UniEMA Damping Factor (FastDampingFactor) Демпфирование быстрой UniEMA — Коэффициент демпфирования для быстрой линии UniEMA.
Fast UniEMA Displace (FastShift) Сдвиг быстрой UniEMA — Сдвиг отображения быстрой линии UniEMA в барах.
SlowMA Медленная UniEMA — Текстовая метка группы настроек медленной скользящей средней.
Slow MA Price (SlowPrice) Цена медленной UniEMA — Тип цены для расчёта медленной линии UniEMA: Close, Open, High, Low и другие.
Slow MA Period (SlowLength) Период медленной UniEMA — Период расчёта медленной линии UniEMA.
Slow UniEMA Pole (SlowPole) Полюс медленной UniEMA — Параметр полюса для алгоритма UniEMA медленной линии.
Slow UniEMA Order (SlowOrder) Порядок медленной UniEMA — Параметр порядка для алгоритма UniEMA медленной линии.
Slow UniEMA Weight Factor (SlowWeightFactor) Весовой коэффициент медленной UniEMA — Весовой коэффициент для медленной линии UniEMA.
Slow UniEMA Damping Factor (SlowDampingFactor) Демпфирование медленной UniEMA — Коэффициент демпфирования для медленной линии UniEMA.
Slow MA Displace (SlowShift) Сдвиг медленной UniEMA — Сдвиг отображения медленной линии UniEMA в барах.
ShowFilled Показать залитые области — Включает или отключает отображение залитых областей между линиями индикатора.
Number of bars counted: 0-all bars (CountBars) Количество баров — Количество баров для расчёта: 0 означает все бары.
Alerts Уведомления и Email — Текстовая метка группы настроек уведомлений и email.
AlertOn Включить уведомления — Включает или отключает генерацию всплывающих уведомлений при пересечении линий индикатора.
Alert Shift:0-current bar,1-previous bar (AlertShift) Сдвиг уведомления — Сдвиг бара для проверки условия уведомления: 0 — текущий бар, 1 — предыдущий.
Number of sounds after Signal (SoundsNumber) Количество звуков — Количество звуковых сигналов, воспроизводимых после события.
Pause in sec between sounds (SoundsPause) Пауза между звуками — Пауза в секундах между звуковыми сигналами.
UpTrendSound Звук восходящего тренда — Имя звукового файла, воспроизводимого при сигнале восходящего тренда.
DnTrendSound Звук нисходящего тренда — Имя звукового файла, воспроизводимого при сигнале нисходящего тренда.
EmailOn Включить Email — Включает или отключает отправку электронной почты при сигнале.
EmailsNumber Количество Email — Количество отправляемых писем при каждом сигнале.
PushNotificationOn Включить push-уведомления — Включает или отключает отправку push-уведомлений при сигнале.
Получить полный код

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

#property indicator_chart_window
#property indicator_buffers 8

#property indicator_color1  C' 30,160,160'
#property indicator_color2  C'225, 55,  0'
#property indicator_color3  C' 20, 90, 90'
#property indicator_color4  C'160, 40,  0'
#property indicator_color5  clrDeepSkyBlue
#property indicator_color6  clrOrangeRed
#property indicator_color7  clrDeepSkyBlue
#property indicator_color8  clrOrangeRed

#property indicator_width1  2
#property indicator_width2  2
#property indicator_width3  0
#property indicator_width4  0
#property indicator_width5  2 
#property indicator_width6  2
#property indicator_width7  1 
#property indicator_width8  1

enum ENUM_PRICE
{
   close,               // Close
   open,                // Open
   high,                // High
   low,                 // Low
   median,              // Median
   typical,             // Typical
   weightedClose,       // Weighted Close
   heikenAshiClose,     // Heiken Ashi Close
   heikenAshiOpen,      // Heiken Ashi Open
   heikenAshiHigh,      // Heiken Ashi High   
   heikenAshiLow,       // Heiken Ashi Low
   heikenAshiMedian,    // Heiken Ashi Median
   heikenAshiTypical,   // Heiken Ashi Typical
   heikenAshiWeighted   // Heiken Ashi Weighted Close   
};

#define pi 3.14159265358979323846

input ENUM_TIMEFRAMES   TimeFrame            =     0;
input string            FastMA               = "=== Fast UniEMA ===";
input ENUM_PRICE        FastPrice            =     0;   // Fast UniEMA Price
input int               FastLength           =    12;   // Fast UniEMA Period
input int               FastPole             =     1;   // Fast UniEMA Pole
input int               FastOrder            =     1;   // Fast UniEMA order
input double            FastWeightFactor     =     2;   // Fast UniEMA Weight Factor   
input double            FastDampingFactor    =   0.5;   // Fast UniEMA Damping Factor
input int               FastShift            =     0;   // Fast UniEMA Displace

input string            SlowMA               = "=== Slow UniEMA ===";
input ENUM_PRICE        SlowPrice            =     0;   // Slow MA Price
input int               SlowLength           =    26;   // Slow MA Period
input int               SlowPole             =     1;   // Slow UniEMA Pole
input int               SlowOrder            =     1;   // Slow UniEMA Order
input double            SlowWeightFactor     =     2;   // Slow UniEMA Weight Factor   
input double            SlowDampingFactor    =   0.5;   // Slow UniEMA Damping Factor
input int               SlowShift            =     0;   // Slow MA Displace

input bool              ShowFilled           = false;
input int               CountBars            =     0;   //Number of bars counted: 0-all bars   

input string            Alerts               = "=== Alerts & Emails ===";
input bool              AlertOn              = false;
input int               AlertShift           =     1;       // Alert Shift:0-current bar,1-previous bar
input int               SoundsNumber         =     5;       // Number of sounds after Signal
input int               SoundsPause          =     5;       // Pause in sec between sounds 
input string            UpTrendSound         = "alert.wav";
input string            DnTrendSound         = "alert2.wav";
input bool              EmailOn              = false;       
input int               EmailsNumber         =     *;          
input bool              PushNotificationOn   = false;

double upgrow[];
double dngrow[];
double upfall[];
double dnfall[];
double fast[];
double slow[];
double buy[];
double sell[];
double trend[];
double fastshift[];
double slowshift[];
double counter[];

int      timeframe, cBars, draw_begin, fastsize, slowsize;
string   IndicatorName, TF, fast_name, slow_name;

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

int deinit()
{
   Comment("");
   return(0);
}

int start()
{
      // код доступен только после оплаты
   }
   int shift,limit, counted_bars=IndicatorCounted();
   double fastprice, slowprice;

   if(counted_bars > 0) limit = Bars - counted_bars - 1;
   if(counted_bars < 0) return(0);
   if(counted_bars < 1)
   { 
   limit = cBars + MathMax(FastLength,SlowLength) - 1;   
      for(int i=limit;i>=0;i--) 
      {
      upgrow[i] = EMPTY_VALUE;   
      dngrow[i] = EMPTY_VALUE;
      upfall[i] = EMPTY_VALUE;   
      dnfall[i] = EMPTY_VALUE;
      fast[i]   = EMPTY_VALUE;   
      slow[i]   = EMPTY_VALUE;
      buy [i]   = EMPTY_VALUE;   
      sell[i]   = EMPTY_VALUE;
      }
   }   

   if(FastShift < 0) int fastlimit = MathAbs(FastShift); else fastlimit = limit;
   if(SlowShift < 0) int slowlimit = MathAbs(SlowShift); else slowlimit = limit; 

   int limit1 = MathMax(limit,MathMax(fastlimit,slowlimit));  

   if(timeframe != Period())
   {
   limit = timeframe/Period()*(limit1 + 1);   

      for(shift=0;shift<limit;shift++) 
      {	
      int y = iBarShift(NULL,timeframe,Time[shift]);

	   fast[shift] = iCustom(NULL,TimeFrame,IndicatorName,0,"",FastPrice,FastLength,FastPole,FastOrder,FastWeightFactor,FastDampingFactor,FastShift,
	                         "",SlowPrice,SlowLength,SlowPole,SlowOrder,SlowWeightFactor,SlowDampingFactor,SlowShift,ShowFilled,CountBars,
	                         "",AlertOn,AlertShift,SoundsNumber,SoundsPause,UpTrendSound,DnTrendSound,EmailOn,EmailsNumber,PushNotificationOn,4,y);
      slow[shift] = iCustom(NULL,TimeFrame,IndicatorName,0,"",FastPrice,FastLength,FastPole,FastOrder,FastWeightFactor,FastDampingFactor,FastShift,
	                         "",SlowPrice,SlowLength,SlowPole,SlowOrder,SlowWeightFactor,SlowDampingFactor,SlowShift,ShowFilled,CountBars,
	                         "",AlertOn,AlertShift,SoundsNumber,SoundsPause,UpTrendSound,DnTrendSound,EmailOn,EmailsNumber,PushNotificationOn,5,y);
	   buy [shift] = iCustom(NULL,TimeFrame,IndicatorName,0,"",FastPrice,FastLength,FastPole,FastOrder,FastWeightFactor,FastDampingFactor,FastShift,
	                         "",SlowPrice,SlowLength,SlowPole,SlowOrder,SlowWeightFactor,SlowDampingFactor,SlowShift,ShowFilled,CountBars,
	                         "",AlertOn,AlertShift,SoundsNumber,SoundsPause,UpTrendSound,DnTrendSound,EmailOn,EmailsNumber,PushNotificationOn,6,y);
      sell[shift] = iCustom(NULL,TimeFrame,IndicatorName,0,"",FastPrice,FastLength,FastPole,FastOrder,FastWeightFactor,FastDampingFactor,FastShift,
	                         "",SlowPrice,SlowLength,SlowPole,SlowOrder,SlowWeightFactor,SlowDampingFactor,SlowShift,ShowFilled,CountBars,
	                         "",AlertOn,AlertShift,SoundsNumber,SoundsPause,UpTrendSound,DnTrendSound,EmailOn,EmailsNumber,PushNotificationOn,7,y);

         if(ShowFilled)
         {
         upgrow[shift] = iCustom(NULL,TimeFrame,IndicatorName,0,"",FastPrice,FastLength,FastPole,FastOrder,FastWeightFactor,FastDampingFactor,FastShift,
	                         "",SlowPrice,SlowLength,SlowPole,SlowOrder,SlowWeightFactor,SlowDampingFactor,SlowShift,ShowFilled,CountBars,
	                         "",AlertOn,AlertShift,SoundsNumber,SoundsPause,UpTrendSound,DnTrendSound,EmailOn,EmailsNumber,PushNotificationOn,0,y);
         dngrow[shift] = iCustom(NULL,TimeFrame,IndicatorName,0,"",FastPrice,FastLength,FastPole,FastOrder,FastWeightFactor,FastDampingFactor,FastShift,
	                         "",SlowPrice,SlowLength,SlowPole,SlowOrder,SlowWeightFactor,SlowDampingFactor,SlowShift,ShowFilled,CountBars,
	                         "",AlertOn,AlertShift,SoundsNumber,SoundsPause,UpTrendSound,DnTrendSound,EmailOn,EmailsNumber,PushNotificationOn,1,y);
	      upfall[shift] = iCustom(NULL,TimeFrame,IndicatorName,0,"",FastPrice,FastLength,FastPole,FastOrder,FastWeightFactor,FastDampingFactor,FastShift,
	                         "",SlowPrice,SlowLength,SlowPole,SlowOrder,SlowWeightFactor,SlowDampingFactor,SlowShift,ShowFilled,CountBars,
	                         "",AlertOn,AlertShift,SoundsNumber,SoundsPause,UpTrendSound,DnTrendSound,EmailOn,EmailsNumber,PushNotificationOn,2,y);
         dnfall[shift] = iCustom(NULL,TimeFrame,IndicatorName,0,"",FastPrice,FastLength,FastPole,FastOrder,FastWeightFactor,FastDampingFactor,FastShift,
	                         "",SlowPrice,SlowLength,SlowPole,SlowOrder,SlowWeightFactor,SlowDampingFactor,SlowShift,ShowFilled,CountBars,
	                         "",AlertOn,AlertShift,SoundsNumber,SoundsPause,UpTrendSound,DnTrendSound,EmailOn,EmailsNumber,PushNotificationOn,3,y);

	      }
 

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

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

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

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

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

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

Стоимость полного кода
1 485,80₽ ≈ $18.16