DT-RSI-Sig
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «dt-rsi-sig.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный индикатор рассчитывает значение RSI (Relative Strength Index) заданного периода и отображает его в отдельном окне в виде линии. Помимо основной линии, индикатор выявляет локальные максимумы и минимумы RSI и отмечает их стрелками в отдельных буферах.
На основе обнаруженных экстремумов индикатор вычисляет динамические уровни поддержки и сопротивления с использованием линейной интерполяции между двумя последовательными точками. Когда значение RSI пересекает эти уровни при определённых условиях, генерируются сигналы покупки и продажи, которые отображаются стрелками и горизонтальными трендовыми объектами на графике.
Индикатор также перерисовывает графические объекты типа OBJ_TREND на графике при каждом обновлении, визуализируя ключевые уровни для текущего торгового инструмента. Все расчёты выполняются на основе ценовых данных закрытия свечей.
Настройки программы
| Настройка | Описание |
|---|---|
| PeriodRSI | Период расчёта индикатора RSI (Relative Strength Index). Определяет количество баров, используемых для усреднения при вычислении значения RSI. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_minimum 20
#property indicator_maximum 80
#property indicator_buffers 5
#property indicator_color1 Aqua
#property indicator_color2 Red
#property indicator_color3 Blue
#property indicator_color4 Red
#property indicator_color5 Blue
extern int PeriodRSI=14;
double ExtMapBuffer1[];
double ExtMapBuffer2[];
double ExtMapBuffer3[];
double ExtMapBuffer4[];
double ExtMapBuffer5[];
int init()
{
// код доступен только после оплаты
}
int deinit()
{
ObjectsDeleteAll(1, OBJ_TREND);
ObjectsRedraw();
return(0);
}
int start()
{
// код доступен только после оплаты
}
int k,limit,pos1,pos2,pos3,pos4;
int counted_bars=IndicatorCounted();
double rsi1,rsi2,rsi3,vol1,vol2,vol3,vol4;
if (counted_bars<0) return(-1);
if (counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
for (int i=0; i<limit; i++)
{
ExtMapBuffer1[i]=iRSI(NULL,0,PeriodRSI,PRICE_CLOSE,i);
rsi1=iRSI(NULL,0,PeriodRSI,PRICE_CLOSE,i+1);
rsi2=iRSI(NULL,0,PeriodRSI,PRICE_CLOSE,i+2);
rsi3=iRSI(NULL,0,PeriodRSI,PRICE_CLOSE,i+3);
if (rsi1<rsi2 && rsi2>rsi3) ExtMapBuffer5[i+2]=rsi2; //????????. RSI ???????????? ????
if (rsi1>rsi2 && rsi2<rsi3) ExtMapBuffer4[i+2]=rsi2; //???????. RSI ???????????? ?????
}
k=0;
for (i=0; i<500; i++)
{
if (ExtMapBuffer5[i]>40 && k==0) { vol1=ExtMapBuffer5[i]; pos1=i; k++;}
if (ExtMapBuffer5[i]>60 && ExtMapBuffer5[i]>vol1 && k!=0) { vol2=ExtMapBuffer5[i]; pos2=i; k++;}
if (k>1) break;
}
for Показано первые 50% кода (символов: 3373)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.