rsioma_nrp_mtfalertslines.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «rsioma_nrp_mtfalertslines.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор для MetaTrader 4, рассчитывающий значения RSI и скользящей средней, отображающий результаты в отдельном окне. Поддерживает многопериодный анализ и рисует вертикальные линии на графике при изменении направления тренда или наклона линии RSI. Имеет систему уведомлений, которая может отправлять сообщения, звуковые сигналы и электронные письма при наступлении заданных условий.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм — Задаёт период графика для расчёта и отображения данных индикатора. |
| RsiOma_Period | Период RSI MA — Определяет период усреднения, используемый при расчёте RSI. |
| RsiOma_Price | Цена RSI MA — Указывает тип цены, используемой при расчёте RSI. |
| RsiOma_Mode | Режим RSI MA — Задаёт метод сглаживания для расчёта RSI. |
| MaPeriod | Период MA — Период скользящей средней, рассчитываемой от значений RSI. |
| MaType | Тип MA — Метод сглаживания для скользящей средней RSI. |
| linesVisible | Видимость линий — Включает или отключает отрисовку линий-алертов на графике. |
| linesID | Идентификатор линий — Префикс имён графических объектов, используемых для отображения линий. |
| linesOnRsiMaCross | Линии при пересечении RSI и MA — Включает отрисовку вертикальных линий при изменении направления между RSI и её скользящей средней. |
| linesOnRsiMaCrossUpColor | Цвет при восходящем пересечении — Цвет линии, отображаемой при восходящем изменении направления. |
| linesOnRsiMaCrossDnColor | Цвет при нисходящем пересечении — Цвет линии, отображаемой при нисходящем изменении направления. |
| linesOnRsiMaCrossStyle | Стиль линий пересечения — Стиль отображения линий при пересечении RSI и MA. |
| linesOnRsiMaCrossWidth | Толщина линий пересечения — Толщина линий, рисуемых при пересечении RSI и MA. |
| linesOnSlope | Линии при изменении наклона — Включает отрисовку вертикальных линий при изменении направления наклона RSI. |
| linesOnSlopeUpColor | Цель при восходящем наклоне — Цвет линии, отображаемой при восходящем изменении наклона. |
| linesOnSlopeDnColor | Цвет при нисходящем наклоне — Цвет линии, отображаемой при нисходящем изменении наклона. |
| linesOnSlopeStyle | Стиль линий наклона — Стиль отображения линий при изменении наклона RSI. |
| linesOnSlopeWidth | Толщина линий наклона — Толщина линий, рисуемых при изменении наклона RSI. |
| levelOb | Уровень перекупленности — Значение уровня перекупленности, отображаемое на индикаторе. |
| levelOs | Уровень перепроданности — Значение уровня перепроданности, отображаемое на индикаторе. |
| alertsOn | Уведомления включены — Включает или отключает систему уведомлений индикатора. |
| alertsOnCurrent | Уведомления на текущем баре — Определяет, проверять ли условие на текущем или предыдущем баре. |
| alertsMessage | Сообщение — Включает вывод текстового уведомления в окно алертов. |
| alertsSound | Звуковой сигнал — Включает воспроизведение звукового файла при срабатывании уведомления. |
| alertsEmail | Электронная почта — Включает отправку email-уведомления при срабатывании условия. |
| soundfile | Звуковой файл — Имя файла звука, воспроизводимого при срабатывании уведомления. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 Lime
#property indicator_color2 Red
#property indicator_color3 Red
#property indicator_color4 White
#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 2
#property indicator_width4 2
#property indicator_levelcolor MediumOrchid
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_nrp";
extern bool linesOnRsiMaCross = false;
extern color linesOnRsiMaCrossUpColor = Lime;
extern color linesOnRsiMaCrossDnColor = Red;
extern int linesOnRsiMaCrossStyle = STYLE_SOLID;
extern int linesOnRsiMaCrossWidth = 3;
extern bool linesOnSlope = false;
extern color linesOnSlopeUpColor = Lime;
extern color linesOnSlopeDnColor = Red;
extern int linesOnSlopeStyle = STYLE_SOLID;
extern int linesOnSlopeWidth = 3;
extern double levelOb = 50;
extern double levelOs = 50;
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 rsida[];
double rsidb[];
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,rsida,rsidb);
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);
rsida[i] = EMPTY_VALUE;
rsidb[i] = EMPTY_VALUE;
slope[i] = slope[i+1];
trend[i] = trend[i+1];
if (rsi[i] > rsi[i+1]) slope[i]= 1;
if (rsi[i] < rsi[i+1]) slope[i]=-1;
if (rsi[i] > ma[i]) trend[i]= 1;
if (rsi[i] < ma[i]) trend[i]=-1;
if (slope[i] == -1) PlotPoint(i,rsida,rsidb,rsi);
if (linesVisible && window > -1)
{
string name = linesID+":"+Time[i];
ObjectDelete(name);
if (linesOnRsiMaCross)
{
if (trend[i]!= trend[i+1])
{
color theZColor = linesOnRsiMaCrossUpColor; if (trend[i]==-1) theZColor = linesOnRsiMaCrossDnColor;
ObjectCreate(name,OBJ_VLINE,window,Time[i],0);
ObjectSet(name,OBJPROP_WIDTH,linesOnRsiMaCrossWidth);
ObjectSet(name,OBJPROP_STYLE,linesOnRsiMaCrossStyle);
ObjectSet(name,OBJPROP_COLOR,theZColor);
}
}
if (linesOnSlope)
{
if (slope[i]!= slope[i+1])
{
color theSColor = linesOnSlopeUpColor; if (slope[i]==-1) theSColor = linesOnSlopeDnColor;
ObjectCreate(name,OBJ_VLINE,window,Time[i],0);
ObjectSet(name,OBJPROP_WIDTH,linesOnSlopeWidth);
Показано первые 50% кода (символов: 7401)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.