rsioma_slope_mtfalerts_1.02(1).mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «rsioma_slope_mtfalerts_1.02(1).mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор для MetaTrader 4, выполняющий анализ направления изменения RSI-OMA с поддержкой многочасовых таймфреймов. Отображает результаты расчёта в отдельном окне графика и предоставляет визуальные маркеры в виде вертикальных линий на основном графике. Поддерживает уведомления через всплывающие сообщения, звуковые сигналы и электронную почту.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм — Выбор таймфрейма для анализа; может быть текущим, специальным режимом расчёта значения или возврата баров, либо указан явно. |
| RsiOma_Period | Период RSI-OMA — Период расчёта RSI на основе сглаженной цены. |
| RsiOma_Price | Цена RSI-OMA — Тип цены, используемый при расчёте RSI-OMA. |
| RsiOma_Mode | Режим RSI-OMA — Метод сглаживания для расчёта RSI-OMA. |
| MaPeriod | Период MA — Период скользящей средней, применяемой к значениям RSI. |
| MaType | Тип MA — Метод сглаживания для скользящей средней RSI. |
| linesVisible | Видимость линий — Включает или отключает отрисовку вертикальных линий на графике. |
| linesID | Идентификатор линий — Префикс имени объектов для вертикальных линий. |
| linesOnZeroCross | Линии при пересечении нуля — Отображение вертикальных линий при смене направления тренда относительно нуля. |
| linesOnZeroCrossUpColor | Цель пересечения вверх — Цвет линии при пересечении нуля вверх. |
| linesOnZeroCrossDnColor | Цель пересечения вниз — Цвет линии при пересечении нуля вниз. |
| linesOnZeroCrossStyle | Стиль пересечения нуля — Стиль линии при пересечении нуля. |
| linesOnZeroCrossWidth | Толщина пересечения нуля — Толщина линии при пересечении нуля. |
| linesOnSlope | Линии при изменении наклона — Отображение вертикальных линий при смене направления наклона. |
| linesOnSlopeUpColor | Цель наклона вверх — Цвет линии при изменении наклона вверх. |
| linesOnSlopeDnColor | Цель наклона вниз — Цвет линии при изменении наклона вниз. |
| linesOnSlopeStyle | Стиль наклона — Стиль линии при изменении наклона. |
| linesOnSlopeWidth | Толщина наклона — Толщина линии при изменении наклона. |
| alertsOn | Включить уведомления — Общая включение системы уведомлений. |
| alertsOnCurrent | Уведомления на текущем баре — Применение уведомлений к текущему бару вместо предыдущего. |
| alertsMessage | Уведомление сообщением — Вывод всплывающего сообщения при срабатывании. |
| alertsSound | Уведомление звуком — Воспроизведение звукового файла при срабатывании. |
| alertsEmail | Уведомление email — Отправка электронного письма при срабатывании. |
| soundfile | Файл звука — Имя звукового файла для уведомлений. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 Lime
#property indicator_color2 Red
#property indicator_color3 Red
#property indicator_width1 5
#property indicator_width2 5
#property indicator_width3 5
#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 bool linesOnZeroCross = false;
extern color linesOnZeroCrossUpColor = Lime;
extern color linesOnZeroCrossDnColor = Red;
extern int linesOnZeroCrossStyle = STYLE_SOLID;
extern int linesOnZeroCrossWidth = 3;
extern bool linesOnSlope = false;
extern color linesOnSlopeUpColor = Lime;
extern color linesOnSlopeDnColor = Red;
extern int linesOnSlopeStyle = STYLE_SOLID;
extern int linesOnSlopeWidth = 3;
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 (linesOnZeroCross)
{
if (trend[i]!=trend[i+1])
{
color theZColor = linesOnZeroCrossUpColor; if (trend[i]==-1) theZColor = linesOnZeroCrossDnColor;
ObjectCreate(name,OBJ_VLINE,window,Time[i],0);
ObjectSet(name,OBJPROP_WIDTH,linesOnZeroCrossWidth);
ObjectSet(name,OBJPROP_STYLE,linesOnZeroCrossStyle);
ObjectSet(name,OBJPROP_COLOR,theZColor);
}
}
if (linesOnSlope)
{
if (slope[i]!=slope[i+1])
Показано первые 50% кода (символов: 6577)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.