#dtosc
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «#dtosc 2.06 + bells&whistles nmc.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор #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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.