Rsi zones
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «rsi_zones.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Этот файл является пользовательским индикатором для MetaTrader 5, который отображает зоны на графике на основе значений RSI. Индикатор рассчитывает RSI с заданными параметрами и выделяет области, где значение RSI выше верхнего уровня или ниже нижнего уровня, с помощью цветных прямоугольников. Также предусмотрены уведомления при смене зоны.
Индикатор работает в окне графика, использует один буфер для хранения цветовых меток и создает графические объекты для визуализации зон. Поддерживается выбор таймфрейма, отличного от текущего, с перенаправлением расчета на указанный таймфрейм. Уведомления могут выводиться в виде всплывающих сообщений, звукового сигнала или письма на email.
Настройки позволяют задать период RSI, цену для расчета, уровни, цвета для разных зон, уникальный идентификатор для объектов и параметры уведомлений. Индикатор не выполняет торговых операций и предназначен только для анализа и визуализации.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм для расчета индикатора. Можно указать 'current time frame' для текущего таймфрейма или строковое обозначение (например, 'H1', 'M15'). |
| RsiPeriod | Период усреднения для расчета RSI. |
| RsiPrice | Тип цены, используемый для расчета RSI (например, 0 - Close, 1 - Open и т.д.). |
| LevelUp | Верхний уровень RSI, выше которого зона считается верхней. |
| LevelDown | Нижний уровень RSI, ниже которого зона считается нижней. |
| UniqueID | Уникальный идентификатор для имен графических объектов, создаваемых индикатором. Используется для удаления объектов при деинициализации. |
| ColorUp | Цвет прямоугольника для зоны, где значение RSI выше верхнего уровня. |
| ColorDown | Цвет прямоугольника для зоны, где значение RSI ниже нижнего уровня. |
| ColorNeutral | Цвет прямоугольника для нейтральной зоны, где значение RSI находится между уровнями. Если установлено CLR_NONE, прямоугольник не отображается. |
| alertsOn | Включает или отключает все уведомления о смене зоны. |
| alertsOnCurrent | Если включено, уведомления проверяются на текущем (незавершенном) баре; иначе на предыдущем завершенном баре. |
| alertsMessage | Если включено, при смене зоны выводится всплывающее сообщение. |
| alertsSound | Если включено, при смене зоны воспроизводится звуковой сигнал. |
| alertsEmail | Если включено, при смене зоны отправляется уведомление на email. |
| Dummy | Служебный параметр, используемый для управления временем последнего расчета. При значении -1 не влияет на работу. |
Поиск по коду файла
#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 = Gold;
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% кода (символов: 3405)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.