rsioma_slope_mtfalerts_1.01.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «rsioma_slope_mtfalerts_1.01.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой пользовательский индикатор для MetaTrader 4, отображаемый в отдельном окне. Он рассчитывает аналитический показатель на основе RSI, применённой к скользящей средней цены, после чего повторно сглаживает результат ещё одной скользящей средней и вычисляет её наклон (разность значений двух последовательных баров). Результат отрисовывается в виде трёх буферов в отдельном подокне графика.
Индикатор поддерживает работу на разных таймфреймах: параметр TimeFrame позволяет выбрать период расчёта, а при необходимости выполняется переключение на другой таймфрейм через внутренний вызов iCustom. Это обеспечивает анализ данных на старшем или младшем таймфрейме относительно текущего графика.
Предусмотрена визуальная настройка отображения: цвет, стиль и толщина линий, а также возможность отрисовки вертикальных линий при смене направления тренда. Доступна система уведомлений с настраиваемыми типами — всплывающие сообщения, звуковой сигнал и email-рассылка, которые срабатывают при изменении направления наклона показателя.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм — Таймфрейм, на котором выполняется расчёт индикатора (например, M1, H1, D1). |
| RsiOma_Period | Период RsiOma — Период первой скользящей средней и расчёта RSI, определяющий глубину анализа. |
| RsiOma_Price | Цена RsiOma — Тип цены, используемой для расчёта первой скользящей средней. |
| RsiOma_Mode | Режим RsiOma — Режим первой скользящей средней, применяемой к цене перед расчётом RSI. |
| MaPeriod | Период MA — Период второй скользящей средней, применяемой к значениям RSI для расчёта наклона. |
| MaType | Тип MA — Тип второй скользящей средней, используемой при расчёте наклона показателя. |
| LinesVisible | Видимость линий — Переключатель видимости вертикальных линий, отрисовываемых при смене направления тренда. |
| LinesID | Идентификатор линий — Идентификатор для линий и названия индикатора в окне, используемый при создании объектов на графике. |
| LinesUpColor | Цвет линий вверх — Цвет линий, отображаемых при восходящем тренде наклона. |
| LinesDnColor | Цвет линий вниз — Цвет линий, отображаемых при нисходящем тренде наклона. |
| LinesStyle | Стиль линий — Стиль отображения линий на графике (сплошной, пунктир и т.д.). |
| LinesWidth | Толщина линий — Толщина линий на графике. |
| alertsOn | Уведомления включены — Главный переключатель включения/выключения системы уведомлений. |
| alertsOnCurrent | Уведомления на текущем баре — Переключатель, определяющий, на каком баре проверять изменение наклона: текущем или предыдущем. |
| alertsMessage | Всплывающие сообщения — Переключатель отправки всплывающих сообщений (Alert) при смене направления наклона. |
| alertsSound | Звуковые уведомления — Переключатель воспроизведения звукового сигнала при смене направления наклона. |
| alertsEmail | Email-уведомления — Переключатель отправки email-уведомлений при смене направления наклона. |
| soundfile | Звуковой файл — Имя звукового файла, воспроизводимого при срабатывании звукового уведомления. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 LimeGreen
#property indicator_color2 Red
#property indicator_color3 Red
#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 2
#property indicator_level1 0
extern string TimeFrame = "Current time frame";
extern int RsiOma_Period = 14;
extern int RsiOma_Price = 0;
extern int RsiOma_Mode = MODE_LWMA;
extern int MaPeriod = 10;
extern int MaType = MODE_LWMA;
extern bool LinesVisible = false;
extern string LinesID = "Rsioma slope 1";
extern color LinesUpColor = LimeGreen;
extern color LinesDnColor = OrangeRed;
extern int LinesStyle = STYLE_SOLID;
extern int LinesWidth = 0;
extern string note = "turn on Alert = true; turn off = false";
extern bool alertsOn = false;
extern bool alertsOnCurrent = true;
extern bool alertsMessage = true;
extern bool alertsSound = false;
extern bool alertsEmail = false;
extern string soundfile = "alert2.wav";
double rsi[];
double slp[];
double slpda[];
double slpdb[];
double ma[];
double mab[];
double trend[];
double slope[];
string shortName;
string indicatorFileName;
int timeFrame;
bool returnBars;
bool calculateValue;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
string find = LinesID+":";
for (int i=ObjectsTotal()-1; i>= 0; i--)
{
string name = ObjectName(i); if (StringFind(name,find)==0) ObjectDelete(name);
}
return(0);
}
int start()
{
// код доступен только после оплаты
}
int counted_bars=IndicatorCounted();
int i,limit;
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
limit = MathMin(Bars-counted_bars,Bars-1);
if (returnBars) { rsi[0] = limit+1; return(0); }
if (calculateValue || timeFrame==Period())
{
int window = WindowFind(shortName);
if (slope[limit] == -1) ClearPoint(limit,slpda,slpdb);
for (i=limit; i >= 0; i--) mab[i] = iMA(NULL,0,RsiOma_Period,0,RsiOma_Mode,RsiOma_Price,i);
for (i=limit; i >= 0; i--) rsi[i] = iRSIOnArray(mab,0,RsiOma_Period,i);
for (i=limit; i >= 0; i--)
{
ma[i] = iMAOnArray(rsi,0,MaPeriod,0,MaType,i);
slp[i] = ma[i]-ma[i+1];
slpda[i] = EMPTY_VALUE;
slpdb[i] = EMPTY_VALUE;
slope[i] = slope[i+1];
trend[i] = trend[i+1];
if (slp[i] > slp[i+1]) slope[i]= 1;
if (slp[i] < slp[i+1]) slope[i]=-1;
if (slp[i] > 0) trend[i]= 1;
if (slp[i] < 0) trend[i]=-1;
if (slope[i] == -1) PlotPoint(i,slpda,slpdb,slp);
if (LinesVisible && window>-1)
{
string name = LinesID+":"+Time[i];
ObjectDelete(name);
if (trend[i]!=trend[i+1])
{
color theColor = LinesUpColor; if (trend[i]==-1) theColor = LinesDnColor;
ObjectCreate(name,OBJ_VLINE,window,Time[i],0);
ObjectSet(name,OBJPROP_WIDTH,LinesWidth);
ObjectSet(name,OBJPROP_STYLE,LinesStyle);
ObjectSet(name,OBJPROP_CПоказано первые 50% кода (символов: 5672)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.