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

#dtosc

#dtosc 2.06 + bells&whistles nmc.mq5

Похожие материалы по тегам

!!!-mt4 x-xardg-rsi.mq5MQL5 / MetaTrader 5 · 2 общих тегов!!! rsi ma simple+arrows 1.2 (mtf).mq5MQL5 / MetaTrader 5 · 2 общих теговea robofibo source v.11.2.mq4MQL4 / MetaTrader 4 · 2 общих теговsureforexhedingvonepointoneone.mq4MQL4 / MetaTrader 4 · 2 общих теговsureforexhedging 1.10 optimized.mq4MQL4 / MetaTrader 4 · 2 общих теговsureforexhedging 1.09 a (2).mq4MQL4 / MetaTrader 4 · 2 общих тегов
Вы автор или правообладатель?

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

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

О программе

Индикатор #dtosc представляет собой осциллятор, построенный на основе RSI и стохастика, отображаемый в отдельном окне. Он рассчитывает значения RSI по цене закрытия, затем применяет к ним стохастическую нормализацию и сглаживание, формируя две линии: быструю (SK) и медленную (SD). Дополнительно вычисляются динамические уровни, привязанные к локальным максимумам и минимумам, а также определяется направление тренда по взаимному расположению линий или по достижению граничных значений.

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

Предусмотрена система оповещений о смене тренда: всплывающие сообщения, звуковой сигнал и отправка электронной почты. Все параметры вынесены во входные настройки, что позволяет гибко адаптировать индикатор под различные торговые стратегии.

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

НастройкаОписание
TimeFrame Таймфрейм, на котором рассчитывается индикатор. Если указано значение, отличное от текущего, данные берутся с выбранного периода.
PeriodRSI Период расчёта индекса относительной силы (RSI), используемого как основа осциллятора.
PeriodStoch Период стохастической нормализации значений RSI.
PeriodSK Период сглаживания быстрой линии осциллятора.
PeriodSD Период сглаживания медленной (сигнальной) линии осциллятора.
MAMode Метод усреднения, применяемый при сглаживании линий осциллятора.
SmoothPeriod Период сглаживания значений осциллятора.
SmoothPhase Фазовый сдвиг при сглаживании, влияющий на скорость реакции индикатора.
SmoothDouble Включает двойное сглаживание значений осциллятора.
MinMaxPeriod Количество баров для поиска локального максимума и минимума при расчёте динамических уровней.
LevelUp Верхний уровень в процентах от диапазона между локальным максимумом и минимумом, используемый для построения динамических границ.
LevelDown Нижний уровень в процентах от диапазона между локальным максимумом и минимумом, используемый для построения динамических границ.
ShowLinesOn100_0 Переключает режим определения тренда: по пересечению линий или по достижению граничных значений 0 и 100.
divergenceVisible Включает поиск и отображение дивергенций между ценой и значениями осциллятора.
divergenceOnValuesVisible Разрешает отображение линий дивергенций в окне индикатора.
divergenceOnChartVisible Разрешает отображение линий дивергенций на графике цены.
divergenceBullishColor Цвет линий для бычьих дивергенций.
divergenceBearishColor Цвет линий для медвежьих дивергенций.
divergenceUniqueID Уникальный идентификатор для имён объектов дивергенций, позволяющий различать их на графике.
Interpolate Включает интерполяцию значений индикатора между барами старшего таймфрейма для плавного отображения на младшем периоде.
ShowLines Разрешает отображение вертикальных линий при смене направления тренда.
ShowLinesUp Разрешает отображение вертикальных линий только при смене тренда вверх.
ShowLinesDown Разрешает отображение вертикальных линий только при смене тренда вниз.
UseSignalLineFor100_0 Определяет, какая линия (быстрая или медленная) используется для проверки достижения граничных значений 0 и 100.
LinesIdentifier Уникальный идентификатор для имён объектов вертикальных линий, позволяющий различать их на графике.
LinesUpColor Цвет вертикальных линий, отображаемых при смене тренда вверх.
LinesDnColor Цвет вертикальных линий, отображаемых при смене тренда вниз.
alertsOn Включает систему оповещений о смене направления тренда.
alertsOnCurrent Определяет, подавать ли оповещение на текущем баре или после его закрытия.
alertsMessage Разрешает вывод всплывающих сообщений о смене тренда.
alertsSound Разрешает воспроизведение звукового сигнала при смене тренда.
alertsEmail Разрешает отправку уведомлений о смене тренда по электронной почте.
Получить полный код

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

