x10-rsi #2.mq4
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «x10-rsi #2.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой пользовательский индикатор для платформы MetaTrader 4, рассчитывающий значение RSI (Relative Strength Index) с настраиваемым периодом и типом цены. Индикатор отображает три буфера в отдельном окне: линию RSI и зоны перекупленности/перепроданности, выделяемые при превышении заданных пороговых значений.
Продукт создаёт на графике информационные метки с текущим значением RSI, спредом, ценой Bid и названием инструмента. При достижении RSI заданных уровней перекупленности или перепроданности возможна отрисовка стрелок-меток на графике.
Поддерживаются уведомления о пересечении пороговых уровней RSI в виде всплывающих сообщений, звуковых сигналов и email-рассылки. Перечень уведомлений настраивается пользователем. Дополнительно предусмотрен выбор таймфрейма для расчёта индикатора.
Настройки программы
| Настройка | Описание |
|---|---|
| RSIPeriod | Период RSI — Период расчёта индикатора RSI. |
| PriceType | Тип цены — Тип цены для расчёта RSI (0 — Close, 1 — Open, 2 — High, 3 — Low, 4 — Median, 5 — Typical, 6 — Weighted). |
| timeFrame | Таймфрейм — Таймфрейм для расчёта индикатора (например, M1, M5, H1, D1 и т. д.). |
| overBought | Уровень перекупленности — Пороговое значение RSI, выше которого индикатор считается перекупленным. |
| overSold | Уровень перепроданности — Пороговое значение RSI, ниже которого индикатор считается перепроданным. |
| showArrows | Отображать стрелки — Включает отрисовку стрелок-меток на графике при пересечении пороговых уровней RSI. |
| alertsOn | Уведомления включены — Общий переключатель включения всех уведомлений о пересечении уровней RSI. |
| alertsMessage | Всплывающие уведомления — Включает всплывающие сообщения при пересечении пороговых уровней RSI. |
| alertsSound | Звуковые уведомления — Включает звуковые уведомления при пересечении пороговых уровней RSI. |
| alertsEmail | Email-уведомления — Включает отправку email-уведомлений при пересечении пороговых уровней RSI. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 DimGray
#property indicator_color2 Aqua
#property indicator_color3 Yellow
#property indicator_width1 2
#property indicator_width2 3
#property indicator_width3 3
#property indicator_level1 60
#property indicator_level2 55
#property indicator_level3 45
#property indicator_level4 40
#property indicator_level5 70
#property indicator_level6 30
#property indicator_levelstyle 0
#property indicator_levelcolor DimGray
extern int RSIPeriod = 14;
extern int PriceType = 0;
extern string timeFrame = "Current time frame";
extern int overBought = 55;
extern int overSold = 45;
extern bool showArrows = false;
extern bool alertsOn = true;
extern bool alertsMessage = true;
extern bool alertsSound = false;
extern bool alertsEmail = false;
double RSIBuffer[];
double Upper[];
double Lower[];
int TimeFrame;
datetime TimeArray[];
int maxArrows;
bool show.extra.digit = false;
double DecNos;
double buffer.name, XARD;
color color3 = White;
int FontSize = 11;
string FontType = "Arial Black";
double myPoint;
double SetPoint()
{
double mPoint;
if (Digits < 4)
mPoint = 0.01;
else
mPoint = 0.0001;
return(mPoint);
}
int init()
{
// код доступен только после оплаты
}
int deinit()
{
DeleteArrows();
ObjectDelete(buffer.name+"Panel01");
ObjectDelete(buffer.name+"Panel02");
ObjectDelete("RSI14");
ObjectDelete("Spread");
ObjectDelete("x2");
ObjectDelete("x2b");
return(0);
}
int start()
{
// код доступен только после оплаты
}
RefreshRates();
if(show.extra.digit){int digit=1;int digitshift=-3;int digitshift1=-5;int digitshift2=3;int fontsize=4;int sprd=1;}
else{ digitshift=0;digitshift1=0;digitshift2=0;fontsize=0;sprd=0;}
if (StringFind (Symbol(), "JPY", 0) != -1){ DecNos = 2+digit;}
else if(Symbol()=="XAUUSD" || Symbol()=="XAUUSDm"){ DecNos = 1+digit; }
else if(Symbol()=="XAGUSD" || Symbol()=="XAGUSDm"){ DecNos = 2+digit; }
else { DecNos = 4+digit; }
CreateFX3_Labels(buffer.name+"Panel01", 6, 1, "gg", 28, "Webdings", Gray);
CreateFX3_Labels(buffer.name+"Panel02", 6,30, "gg", 28, "Webdings", Gray);
double RSI14=iRSI(NULL,0,14,PRICE_CLOSE,0);
CreateXX3_Labels( "RSI14",15,21);
ObjectSetText("RSI14", "RSI: "+DoubleToStr(RSI14,0), FontSize, FontType, Black);
double spread = (Ask-Bid)/myPoint;
CreateXX3_Labels("Spread",11,7);
ObjectSetText("Spread", "SPD: "+DoubleToStr(spread,1), FontSize-1, FontType, Black);
CreateXX3_Labels("x2", 10,34);
ObjectSetText("x2",DoubleToStr(Bid,DecNos) , 14, "Arial Black", White);
CreateXX3_Labels("x2b", 9,53);
ObjectSetText("x2b",Symbol() , 12, "Arial Bold", Black);
int counted_bars=IndicatorCounted();
int limit;
int i,y;
if(counted_bars<0) return(-1);
limit=Bars-counted_bars;
ArrayCopySeries(TimeArray ,MODE_TIME ,NULL,TimeFrame);
for(i=0,y=0; i<limit; i++)
{
if(Time[i]<TimeArray[y]) y++;
RSIBuffer[i] = iRSI(NULL,TimeFrame,RSIPeriod,PriceType,y);
}
for(i=limit; i>=0; i--)
{
if (RSIBuffer[i] > overBought) { Upper[i] = RSIBuffer[i]; Upper[i+1] = RSIBuffer[i+1]; }
else { Upper[i] = EMPTY_VALUE;
if (Upper[i+2] == EMPTY_VALUE)
Upper[i+1] = EMPTY_VALUE; }
if (RSIBuffer[i] < overSold) { Lower[i] = RSIBuffer[i]; Lower[i+1] = RSIBuffer[i+1]; }
else { Lower[i] = EMPTY_VALUE;
if (Lower[i+2] == EMPTY_VALUE)
Lower[i+1] = EMPTY_VALUE; }
}
if (showArrows)
for (i=0; i<WindowBarsPerChart() ;i++)
{
if (RSIBuffer[i]>overBought && RSIBuffer[i+1]<overBought) DrawArrow(i,"UP");
Показано первые 50% кода (символов: 6604)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.