rsi_zones__1.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «rsi_zones__1.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой пользовательский индикатор для платформы MetaTrader 5, написанный на языке MQL5. Основная функция индикатора — расчёт показателя RSI (Relative Strength Index) с заданным периодом и типом цены, а также визуальное отображение зон на графике при пересечении настраиваемых верхнего и нижнего уровней.
Индикатор рисует прямоугольники на графике, окрашенные в зависимости от того, выше ли значение RSI верхнего уровня (зона роста), ниже нижнего уровня (зона падения) или находится в нейтральной области. Поддерживается работа на различных таймфреймах, включая перекрёстную временную шкалу.
Продукт оснащён системой уведомлений, которая срабатывает при смене состояния RSI. Доступны визуальные предупреждения на графике, звуковые сигналы и отправка электронных писем. Все параметры, включая уровни, цвета и тип уведомлений, настраиваются пользователем.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм, на котором работает индикатор. Может принимать текстовое обозначение (например, M1, H1, D1) или значение текущего таймфрейма. |
| RsiPeriod | Период расчёта индикатора RSI, задаваемый целым числом. |
| RsiPrice | Тип цены, используемый для расчёта RSI, задаваемый целочисленным значением. |
| LevelUp | Верхний уровень RSI. При значении индикатора выше этого уровня зона окрашивается в цвет зоны роста. |
| LevelDown | Нижний уровень RSI. При значении индикатора ниже этого уровня зона окрашивается в цвет зоны падения. |
| UniqueID | Уникальный идентификатор, используемый для именования графических объектов, создаваемых индикатором на графике. |
| ColorUp | Цвет прямоугольника, отображающего зону, в которой значение RSI выше верхнего уровня (зона роста). |
| ColorDown | Цвет прямоугольника, отображающего зону, в которой значение RSI ниже нижнего уровня (зона падения). |
| ColorNeutral | Цвет прямоугольника, отображающего нейтральную зону, в которой значение RSI находится между верхним и нижним уровнями. |
| alertsOn | Главный переключатель, включающий или отключающий всю систему уведомлений индикатора. |
| alertsOnCurrent | Переключатель, определяющий, на каком баре проверять смену состояния RSI: на текущем баре (true) или на предыдущем (false). |
| alertsMessage | Переключатель для отображения текстовых предупреждений (алертов) на графике при смене состояния RSI. |
| alertsSound | Переключатель для воспроизведения звукового сигнала при смене состояния RSI. |
| alertsEmail | Переключатель для отправки уведомлений по электронной почте при смене состояния RSI. |
| Dummy | Вспомогательное числовое значение, используемое для управления временной меткой при построении прямоугольников на графике. |
Поиск по коду файла
#property indicator_chart_window
extern string TimeFrame = "current time frame";
extern int RsiPeriod = 14;
extern int RsiPrice = 0;
extern double LevelUp = 65;
extern double LevelDown = 32;
extern string UniqueID = "Rsi zones";
extern color ColorUp = Green;
extern color ColorDown = Orange;
extern color ColorNeutral = CLR_NONE;
extern bool alertsOn = false;
extern bool alertsOnCurrent = true;
extern bool alertsMessage = true;
extern bool alertsSound = false;
extern bool alertsEmail = false;
extern double Dummy = -1;
double colors[];
int timeFrame;
string indicatorFileName;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
string lookFor = UniqueID+":";
int lookForLength = StringLen(lookFor);
for (int i=ObjectsTotal()-1; i>=0; i--)
{
string objectName = ObjectName(i);
if (StringSubstr(objectName,0,lookForLength) == lookFor) ObjectDelete(objectName);
}
return(0);
}
int start()
{
// код доступен только после оплаты
}
int i,counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit = MathMin(Bars-counted_bars,Bars-1);
datetime tDummy = Dummy;
if (timeFrame!=Period())
{
iCustom(NULL,timeFrame,indicatorFileName,"",RsiPeriod,RsiPrice,LevelUp,LevelDown,UniqueID,ColorUp,ColorDown,ColorNeutral,alertsOn,alertsOnCurrent,alertsMessage,alertsSound,alertsEmail,Time[0],0,0);
return(0);
}
else if (Dummy<=Time[0]) tDummy = Time[0];
static bool secondTime=false;
if (secondTime)
{
int count=0;
for (;limit<Bars; limit++) if (colors[limit]!=colors[limit+1]) { count++; if (count>1) break; }
}
else secondTime=true;
double MaxValue = High[0]*10.0;
for(i = limit; i>=0 ; i--)
{
if (i>Bars-2) continue;
double value = iRSI(NULL,0,RsiPeriod,RsiPrice,i);
colors[i] = 0;
if (value>LevelUp) colors[i] = 1;
if (value<LevelDown) colors[i] = -1;
Показано первые 50% кода (символов: 3392)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.