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

Schaff Trend Cycle

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

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

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

О программе

Индикатор рассчитывает аналитический осциллятор на основе модифицированной стохастической модели сглаживания тренда Шафф (Schaff Trend Cycle), используя данные MACD и двух проходов сглаживания. Отображает направление тренда в виде гистограмм в отдельном окне графика с настраиваемыми цветами для восходящих и нисходящих фаз.

Поддерживает анализ на мультитаймфрейме — расчёт может выполняться на выбранном или пользовательском таймфрейме, отличном от таймфрейма текущего графика. При смене масштаба графика ширина столбцов гистограммы подстраивается автоматически или задаётся вручную.

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

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

НастройкаОписание
Timeframe to use (inpTimeFrame) Таймфрейм расчёта — Выбранный таймфрейм для расчёта индикатора
Custom timeframe (inpTimeFrameCustom) Пользовательский таймфрейм — Значение пользовательского таймфрейма в минутах
Objects unique ID (inpObjID) Идентификатор объектов — Уникальный идентификатор объектов на графике
Schaff period (STCPeriod) Период Шафф — Период сглаживания для расчёта индикатора Шафф
Fast ema period (FastMAPeriod) Период быстрой EMA — Период быстрой экспоненциальной скользящей средней для расчёта MACD
Slow ema period (SlowMAPeriod) Период медленной EMA — Период медленной экспоненциальной скользящей средней для расчёта MACD
Histogram bars width (HistoWidth) Ширина столбцов гистограммы — Ширина столбцов гистограммы в пикселях при ручном режиме
Automatically adjust histo width (AutoHisto) Автоматическая подстройка ширины гистограммы — Автоматическая подстройка ширины столбцов гистограммы в зависимости от масштаба графика
Schaff sloping up histogram color (UpHistoColor) Цвет гистограммы восходящего тренда — Цвет гистограммы при восходящем направлении тренда
Schaff sloping down histogram color (DnHistoColor) Цвет гистограммы нисходящего тренда — Цвет гистограммы при нисходящем направлении тренда
. Arrows settings (__arr__01) Настройки стрелок — Группа настроек стрелок
Show arrows (arrowsVisible) Отображать стрелки — Отображение стрелок на графике
Arrows last bar (in mtf mode)? (inpArrowsOnLast) Стрелки на последнем баре (MTF) — Отображение стрелок на последнем баре при мультитаймфреймном режиме
Arrow gap up (arrowsDisplaceUp) Отступ стрелки вверх — Отступ стрелки вверх от цены бара
Arrow gap down (arrowsDisplaceDn) Отступ стрелки вниз — Отступ стрелки вниз от цены бара
Arrows up color (arrowsUpColor) Цвет стрелки восходящего тренда — Цвет стрелки восходящего тренда
Arrows down color (arrowsDnColor) Цвет стрелки нисходящего тренда — Цвет стрелки нисходящего тренда
Arrows up code (arrowsUpCode) Код стрелки восходящего тренда — Код стрелки восходящего тренда
Arrows down code (arrowsDnCode) Код стрелки нисходящего тренда — Код стрелки нисходящего тренда
Arrows up size (arrowsUpSize) Размер стрелки восходящего тренда — Размер стрелки восходящего тренда
Arrows down size (arrowsDnSize) Размер стрелки нисходящего тренда — Размер стрелки нисходящего тренда
.Alerts settings (__alr__00) Настройки уведомлений — Группа настроек уведомлений
Alerts on? (inpAlertsOn) Уведомления включены — Включение или отключение всех уведомлений
Alerts open bar? (inpAlertsOnCurrent) Уведомления на текущем баре — Ограничение уведомлений текущим открытым баром
Alerts message? (inpAlertsMessage) Всплывающее сообщение — Отправка всплывающего сообщения
Alerts sound? (inpAlertsSound) Звуковое уведомление — Воспроизведение звукового сигнала при срабатывании
Alerts email? (inpAlertsEmail) Уведомление по электронной почте — Отправка уведомления по электронной почте
Alerts notification? (inpAlertsPush) Push-уведомление — Отправка push-уведомления
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_minimum 0
#property indicator_maximum 1
#property strict

enum enTimeFrames
{
         tf_cu  = 0,                                                  // Current time frame
         tf_m1  = PERIOD_M1,                                          // 1 minute
         tf_m5  = PERIOD_M5,                                          // 5 minutes
         tf_m15 = PERIOD_M15,                                         // 15 minutes
         tf_m30 = PERIOD_M30,                                         // 30 minutes
         tf_h1  = PERIOD_H1,                                          // 1 hour
         tf_h4  = PERIOD_H4,                                          // 4 hours
         tf_d1  = PERIOD_D1,                                          // Daily
         tf_w1  = PERIOD_W1,                                          // Weekly
         tf_mn1 = PERIOD_MN1,                                         // Monthly
         tf_n1  = -1,                                                 // First higher time frame
         tf_n2  = -2,                                                 // Second higher time frame
         tf_n3  = -3,                                                 // Third higher time frame
         tf_cus = 12345678                                            // Custom time frame
      };
