Dynamic RSI
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «dynamic rsi gr.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Dynamic RSI — это пользовательский индикатор для MetaTrader 5, разработанный Roman Kiverin. Он основан на расчёте стандартного индикатора RSI с дополнительной обработкой динамических зон покупки и продажи.
Индикатор вычисляет RSI за заданный период, определяет максимумы и минимумы за период обзора, а затем строит верхнюю и нижнюю динамические зоны с использованием настраиваемых множителей вероятности. Средняя линия рассчитывается как сумма линейно-взвешенного скользящего среднего дельты и минимума RSI.
При пересечении сглаженной RSI-линии верхней зоны рисуется стрелка вверх (сигнал покупки), при пересечении нижней зоны — стрелка вниз (сигнал продажи). Визуальные параметры линий, стрелок и цветов настраиваются через входные параметры.
Настройки программы
| Настройка | Описание |
|---|---|
| Buyers Dynamic Zone Probability (DZbuy) | Вероятность динамической зоны покупки — Множитель вероятности для верхней динамической зоны покупки |
| Sellers Dynamic Zone Probability (DZsell) | Вероятность динамической зоны продажи — Множитель вероятности для нижней динамической зоны продажи |
| Period RSI (PeriodRSI) | Период RSI — Период расчёта индикатора RSI |
| Look Back PeriodRSI (LookBack) | Период обзора RSI — Период обзора для определения максимумов и минимумов RSI |
| Sell Signall Color (MaxColor) | Цвет верхней динамической зоны — Цвет линии верхней динамической зоны |
| Buy Signall Color (MinColor) | Цвет нижней динамической зоны — Цвет линии нижней динамической зоны |
| Up Line Color (UpColor) | Цвет верхней линии — Цвет верхней линии |
| Middle Line Color (MiddleColor) | Цвет средней линии — Цвет средней линии |
| Down Line Color (DnColor) | Цвет нижней линии — Цвет нижней линии |
| RSI Line Color (RSIColor) | Цвет линии RSI — Цвет линии RSI |
| Width Line (Width) | Толщина линий — Толщина линий |
| Draw Graphic? (DrawGraphic) | Отображение стрелок — Включение отображения графических стрелок |
| Size Arrow (5 .. 50) (SizeArrow) | Размер стрелок — Размер стрелок (от 5 до 50) |
| Color Up Arrow (UpArrowColor) | Цвет стрелки вверх — Цвет стрелки вверх |
| Color Down Arrow (DnArrowColor) | Цвет стрелки вниз — Цвет стрелки вниз |
| Opaque Arrow (Opaque) | Непрозрачность стрелок — Непрозрачность стрелок |
| Up and Down Offset from Arrow (Offset) | Смещение стрелок — Смещение стрелок от точки сигнала |
| ID Name (ID) | Идентификатор имени — Идентификатор имени объекта |
Поиск по коду файла
#property version "1.0"
#property strict
#property description "Dynamic RSI\n "
#property indicator_separate_window
#property indicator_buffers 6
input double DZbuy = 0.1; // Buyers Dynamic Zone Probability
input double DZsell = 0.1; // Sellers Dynamic Zone Probability
input int PeriodRSI = 14; // Period RSI
input int LookBack = 60; // Look Back PeriodRSI
input color MaxColor = clrDarkOrchid; // Sell Signall Color
input color MinColor = clrDodgerBlue; // Buy Signall Color
input color UpColor = clrDarkGray; // Up Line Color
input color MiddleColor = clrGold; // Middle Line Color
input color DnColor = clrDarkGray; // Down Line Color
input color RSIColor = clrDarkSeaGreen; // RSI Line Color
input int Width = 2; // Width Line
input bool DrawGraphic = true; // Draw Graphic?
input int SizeArrow = 15; // Size Arrow (5 .. 50)
input color UpArrowColor = clrDarkOrchid; // Color Up Arrow
input color DnArrowColor = clrDodgerBlue; // Color Down Arrow
input uchar Opaque = 80; // Opaque Arrow
input int Offset = 10; // Up and Down Offset from Arrow
input string ID = "RSI ID "; // ID Name
double UpLineBuffer[];
double DnLineBuffer[];
double RSILineBuffer[];
double RSIValueBuffer[];
double MaxLineBuffer[];
double MinLineBuffer[];
double WMALineBuffer[];
double DeltaBuffer[];
double UpBuffer[];
double DnBuffer[];
double LineBuffer[];
uint UpDrawBuffer[], DnDrawBuffer[];
int XDraw, YDraw;
string UpResourceName, DnResourceName;
#define DrawArrow(Name, Rnm, Buff, time, prc, Anchor) \
if(DrawGraphic) \
if(ObjectFind(Name) < 0) \
{ \
ObjectCreate(0, Name, OBJ_BITMAP, 0, 0, 0); \
ObjectSetInteger(0, Name, OBJPROP_TIME, 0, time); \
ObjectSetDouble(0, Name, OBJPROP_PRICE, 0, prc); \
ObjectSetInteger(0, Name, OBJPROP_ANCHOR, Anchor); \
ObjectSetInteger(0, Name, OBJPROP_SELECTABLE, false); \
ObjectSetString(0, Name, OBJPROP_BMPFILE, Rnm); \
ResourceCreate(Rnm, Buff, XDraw, YDraw, 0, 0, 0, COLOR_FORMAT_ARGB_NORMALIZE); \
} \
else \
if(ObjectGetDouble(0, Name, OBJPROP_PRICE) != prc) \
ObjectMove(Name, 0 , time, prc);
#define GetName(i) ID + TimeToString(Time[i])
#define UpArrow(i) DrawArrow(GetName(i), UpResourceName, UpDrawBuffer, Time[i], High[i], ANCHOR_LOWER)
#define DnArrow(i) DrawArrow(GetName(i), DnResourceName, DnDrawBuffer, Time[i], Low[i], ANCHOR_UPPER)
#define Delete(i) if(DrawGraphic) ObjectDelete(0,GetName(i))
void OnDeinit(const int reason)
{
ObjectsDeleteAll(0, ID, 0);
}
int OnInit()
{
// код доступен только после оплаты
}
if(DrawGraphic)
{
UpResourceName = "::Arrow Up";
DnResourceName = "::Arrow Down";
XDraw = SizeArrow * 2 + 1;
YDraw = SizeArrow * 2 + Offset;
ArrayResize(UpDrawBuffer, XDraw * YDraw);
ArrayResize(DnDrawBuffer, XDraw * YDraw);
ArrayIПоказано первые 50% кода (символов: 5256)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.