#property indicator_separate_window
#property indicator_buffers 5
#property indicator_minimum -5
#property indicator_maximum 105
#property indicator_color1  clrAqua  
#property indicator_color2  clrWhite//DimGray
#property indicator_color3  clrMagenta
#property indicator_color4  clrAqua
#property indicator_color5  clrRed
#property indicator_width4  2
#property indicator_width5  2
#property indicator_style1  STYLE_DASH
#property indicator_style2  STYLE_DASH
#property indicator_style3  STYLE_DASH

extern string TimeFrame             = "Current time frame";
extern int    PeriodRSI             = 5;//8
extern int    PeriodStoch           = 8;//14
extern int    PeriodSK              = 5;
extern int    PeriodSD              = 4;
extern int    MAMode                = 3;
extern double SmoothPeriod          = 5;//?????
extern int    SmoothPhase           = 0;
extern bool   SmoothDouble          = true;
extern int    MinMaxPeriod          =  50;
extern double LevelUp               =  95;
extern double LevelDown             =   5;

extern bool   ShowLinesOn100_0          = false;
extern bool   divergenceVisible         = true;
extern bool   divergenceOnValuesVisible = true;
extern bool   divergenceOnChartVisible  = true;
extern color  divergenceBullishColor    = clrAqua;// Green
extern color  divergenceBearishColor    = clrYellow;
extern string divergenceUniqueID        = "dtosc divergence1";
extern bool   Interpolate               = true;

extern bool   ShowLines             = true;//**********
extern bool   ShowLinesUp           = true;
extern bool   ShowLinesDown         = true;
extern bool   UseSignalLineFor100_0 = false;//***********

extern string LinesIdentifier       = "dtosc Lines";
extern color  LinesUpColor          = clrAqua;//**********
extern color  LinesDnColor          = clrMagenta;// ????
extern bool   alertsOn              = false;//*************
extern bool   alertsOnCurrent       = true;
extern bool   alertsMessage         = false;//*************
extern bool   alertsSound           = true;//false;
extern bool   alertsEmail           = false;

double SK[];
double SD[];
double StoRSI[];
double RSI[];
double trend[];
double levelUp[];
double levelMi[];
double levelDn[];

string IndicatorFileName;
int    timeFrame;
bool   returnBars;
bool   calculateValue;
string shortName;

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

int deinit()
{
   if (!calculateValue && ShowLines) deleteLines();
   int lookForLength = StringLen(divergenceUniqueID);

   for (int i=ObjectsTotal()-1; i>=0; i--) 
   {
      string name = ObjectName(i);  if (StringSubstr(name,0,lookForLength) == divergenceUniqueID) ObjectDelete(name);
   }
   return(0);
}

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

void CatchBullishDivergence(double& values[], int i)
{
   i++;
            ObjectDelete(divergenceUniqueID+"l"+DoubleToStr(Time[i],0));
            ObjectDelete(divergenceUniqueID+"l"+"os" + DoubleToStr(Time[i],0));            
   if (!IsIndicatorLow(values,i)) return;  

   int currentLow = i;
   int lastLow    = GetIndicatorLastLow(values,i+1);
      if (values[currentLow] > values[lastLow] && Low[currentLow] < Low[lastLow])
      {
         if(divergenceOnChartVisible)  DrawPriceTrendLine("l",Time[cur

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

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

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

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

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

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

Стоимость полного кода
1 454,90₽ ≈ $18.13