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

!!color stochastic v1.02.mq5

Вы автор или правообладатель?

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

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

О программе

Цветной стохастик — это пользовательский индикатор для MetaTrader 4, отображающий линии K и D стандартного стохастика с возможностью цветовой индикации перекупленности, перепроданности и трендовых состояний. Индикатор рассчитывает значения с помощью встроенной функции iStochastic и отрисовывает их в отдельном окне в виде линий или гистограмм в зависимости от выбранного режима отображения.

Индикатор поддерживает выбор таймфрейма, настройку периодов K, D и замедления, а также выбор метода скользящей средней и ценового поля. Уровни перекупленности и перепроданности задаются пользователем и определяют визуальное выделение зон.

Дополнительно предусмотрены визуальные стрелки при пересечении уровней и система уведомлений, включающая всплывающие сообщения, звуковые сигналы и email-оповещения. Удаление графических объектов при деинициализации осуществляется автоматически.

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

НастройкаОписание
note1 Заголовок таймфрейма — Заголовок группы настроек таймфрейма: Chart Time Frame.
note2 Подсказка текущий ТФ — Подсказка: 0 = текущий таймфрейм.
note3 Подсказка минутных ТФ — Подсказка: 1=M1, 5=M5, 15=M15, 30=M30.
note4 Подсказка часовые и дневной ТФ — Подсказка: 60=H1, 240=H4, 1440=D1.
note5 Подсказка недельный и месячный ТФ — Подсказка: 10080=W1, 43200=MN1.
{1=M1, 5=M5, 15=M15, ..., 1440=D1, 10080=W1, 43200=MN1} (timeFrame) Таймфрейм — Таймфрейм для расчёта индикатора (1=M1, 5=M5, 15=M15, 30=M30, 60=H1, 240=H4, 1440=D1, 10080=W1, 43200=MN1, 0=текущий).
note6 Заголовок стохастика — Заголовок группы настроек стохастика: Stochastic settings.
KPeriod Период K — Период основной линии стохастика.
DPeriod Период D — Период сигнальной линии стохастика.
Slowing Замедление — Замедление расчёта стохастика.
note7 Подсказка метода СС — Подсказка метода СС: 0=sma, 1=ema, 2=smma, 3=lwma.
MAMethod Метод СС — Метод скользящей средней (0=SMA, 1=EMA, 2=SMMA, 3=LWMA).
note8 Подсказка ценового поля — Подсказка ценового поля: 0=high/low, 1=close/close.
PriceField Ценовое поле — Поле цен для расчёта (0=High/Low, 1=Close/Close).
note9 Заголовок уровня покупаемости — Заголовок группы настроек уровня перекупленности: overbought level.
overBought Перекупленность — Уровень перекупленности, при превышении которого индикатор выделяет зону.
note10 Заголовок уровня проданности — Заголовок группы настроек уровня перепроданности: oversold level.
overSold Перепроданность — Уровень перепроданности, при снижении ниже которого индикатор выделяет зону.
showBars Гистограммы — Режим отображения индикатора в виде гистограмм вместо линий.
showArrows Стрелки — Отображение стрелок при пересечении уровней перекупленности и перепроданности.
alertsOn Алерты включены — Включение системы уведомлений о пересечении уровней.
alertsMessage Сообщения — Включение всплывающих сообщений при срабатывании алертов.
alertsSound Звуковые уведомления — Включение звуковых уведомлений при срабатывании алертов.
alertsEmail Email-уведомления — Включение отправки email-уведомлений при срабатывании алертов.
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers   6
#property indicator_minimum   0
#property indicator_maximum 100
#property indicator_color1 DimGray
#property indicator_style1 STYLE_DOT
#property indicator_color2 DimGray
#property indicator_color3 DarkGreen //UPPER
#property indicator_color4 Maroon //LOWER
#property indicator_color5 Lime //UPTREND
#property indicator_color6 Red //DOWNTREND
#property indicator_width3 4
#property indicator_width4 4
#property indicator_width5 4
#property indicator_width6 4
#define SignalName "StochasticSignal"

extern string note1 = "Chart Time Frame";
extern string note2 = "0=current time frame";
extern string note3 = "1=M1, 5=M5, 15=M15, 30=M30";
extern string note4 = "60=H1, 240=H4, 1440=D1";
extern string note5 = "10080=W1, 43200=MN1";
extern int	timeFrame	= 0;		// {1=M1, 5=M5, 15=M15, ..., 1440=D1, 10080=W1, 43200=MN1}
extern string note6 = "Stochastic settings";
extern int       KPeriod       =   14;
extern int       DPeriod       =   3;
extern int       Slowing       =   3;
extern string note7 = "0=sma, 1=ema, 2=smma, 3=lwma";
extern int       MAMethod      =   0;
extern string note8 = "0=high/low, 1=close/close";
extern int       PriceField    =   0;
extern string note9 = "overbought level";
extern double       overBought    =  80;
extern string note10 = "oversold level";
extern double       overSold      =  20;
extern bool      showBars      = false;
extern bool      showArrows    = false;
extern bool      alertsOn      = false;
extern bool      alertsMessage = true;
extern bool      alertsSound   = false;
extern bool      alertsEmail   = false;

double   KFull[];
double   DFull[];
double   Upper[];
double   Lower[];
double   Uptrend[];
double   Downtrend[];

int      TimeFrame;
datetime TimeArray[];
int      maxArrows;
int      SignalGap;

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

int deinit()
{
   DeleteArrows();
   return(0);
}

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

   if(counted_bars<0) return(-1);
         limit=MathMax(Bars-counted_bars,TimeFrame/Period());
         ArrayCopySeries(TimeArray ,MODE_TIME ,NULL,TimeFrame);

   for(i=0,y=0; i<limit; i++)
      {
         if(Time[i]<TimeArray[y]) y++;
            KFull[i] = iStochastic(NULL,TimeFrame,KPeriod,DPeriod,Slowing,MAMethod,PriceField,MODE_MAIN,y);
            DFull[i] = iStochastic(NULL,TimeFrame,KPeriod,DPeriod,Slowing,MAMethod,PriceField,MODE_SIGNAL,y);
      }
   for(i=limit,y=0; i>=0; i--)
      {
         if (showBars)
            {
               Upper[i]     = EMPTY_VALUE;
               Lower[i]     = EMPTY_VALUE;
               while(true)
                  {
                     if (KFull[i] > overBought) { Upper[i]     = 100; break;}
                     if (KFull[i] < overSold)   { Lower[i]     = 100; break;}
                     if (KFull[i] > KFull[i+1]) { Uptrend[i]   = 100; break;}
                     if (KFull[i] < KFull[i+1]) { Downtrend[i] = 100; break;}
                        Uptrend[i]   = Uptrend[i+1];
                

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

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

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

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

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

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

Стоимость полного кода
683,70₽ ≈ $8.36