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

stochastic3_v6.mq5

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

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

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

О программе

Индикатор Stochastic3_v6 рассчитывает три стохастических осциллятора с различными периодами и отображает их на отдельном окне. Значения каждого стохастика сдвигаются на 50 единиц вниз, что позволяет визуализировать их в диапазоне от -50 до +50. Три линии стохастиков и средняя линия сигнала рисуются разными цветами и стилями.

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

Встроенная функция автоматически приводит заданные периоды к ближайшим допустимым таймфреймам MetaTrader 5, обеспечивая корректную работу с любыми значениями параметров.

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

НастройкаОписание
AlertON Включает или отключает генерацию уведомлений и алертов при срабатывании условий.
KPeriod Период K линии стохастика, используемый для всех трёх расчётов.
DPeriod Период D линии стохастика, используемый для всех трёх расчётов.
Slowing Период замедления (slowing) для расчёта стохастика.
per1 Период первого стохастического расчёта. Автоматически приводится к ближайшему допустимому таймфрейму.
per2 Период второго стохастического расчёта. Автоматически приводится к ближайшему допустимому таймфрейму.
per3 Период третьего стохастического расчёта. Автоматически приводится к ближайшему допустимому таймфрейму.
SignalLevel Пороговое значение уровня сигнала для генерации уведомлений при попадании сигнала в заданный диапазон.
Получить полный код

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

extern bool AlertON = true;

#property indicator_separate_window
#property indicator_minimum -50
#property indicator_maximum  50
#property indicator_level1	 -30
#property indicator_level3	  0
#property indicator_level2	  30
#property indicator_levelcolor	Silver
#property indicator_levelwidth	0
#property indicator_levelstyle	2
#property indicator_buffers 8
#property indicator_color1 DarkTurquoise
#property indicator_width1 4  
#property indicator_color2 DarkSalmon
#property indicator_width2 4  
#property indicator_color3 SaddleBrown
#property indicator_style3 2
#property indicator_color4 SaddleBrown
#property indicator_style4 2
#property indicator_color5 SaddleBrown
#property indicator_style5 2
#property indicator_color6 Green
#property indicator_width6 4
#property indicator_color7 Red
#property indicator_width7 4
#property indicator_color8 Orange
#property indicator_width8 2  
#property indicator_style8 0

extern int KPeriod =5;
extern int DPeriod =3;
extern int Slowing =3;
extern int per1    =5;
extern int per2    =15;
extern int per3    =60;
extern int SignalLevel=0;

double SignalBuffer[];
double BUFFER_1[];
double BUFFER_2[];
double BUFFER_3[];
double GREEN[];
double RED[];
double up[];
double lo[];
string Name;
int TimeBar;

int init()
  {
      // код доступен только после оплаты
   }
   TimeBar=Time[0];

   SetIndexStyle(0,DRAW_HISTOGRAM,STYLE_SOLID);
   SetIndexBuffer(0,up);
   SetIndexEmptyValue(0,EMPTY_VALUE);
   SetIndexStyle(1,DRAW_HISTOGRAM,STYLE_SOLID);
   SetIndexBuffer(1,lo);
   SetIndexEmptyValue(1,EMPTY_VALUE);
   SetIndexStyle(2,DRAW_LINE);
   SetIndexBuffer(2, BUFFER_1);
   SetIndexStyle(3,DRAW_LINE);
   SetIndexBuffer(3, BUFFER_2);
   SetIndexStyle(4,DRAW_LINE);
   SetIndexBuffer(4, BUFFER_3);
   SetIndexStyle(5,DRAW_HISTOGRAM,STYLE_SOLID);
   SetIndexBuffer(5, GREEN);
   SetIndexStyle(6,DRAW_HISTOGRAM,STYLE_SOLID);
   SetIndexBuffer(6, RED);
   SetIndexStyle(7,DRAW_LINE);
   SetIndexBuffer(7, SignalBuffer);

   per1 = next_period(per1);
   per2 = next_period(per2);
   per3 = next_period(per3);
   SetIndexLabel(2, "Stochastic "+string_???(per1));
   SetIndexLabel(3, "Stochastic "+string_???(per2));
   SetIndexLabel(4, "Stochastic "+string_???(per3));
   SetIndexLabel(7, "Average");
   Name = "Stochastic 3 ("+string_???(per1)+""+string_???(per2)+""+string_???(per3)+")";
   IndicatorShortName(Name);
   int Win = WindowFind(Name);
   Name=StringConcatenate(Name,Win);
   ObjectCreate(Name, OBJ_LABEL,Win , 0, 0);// ???????? ???.
   ObjectSet(Name, OBJPROP_CORNER, 0);
   ObjectSet(

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

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

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

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

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

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

Стоимость полного кода
401,90₽ ≈ $4.91