input enTimeFrames            inpTimeFrame       = tf_cu;             // Timeframe to use
input int                     inpTimeFrameCustom = 0;                 // Custom timeframe 
input string                  inpObjID           = "stc o1";          // Objects unique ID
extern int                    STCPeriod          = 10;                // Schaff period
extern int                    FastMAPeriod       = 23;                // Fast ema period
extern int                    SlowMAPeriod       = 50;                // Slow ema period
extern int                    HistoWidth         = 3;                 // Histogram bars width
input bool                    AutoHisto        = true;                       // Automatically adjust histo width
extern color                  UpHistoColor       = clrLimeGreen;      // Schaff sloping up histogram color
extern color                  DnHistoColor       = clrRed;            // Schaff sloping down histogram color
input string                  __arr__01          = "";                //. Arrows settings
input bool                    arrowsVisible      = false;             // Show arrows
input bool                    inpArrowsOnLast    = false;             // Arrows last bar (in mtf mode)?
input double                  arrowsDisplaceUp   = 0.5;               // Arrow gap up
input double                  arrowsDisplaceDn   = 0.5;               // Arrow gap down
input color                   arrowsUpColor      = clrBlue;           // Arrows up color
input color                   arrowsDnColor      = clrRed;            // Arrows down color
input int                     arrowsUpCode       = 233;               // Arrows up code
input int                     arrowsDnCode       = 234;               // Arrows down code
input int                     arrowsUpSize       = 2;                 // Arrows up size
input int                     arrowsDnSize       = 2;                 // Arrows down size
input string              __alr__00          = "";         //.Alerts settings
input bool                inpAlertsOn        = false;      // Alerts on?
input bool                inpAlertsOnCurrent = true;       // Alerts open bar?
input bool                inpAlertsMessage   = true;       // Alerts message?
input bool                inpAlertsSound     = false;      // Alerts sound?
input bool                inpAlertsEmail     = false;      // Alerts email?
input bool                inpAlertsPush      = false;      // Alerts notification?

double stcBuffer[];
double stcBufferUA[];
double stcBufferUB[];
double macdBuffer[];
double fastKBuffer[];
double fastDBuffer[];
double fastKKBuffer[];
double trend[],count[];
struct sGlobalStruct
{
   string indiFileName;
   int    indiTimeFrame;
   int    tfcustom;
   int    wBar;
   int       width;
};
sGlobalStruct glo;
#define _mtfCall(_buff,_ind) iCustom(_Symbol,glo.indiTimeFrame,glo.indiFileName,tf_cu,0,inpObjID,STCPeriod,FastMAPeriod,SlowMAPeriod,HistoWidth,AutoHisto,UpHistoColor,DnHistoColor,"",arrowsVisible,inpArrowsOnLast,arrowsDisplaceUp,arrowsDisplaceDn,arrowsUpColor,arrowsDnColor,arrowsUpCode,arrowsDnCode,arrowsUpSize,arrowsDnSize,__alr__00,inpAlertsOn,inpAlertsOnCurrent,inpAlertsMessage,inpAlertsSound,inpAlertsEmail,inpAlertsPush,_buff,_ind)

int OnInit()
{
      // код доступен только после оплаты
   }
 if (AutoHisto)
   {
      int scale = int(ChartGetInteger(0,CHART_SCALE));
      switch(scale) 
	   {
	      case 0: glo.width =  1; break;
	      case 1: glo.width =  1; break;
		   case 2: glo.width =  3; break;
		   case 3: glo.width =  4; break;
		   case 4: glo.width =  8; break;
		   case 5: glo.width = 16; break;
	   }
	}
	else { glo.width = HistoWidth; }

   IndicatorBuffers(9);
   SetIndexBuffer(0,stcBufferUA); SetIndexStyle(0, DRAW_HISTOGRAM,EMPTY,glo.width,UpHistoColor);
   SetIndexBuffer(1,stcBufferUB); SetIndexStyle(1, DRAW_HISTOGRAM,EMPTY,glo.width,DnHistoColor);   
   SetIndexBuffer(2,stcBuffer);
   SetIndexBuffer(3,macdBuffer);
   SetIndexBuffer(4,fastKBuffer);
   SetIndexBuffer(5,fastDBuffer);
   SetIndexBuffer(6,fastKKBuffer);
   SetIndexBuffer(7,trend);
   SetIndexBuffer(8,count);

   glo.indiFileName = WindowExpertName();
   if (inpTimeFrameCustom==0) glo.tfcustom =(enTimeFrames)timeFrameValue(inpTimeFrameCustom);
   glo.indiTimeFrame = (inpTime

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

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

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

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

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

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

Стоимость полного кода
745,80₽ ≈ $9.12