Traders Dynamic Index
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «trenddinamicindex.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Traders Dynamic Index — это пользовательский индикатор для MetaTrader 4, разработанный Дином Мэлоуном. Он представляет собой гибридный аналитический инструмент, объединяющий анализ RSI, волатильности и скользящих средних для оценки направления тренда, силы рынка и волатильности.
Индикатор отрисовывает несколько линий в отдельном окне: линию цены RSI, линию торгового сигнала, линию базы рынка и волатильные полосы. Дополнительно создаются графические объекты с текстовыми сигналами, отображающими текущее рыночное состояние: силу тренда, возможные развороты и консолидацию.
Встроенные горизонтальные уровни (32, 50, 68) помогают визуально оценивать положение цены относительно ключевых зон. Индикатор предоставляет настраиваемые параметры периодов, типов цен и фильтров сигналов, что позволяет адаптировать его под различные стили торговли.
Вся обработка происходит в основном цикле расчёта индикатора: для каждого бара вычисляются значения RSI, волатильных полос и скользящих средних, после чего формируются визуальные метки и объекты на графике.
Настройки программы
| Настройка | Описание |
|---|---|
| Show_VISUAL_Alerts | Визуальные оповещения — Включает или отключает визуальные графические сигналы и метки на графике. |
| SHIFT_Sideway | Горизонтальное смещение — Задаёт горизонтальное смещение графических объектов сигналов на графике. |
| SHIFT_Up_Down | Вертикальное смещение — Задаёт вертикальное смещение графических объектов сигналов на графике. |
| 8-25 (RSI_Period) | Период RSI — Задаёт период расчёта RSI. Допустимый диапазон значений: 8–25. |
| 0-6 (RSI_Price) | Тип цены RSI — Определяет тип цены для расчёта RSI (0–6). |
| 20-40 (Volatility_Band) | Период волатильных полос — Задаёт период расчёта волатильных полос. Допустимый диапазон значений: 20–40. |
| RSI_Price_Line | Период линии цены RSI — Устанавливает период скользящей средней для линии цены RSI. |
| 0-3 (RSI_Price_Type) | Тип линии цены RSI — Определяет тип скользящей средней для линии цены RSI (0–3). |
| Trade_Signal_Line | Период линии торгового сигнала — Устанавливает период скользящей средней для основной линии торгового сигнала. |
| SHOW_Trade_Signal_Line2 | Отображение второй линии торгового сигнала — Переключатель отображения второй линии торгового сигнала. |
| Trade_Signal_Line2 | Период второй линии торгового сигнала — Устанавливает период скользящей средней для второй линии торгового сигнала. |
| 0-3 (Trade_Signal_Type) | Тип линии торгового сигнала — Определяет тип скользящей средней для линии торгового сигнала (0–3). |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 7
#property indicator_color1 Black
#property indicator_color2 MediumBlue
#property indicator_color3 Yellow
#property indicator_color4 MediumBlue
#property indicator_color5 Green
#property indicator_color6 Red
#property indicator_color7 Aqua
#property indicator_style7 2
extern bool Show_VISUAL_Alerts=true;
extern int SHIFT_Sideway=0;
extern int SHIFT_Up_Down=0;
extern int RSI_Period=13; //8-25
extern int RSI_Price=0; //0-6
extern int Volatility_Band=34; //20-40
extern int RSI_Price_Line=2;
extern int RSI_Price_Type=0; //0-3
extern int Trade_Signal_Line=7;
extern bool SHOW_Trade_Signal_Line2=true;
extern int Trade_Signal_Line2=18;
extern int Trade_Signal_Type=0; //0-3
#define UPPERLINE "UPPERLINE"
#define MEDLINE "MEDLINE"
#define LOWERLINE "LOWERLINE"
double RSIBuf[],UpZone[],MdZone[],DnZone[],MaBuf[],MbBuf[],McBuf[];
int init()
{
// код доступен только после оплаты
}
int deinit()
{
ObjectsDeleteAll(0,OBJ_TREND);
ObjectDelete("TDI_SIG");ObjectDelete("TDI_SIG1");ObjectDelete("TDI_SIG2");
ObjectDelete("TDI_SIG3");ObjectDelete("TDI_SIG4");ObjectDelete("TDI_SIG5");
ObjectDelete("TDI_SIG6");ObjectDelete("TDI_SIG7");ObjectDelete("TDI_SIG8");
ObjectDelete("TDI_SIG9");
return(0);
}
int start()
{
// код доступен только после оплаты
}
void Createline(string objName, double start, double end, color clr)
{
ObjectCreate(objName, OBJ_TREND,WindowFind("Traders Dynamic Index Visual"),0, start, Time[0], end);
ObjectSet(objName, OBJPROP_COLOR, clr);
ObjectSet(objName, OBJPROP_STYLE, 2);
ObjectSet(objName, OBJPROP_RAY, false);
}
void DeleteCreateline()
{
ObjectDelete(UPPERLINE);ObjectDelete(LOWERLINE);ObjectDelete(MEDLINE);
}
void CreateLEVEL()
{
DeleteCreateline();
Createline(UPPERLINE, 68, 68,C'70,70,70');
Createline(LOWERLINE, 50, 50,C'00,70,00');
Createline(MEDLINE, 32, 32,C'70,70,70');
double MA,RSI[];
ArrayResize(RSI,Volatility_Band);
int counted_bars=IndicatorCounted();
int limit=Bars-counted_bars-1;
for(int i=limit; i>=0; i--)
{
RSIBuf[i]=(iRSI(NULL,0,RSI_Period,RSI_Price,i));
MA=0;
for(int x=i; x<i+Volatility_Band; x++)
{
RSI[x-i]=RSIBuf[x];
MA+=RSIBuf[x]/Volatility_Band;
}
UpZone[i]=(MA + (1.6185 * StDev(RSI,Volatility_Band)));
DnZone[i]=(MA - (1.6185 * StDev(RSI,Volatility_Band)));
MdZone[i]=((UpZone[i] + DnZone[i])/2);
}
for(i=limit-1;i>=0;i--)
{
MaBuf[i]=(iMAOnArray(RSIBuf,0,RSI_Price_Line,0,RSI_Price_Type,i));
MbBuf[i]=(iMAOnArray(RSIBuf,0,Trade_Signal_Line,0,Trade_Signal_Type,i));
McBuf[i]=(iMAOnArray(RSIBuf,0,Trade_Signal_Line2,0,Trade_Signal_Type,i));
string Signal="", Signal2="",Signal2A="", Signal3="",Signal4="",Signal5="";
color TDI_col,TDI_col2,TDI_col3,TDI_col4;
if(Show_VISUAL_Alerts==true)
{
static double crossPrice;
int crossDirection;crossDirection =0;
if((MaBuf[0]>MbBuf[0])&&(MbBuf[0]<MdZone[0])&&(MaBuf[0]< MdZone[0])&&(MaBuf[0]>32)&&(MaBuf[0]<68)){Signal="?";TDI_col=SeaGreen;}
if((MaBuf[0]>MbBuf[0])&&(MbBuf[0]<MdZone[0])&&(MaBuf[0]< MdZone[0])&&(MaBuf[0]>32)&&(MaBuf[0]<68)){Signal2A="Weak Buy";TDI_col2=SeaGreen;}
if((MaBuf[0]>MbBuf[0])&&(MbBuf[0]<MdZone[0])&&(MaBuf[0]< MdZone[0])&&(MaBuf[0]>32)&&(MaBuf[0]<68)){Signal2=" @ "+DoubleToStr(crossPrice,Digits)+"";TDI_col2=SeaGreen;}
if((MaBuf[0]>MbBuf[0])&&(MbBuf[0]<MdZone[0])&&(MaBuf[0]< MdZone[0])&&(MaBuf[0]>32)&&(MaBuf[0]<68)){crossPrice=Bid;crossDirection =2;}
if((MaBuf[0]<MbBuf[0])&&(MbBuf[0]> MdZone[0])&&(MaBuf[0]> MdZone[0])&&(MaBuf[0]>32)&&(MaBuf[0]<68)){Signal="?";TDI_col=Orange;}
if((MaBuf[0]<MbBuf[0])&&(MbBuf[0]> MdZone[0])&&(MaBuf[0]> MdZone[0])&&(MaBuf[0]>32)&&(MaBuf[0]<68)){Signal2A="Weak Sell";TDI_col2=Orange;}
if((MaBuf[0]<MbBuf[0])&&(MbBuf[0]> MdZone[0])&&(MaBuf[0]> MdZone[0])&&(MaBuf[0]>32)&&(MaBuf[0]<68)){Signal2=" @ "+DoubleToStr(crossPrice,Digits)+"";TDI_col2=Orange;}
if((MaBuf[0]<MbBuf[0])&&(MbBuf[0]> MdZone[0])&&(MaBuf[0]> MdZone[0])&&(MaBuf[0]>32)&&(MaBuf[0]<68)){crossPrice=Bid;crossDirection =1;}
if((MaBuf[0]>MbBuf[0])&&(MbBuf[0]> MdZone[0])&&(MaBuf[0]>32)&&(MaBuf[0]<68)){Signal="?";TDI_col=Lime;}
if((MaBuf[0]>MbBuf[0])&&(MbBuf[0]> MdZone[0])&&(MaBuf[0]>32)&&(MaBuf[0]<68)){Signal2A="Strong Buy";TDI_col2=Lime;}
if((MaBuf[0]>MbBuf[0])&&(MbBuf[0]> MdZone[0])&&(MaBuf[0]>32)&&(MaBuf[0]<68)){Signal2=" @ "+DoubleToStr(crossPrice,Digits)+"";TDI_col2=Lime;}
if((MaBuf[0]>MbBuf[0])&&(MbBuf[0]> MdZone[0])&&(MaBuf[0]>32)&&(MaBuf[0]<68)){crossPrice=Bid;crossDirection =2;}
if((MaBuf[0]>MbBuf[0])&&(MaBuf[0]> MdZone[0])&&(MbBuf[0]< MdZone[0])&&(MaBuf[0]>32)&&(MaBuf[0]<68)){Signal2A="Medium Buy";TDI_col2=Green;}
if((MaBuf[0]>MbBuf[0])&&(MaBuf[0]> MdZone[0])&&(MbBuf[0]< MdZone[0])&&(MaBuf[0]>32)&&(MaBuf[0]<68)){Signal2=" @ "+DoubleToStr(crossPrice,Digits)+"";TDI_col2=Green;}
if((MaBuf[0]>MbBuf[0])&&(MaBuf[0]> MdZone[0])&&(MbBuf[0]< MdZone[0])&&(MaBuf[0]>32)&&(MaBuf[0]<68)){Signal5="?";TDI_col2=Green;}
if((MaBuf[0]>MbBuf[0])&&(MaBuf[0]> MdZone[0])&&(MbBuf[0]< MdZone[0])&&(MaBuf[0]>32)&&(MaBuf[0Показано первые 50% кода (символов: 10526)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.