TRO_RSi_WIN_5TF
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «tro_rsi_win_5tf_dotm1.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой пользовательский индикатор для MetaTrader 4, который рассчитывает индикатор RSI (Relative Strength Index) на пяти таймфреймах: M1, M5, M15, M30 и H1. Несмотря на имена переменных с префиксом CCI, в коде фактически используется функция iRSI для расчёта значений.
Рассчитанные значения RSI отображаются в виде текстовых меток на графике, причём каждый таймфрейм имеет собственное цветовое решение: положительные значения отображаются зелёным (Lime), отрицательные — красным (Red). Для таймфрейма M30 используются цвета Aqua и Yellow.
Индикатор также поддерживает отображение точек-индикаторов направления (Dots), которые показывают, выросло ли значение RSI или упало по сравнению с предыдущим баром. Эти точки можно включать и выключать настройкой ShowDots. Расположение всех меток на графике настраивается через параметры смещения по горизонтали и вертикали.
Индикатор работает в основном графике (indicator_chart_window) и использует пять буферов, хотя фактически отрисовывает объекты-метки (OBJ_LABEL), а не графические линии. При пересчёте все объекты удаляются и создаются заново.
Настройки программы
| Настройка | Описание |
|---|---|
| CCI1_Period | Период RSI для M1 — Целочисленный параметр, задающий период расчёта RSI для таймфрейма M1. |
| CCI5_Period | Период RSI для M5 — Целочисленный параметр, задающий период расчёта RSI для таймфрейма M5. |
| CCI15_Period | Период RSI для M15 — Целочисленный параметр, задающий период расчёта RSI для таймфрейма M15. |
| CCI30_Period | Период RSI для M30 — Целочисленный параметр, задающий период расчёта RSI для таймфрейма M30. |
| CCI60_Period | Период RSI для H1 — Целочисленный параметр, задающий период расчёта RSI для таймфрейма H1. |
| next to candles (CCI_WIN5D) | Режим размещения меток — Целочисленный параметр, определяющий режим размещения меток на графике. Значение 0 размещает метки рядом со свечами, значения 1-4 используют альтернативные координаты с другим вертикальным расположением. |
| Adj_UpDn | Смещение по вертикали — Числовой параметр, задающий вертикальное смещение (в пикселях) для размещения меток и точек на графике. Используется как базовое значение при расчёте координат Y для объектов OBJ_LABEL. |
| Adj_LtRt | Смещение по горизонтали — Числовой параметр, задающий горизонтальное смещение (в пикселях) для размещения всех меток и точек на графике. Используется как базовое значение при расчёте координат X для объектов OBJ_LABEL. |
| TextSize | Размер шрифта меток — Целочисленный параметр, задающий размер шрифта для текстовых меток значений RSI на графике. |
| ShowDots | Показывать точки направления — Логический переключатель (bool), включающий или отключающий отображение точек-индикаторов направления изменения RSI (по сравнению с предыдущим баром). При значении true точки отображаются, при false — скрыты. |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 5
#property indicator_color1 EMPTY
#property indicator_color2 EMPTY
#property indicator_color3 EMPTY
#property indicator_color4 EMPTY
#property indicator_color5 EMPTY
extern int CCI1_Period = 8 ;
extern int CCI5_Period = 3 ;
extern int CCI15_Period = 3 ;
extern int CCI30_Period = 3 ;
extern int CCI60_Period = 3 ;
extern int CCI_WIN5D = 0;// next to candles
extern int Adj_UpDn = 110;
extern int Adj_LtRt = 315;
extern int TextSize = 10;
extern bool ShowDots = true;
double CCI1W[];
double CCI5W[];
double CCI15W[];
double CCI30W[];
double CCI60W[];
int init()
{
// код доступен только после оплаты
}
int deinit()
{ Refresh();
return(0);
}
void start()
{
// код доступен только после оплаты
} Refresh();
int add_y;
int i,limit,LoopBegin;
int HHE,HVE, C1LH, C1LV, C5LH,C5LV, C15LH, C15LV, C30LH, C30LV, C60LH, C60LV ;
int C1LHD, C5LHD, C15LHD, C30LHD, C60LHD ;
if (CCI_WIN5D==0)
{
HHE = 820 +Adj_LtRt; HVE = 150 +Adj_UpDn ;
C1LH = 820 +Adj_LtRt; C1LV = 170 +Adj_UpDn ;
C5LH = 820 +Adj_LtRt; C5LV = 190 +Adj_UpDn ;
C15LH = 820 +Adj_LtRt; C15LV = 210 +Adj_UpDn ;
C30LH = 820 +Adj_LtRt; C30LV = 230 +Adj_UpDn ;
C60LH = 820 +Adj_LtRt; C60LV = 250 +Adj_UpDn ;
C1LHD = 810 +Adj_LtRt;//850
C5LHD = 810 +Adj_LtRt;
C15LHD = 810 +Adj_LtRt;//
C30LHD = 810 +Adj_LtRt;
C60LHD = 810 +Adj_LtRt;//
}
if (CCI_WIN5D==1||2||3||4)
{
HHE = 820 +Adj_LtRt; HVE = 10 +Adj_UpDn ;//820
C1LH = 820 +Adj_LtRt; C1LV = 25 +Adj_UpDn ;//820
C5LH = 820 +Adj_LtRt; C5LV = 45 +Adj_UpDn ;
C15LH = 820 +Adj_LtRt; C15LV = 65 +Adj_UpDn ;
C30LH = 820 +Adj_LtRt; C30LV = 85 +Adj_UpDn ;
C60LH = 820 +Adj_LtRt; C60LV = 105 +Adj_UpDn ; //820
C1LHD = 860 +Adj_LtRt;//850
C5LHD = 860 +Adj_LtRt;
C15LHD = 860 +Adj_LtRt;
C30LHD = 860 +Adj_LtRt;
C60LHD = 860 +Adj_LtRt;//850
}
for (i=LoopBegin; i>=0; i--) {
CCI1W[i] = iRSI(NULL, PERIOD_M1, CCI1_Period, PRICE_CLOSE, i);
CCI5W[i] = iRSI(NULL, PERIOD_M5, CCI5_Period, PRICE_CLOSE, i);
CCI15W[i] = iRSI(NULL, PERIOD_M15, CCI15_Period, PRICE_CLOSE, i);
CCI30W[i] = iRSI(NULL, PERIOD_M30, CCI30_Period, PRICE_CLOSE, i);
CCI60W[i] = iRSI(NULL, PERIOD_H1, CCI60_Period, PRICE_CLOSE, i);
double CCI1WP = iRSI(NULL, PERIOD_M1, CCI1_Period, PRICE_CLOSE, i+1);
double CCI5WP = iRSI(NULL, PERIOD_M5, CCI5_Period, PRICE_CLOSE, i+1);
double CCI15WP = iRSI(NULL, PERIOD_M15, CCI15_Period, PRICE_CLOSE, i+1);
double CCI30WP = iRSI(NULL, PERIOD_M30, CCI30_Period, PRICE_CLOSE, i+1);
double CCI60WP = iRSI(NULL, PERIOD_H1, CCI60_Period, PRICE_CLOSE, i+1);
ObjectCreate ("HEADINGE5D", OBJ_LABEL,CCI_WIN5D, 0, 0);
ObjectSetText("HEADINGE5D", " RSi-3 M1" , TextSize, "Tahoma Bold", Gold);
ObjectSet ("HEADINGE5D", OBJPROP_XDISTANCE, HHE);
ObjectSet ("HEADINGE5D", OBJPROP_YDISTANCE, HVE);
{ ObjectCreate("CCIT1_lab5", OBJ_LABEL,CCI_WIN5D, 0, 0);
if (CCI1W[i]>0 ){ObjectSetText("CCIT1_lab5","(M1) "+DoubleToStr(CCI1W[i],0)+" ", TextSize, "Tahoma Bold", Lime);}
if (CCI1W[i]<0 ){ObjectSetText("CПоказано первые 50% кода (символов: 6247)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.