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

4 time frame stochastic 2.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 общих тегов
Вы автор или правообладатель?

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

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

О программе

Индикатор «4 Time Frame Stochastic» рассчитывает стохастический осциллятор по четырём временным интервалам одновременно и отображает результат в отдельном окне графика. Для каждого интервала определяется, находится ли основная линия стохастика выше сигнальной линии или ниже, и на графике соответствующие стрелки указывают направление. Это позволяет визуально оценить согласованность тренда на разных таймфреймах.

Индикатор поддерживает систему уведомлений: при достижении заданного количества совпадающих сигналов по направлению (вверх или вниз) на определённом уровне срабатывает alert, отправляется email или воспроизводится звук. Параметры стохастика (K, D, замедление, метод усреднения) настраиваются независимо от таймфреймов.

Встроенная функция returnBars позволяет использовать индикатор для расчёта количества баров, что удобно при построении пользовательских сценариев. Четыре временных интервала задаются текстовыми параметрами, включая возможность указания NEXT1, NEXT2, NEXT3 для автоматического выбора следующего таймфрейма.

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

НастройкаОписание
TimeFrame1 Первый временной интервал для расчёта стохастика. Поддерживаются стандартные названия (M1, M5, H1, D1 и т.д.) и ключевые слова NEXT1, NEXT2, NEXT3 для привязки к текущему таймфрейму.
TimeFrame2 Второй временной интервал для расчёта стохастика. Поддерживаются стандартные названия и ключевые слова NEXT1, NEXT2, NEXT3.
TimeFrame3 Третий временной интервал для расчёта стохастика. Поддерживаются стандартные названия и ключевые слова NEXT1, NEXT2, NEXT3.
TimeFrame4 Четвёртый временной интервал для расчёта стохастика. Поддерживаются стандартные названия и ключевые слова NEXT1, NEXT2, NEXT3.
StochasticK Период основного стохастического осциллятора — количество баров для расчёта.
StochasticD Период сигнальной линии стохастического осциллятора.
StochasticSlowing Замедление расчёта стохастика — дополнительный период сглаживания.
StochasticPrice Тип цены, используемой при расчёте стохастика (0 — Close, 1 — Open, 2 — High, 3 — Low и другие варианты).
SignalLineMaMethod Метод усреднения, используемый для расчёта сигнальной линии стохастика (MODE_SMA, MODE_EMA, MODE_SMMA, MODE_LWMA).
UniqueID Уникальный идентификатор объекта, используемый для именования графических элементов индикатора на графике.
LinesWidth Толщина линий стрелок индикатора. Значение 0 означает стандартную толщину.
LabelsColor Цвет текстовых меток, отображающих названия временных интервалов в окне индикатора.
LabelsHorizontalShift Горизонтальный сдвиг текстовых меток относительно текущей свечи в барах.
LabelsVerticalShift Вертикальное смещение текстовых меток в ценовых единицах окна индикатора.
alertsOn Главный переключатель включения или отключения всей системы уведомлений индикатора.
alertsLevel Минимальное количество временных интервалов, на которых направление стохастика должно совпадать (вверх или вниз), для срабатывания уведомления. Допустимые значения 3 или 4.
alertsMessage Переключатель отправки popup-уведомлений (alert) при срабатывании условий алерта.
alertsSound Переключатель воспроизведения звукового сигнала при срабатывании условий алерта.
alertsEmail Переключатель отправки email-уведомлений при срабатывании условий алерта.
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers 8
#property indicator_color1  LimeGreen
#property indicator_color2  PaleVioletRed
#property indicator_color3  LimeGreen
#property indicator_color4  PaleVioletRed
#property indicator_color5  LimeGreen
#property indicator_color6  PaleVioletRed
#property indicator_color7  LimeGreen
#property indicator_color8  PaleVioletRed
#property indicator_minimum 0
#property indicator_maximum 5

extern string TimeFrame1            = "Current time frame";
extern string TimeFrame2            = "next1";
extern string TimeFrame3            = "next2";
extern string TimeFrame4            = "next3";
extern int    StochasticK           = 14;
extern int    StochasticD           =  3;
extern int    StochasticSlowing     =  3;
extern int    StochasticPrice       =  0;
extern int    SignalLineMaMethod    = MODE_SMA;
extern string UniqueID              = "4 Time Stochastic 1";
extern int    LinesWidth            =  0;
extern color  LabelsColor           = DarkGray;
extern int    LabelsHorizontalShift = 5;
extern double LabelsVerticalShift   = 1.5;
extern bool   alertsOn              = false;
extern int    alertsLevel           = 3;
extern bool   alertsMessage         = true;
extern bool   alertsSound           = false;
extern bool   alertsEmail           = false;

double sto1u[];
double sto1d[];
double sto2u[];
double sto2d[];
double sto3u[];
double sto3d[];
double sto4u[];
double sto4d[];

int    timeFrames[4];
bool   returnBars;
string indicatorFileName;

int init()
{
      // код доступен только после оплаты
   }
int deinit()
{
   for (int t=0; t<4; t++) ObjectDelete(UniqueID+t);
   return(0); 
}

double trend[][2];
#define _up 0
#define _dn 1
int start()
{
      // код доступен только после оплаты
   }
   int i,r,counted_bars=IndicatorCounted();
      if(counted_bars < 0) return(-1);
      if(counted_bars>0) counted_bars--;
         int limit = MathMin(Bars-counted_bars,Bars-1);
         if (returnBars) { sto1u[0] = limit+1; return(0); }

         if (timeFrames[0] != Period()) limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrames[0],indicatorFileName,"returnBars",0,0)*timeFrames[0]/Period()));
         if (timeFrames[1] != Period()) limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrames[1],indicatorFileName,"returnBars",0,0)*timeFrames[1]/Period()));
         if (timeFrames[2] != Period()) limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrames[2],indicatorFileName,"returnBars",0,0)*timeFrames[2]/Period()));
         if (timeFrames[3] != Period()) limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrames[3],indicatorFileName,"returnBars",0,0)*timeFrames[3]/Period()));
         if (ArrayRange(trend,0)!=Bars) ArrayResize(trend,Bars);

         bool initialized = false;
         if (!initialized)
         {
            initialized = true;
            int window = WindowFind(UniqueID);
            for (int t=0; t<4; t++)
            {
               string label = timeFrameToString(timeFrames[t]);
               ObjectCreate(UniqueID+t,OBJ_TEXT,window,0,0);
                  ObjectSet(UniqueID+t,OBJPROP_COLOR,LabelsColor);
                  Obj

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

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

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

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

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

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

Стоимость полного кода
581,20₽ ≈ $7.10