Traders Dynamic Index
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «tdi red green_alerts_mtf 2.02 alert.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор «Traders Dynamic Index» для MetaTrader 5, реализующий гибридный анализ рынка на основе RSI. Отображает в отдельном окне пять линий: линию цены RSI (зелёная), сигнальную линию (красная), полосы волатильности (синие), а также определяет направление тренда. Индикатор рассчитывает RSI заданного периода, накладывает на неё скользящие средние для ценовой и сигнальной линий, строит полосы волатильности на основе стандартного отклонения и определяет направление тренда по соотношению линий.
Поддерживается работа на различных таймфреймах, включая возможность расчёта данных с более высокого таймфрейма. Индикатор предоставляет систему уведомлений: всплывающие сообщения, звуковые сигналы и email-уведомления при смене направления тренда. Также доступна отрисовка стрелок на графике при пересечении уровня среднего сигнала.
Настройки включают параметры периодов RSI, типы цен и методы скользящих средних, множитель полос волатильности, уровни для отображения горизонтальных линий, а также параметры внешнего вида стрелок и конфигурацию уведомлений. Все настройки позволяют адаптировать индикатор под конкретный торговый стиль.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм — Таймфрейм для расчёта индикатора |
| RsiPeriod | Период RSI — Период расчёта индикатора RSI |
| RsiPrice | Цена RSI — Тип цены для расчёта RSI (0 — Close, 1 — Open, 2 — High, 3 — Low, 4 — Median, 5 — Typical, 6 — Weighted Close) |
| RsiPriceLinePeriod | Период СС линии цены RSI — Период скользящей средней для линии цены RSI |
| RsiPriceLineMAMode | Метод СС линии цены RSI — Метод скользящей средней для линии цены RSI (0 — SMA, 1 — EMA, 2 — SMMA, 3 — LWMA) |
| RsiSignalLinePeriod | Период СС сигнальной линии — Период скользящей средней для сигнальной линии |
| RsiSignalLineMAMode | Метод СС сигнальной линии — Метод скользящей средней для сигнальной линии (0 — SMA, 1 — EMA, 2 — SMMA, 3 — LWMA) |
| VolatilityBandPeriod | Период полос волатильности — Период расчёта полос волатильности |
| VolatilityBandMAMode | Метод СС полос волатильности — Метод скользящей средней для расчёта полос волатильности (0 — SMA, 1 — EMA, 2 — SMMA, 3 — LWMA) |
| VolatilityBandMultiplier | Множитель полос волатильности — Множитель для расчёта ширины полос волатильности |
| LevelDown | Нижний уровень — Значение нижнего горизонтального уровня для отображения |
| LevelMiddle | Средний уровень — Значение среднего горизонтального уровня для отображения |
| LevelUp | Верхний уровень — Значение верхнего горизонтального уровня для отображения |
| Alert | Алерт — Строковый параметр для настройки текста алерта |
| alertsAndArrowsOnMiddleCross | Алерты и стрелки по пересечению среднего уровня — При включении направление тренда определяется по пересечению средней линии, а не сигнальной линии |
| alertsOn | Алерты включены — Включает или отключает систему уведомлений |
| alertsOnCurrent | Алерты на текущем баре — При включении алерты срабатывают на текущем баре, при выключении — на предыдущем |
| alertsMessage | Всплывающие сообщения — Включает всплывающие сообщения при смене направления тренда |
| alertsSound | Звуковой сигнал — Включает звуковой сигнал при смене направления тренда |
| alertsEmail | Email-уведомления — Включает отправку email-уведомлений при смене направления тренда |
| soundfile | Файл звука — Файл звука для воспроизведения при срабатывании алерта |
| Arrow | Стрелка — Строковый параметр для настройки стрелок |
| _High_ | Код стрелки вверх — Код стрелки для восходящих сигналов |
| _Low_ | Код стрелки вниз — Код стрелки для нисходящих сигналов |
| __ | Разделитель настроек стрелок — Текстовый разделитель настроек стрелок |
| ShowArrows | Показывать стрелки — Включает или отключает отображение стрелок на графике |
| ArrowsIdentifier | Идентификатор стрелок — Идентификатор объектов стрелок на графике |
| ArrowUpColor | Цвет стрелки вверх — Цвет восходящих стрелок на графике |
| ArrowDownColor | Цвет стрелки вниз — Цвет нисходящих стрелок на графике |
| ArrowUpWidth | Толщина стрелки вверх — Толщина восходящих стрелок |
| ArrowDownWidth | Толщина стрелки вниз — Толщина нисходящих стрелок |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 5
#property indicator_color1 MediumBlue
#property indicator_color2 Yellow
#property indicator_color3 MediumBlue
#property indicator_color4 Green
#property indicator_color5 Red
#property indicator_width2 2
#property indicator_width4 2
#property indicator_width5 2
#property indicator_levelcolor DimGray
extern string TimeFrame = "Current time frame";
extern int RsiPeriod = 13;
extern int RsiPrice = PRICE_CLOSE;
extern int RsiPriceLinePeriod = 2;
extern int RsiPriceLineMAMode = MODE_SMA;
extern int RsiSignalLinePeriod = 7;
extern int RsiSignalLineMAMode = MODE_SMA;
extern int VolatilityBandPeriod = 34;
extern int VolatilityBandMAMode = MODE_SMA;
extern double VolatilityBandMultiplier = 1.6185;
extern double LevelDown = 32;
extern double LevelMiddle = 50;
extern double LevelUp = 68;
extern string Alert;
extern bool alertsAndArrowsOnMiddleCross = false;
extern string note = "turn on Alert = true; turn off = false";
extern bool alertsOn = true;
extern bool alertsOnCurrent = false;
extern bool alertsMessage = true;
extern bool alertsSound = true;
extern bool alertsEmail = false;
extern string soundfile = "alert2.wav";
extern string Arrow;
extern int _High_ = 226;
extern int _Low_ = 225;
extern string __ = "arrows settings";
extern bool ShowArrows = true;
extern string ArrowsIdentifier = "tdiarrows";
extern color ArrowUpColor = Aqua;
extern color ArrowDownColor = Red;
extern int ArrowUpWidth = 1;
extern int ArrowDownWidth = 1;
double rsi[];
double rsiPriceLine[];
double rsiSignalLine[];
double bandUp[];
double bandMiddle[];
double bandDown[];
double trend[];
double atrend[];
string indicatorFileName;
bool calculateValue;
bool returnBars;
int timeFrame;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
if (ShowArrows)
{
int compareLength = StringLen(ArrowsIdentifier);
for (int i=ObjectsTotal(); i>= 0; i--)
{
string name = ObjectName(i);
if (StringSubstr(name,0,compareLength) == ArrowsIdentifier)
ObjectDelete(name);
}
}
return(0);
}
int start()
{
// код доступен только после оплаты
}
int counted_bars=IndicatorCounted();
int i,limit;
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit = MathMin(Bars-counted_bars,Bars-1);
if (returnBars) { bandUp[0] = limit+1; return(0); }
if (calculateValue || timeFrame == Period())
{
for(i=limit; i>=0; i--) rsi[i] = iRSI(NULL,0,RsiPeriod,RsiPrice,i);
for(i=limit; i>=0; i--)
{
rsiPriceLine[i] = iMAOnArray(rsi,0,RsiPriceLinePeriod,0,RsiPriceLineMAMode,i);
rsiSignalLine[i] = iMAOnArray(rsi,0,RsiSignalLinePeriod,0,RsiSignalLineMAMode,i);
double deviation = iStdDevOnArray(rsi,0,VolatilityBandPeriod,0,VolatilityBandMAMode,i);
double average = iMAOnArray(rsi,0,VolatilityBandPeriod,0,VolatilityBandMAMode,i);
bandUp[i] = average+VolatilityBandMultiplier*deviation;
bandDown[i] = average-VolatilityBandMultiplier*deviation;
bandMiddle[i] = average;
trend[i] = 0;
if (alertsAndArrowsOnMiddleCross)
{
if (rsiPriceLine[i] > bandMiddle[i]) trend[i] = 1;
if (rsiPriceLine[i] < bandMiddle[i]) trend[i] = -1;
}
else
{
if (rsiPriceLine[i] > rsiSignalLine[i]) trend[i] = 1;
if (rsiPriceLine[i] < rsiSignalLine[i]) trend[i] = -1;
}
if (!calculateValue)manageArrow(i);
}
if (!calculateValue) manageAlerts();
return (0);
}
limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrame,indicatorFileName,"returnBars",0,0)*timeFrame/Period()));
for (i=limit;i>=0;i--)
{
int y = iBПоказано первые 50% кода (символов: 7338)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.