nonlagrsi nrp mtf+alerts nmc.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «nonlagrsi nrp mtf+alerts nmc.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор рассчитывает сглаженный RSI (NonLag RSI) на основе скользящей средней без задержки и отображает его в отдельном окне MetaTrader 5. Поддерживается работа на разных таймфреймах, включая режим отображения данных с более высокого таймфрейма на текущем графике. Индикатор рисует точки при смене направления линии RSI и отображает уровни перекупленности и перепроданности.
Встроена система уведомлений, которая срабатывает при изменении наклона линии индикатора на текущем или предыдущем баре. Поддерживаются всплывающие сообщения, звуковые сигналы, email-уведомления и push-уведомления. Фильтр процентных изменений позволяет сглаживать значения индикатора при превышении заданного порога волатильности.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм для отображения индикатора. Может быть задан как название (например, H1, D1) или числовое значение. Специальные значения "calculateValue" и "returnBars" используются для мультитаймфреймового режима. По умолчанию "Current time frame". |
| RsiPeriod | Период расчёта индикатора RSI до применения сглаживания NonLagMA. По умолчанию 21. |
| NlmPeriod | Период расчёта скользящей средней без задержки (NonLagMA), используемой для сглаживания значений RSI. По умолчанию 5. |
| Price | Тип цены, используемый для расчёта индикатора. Соответствует стандартным константам цен MetaTrader (0 — Close и т.д.). По умолчанию 0. |
| PctFilter | Процентный фильтр волатильности. При значении больше нуля значения индикатора стабилизируются при малых изменениях, определяемых стандартным отклонением за период. По умолчанию 0 (фильтр отключён). |
| alertsOn | Главный переключатель системы уведомлений. При значении false все уведомления отключены. По умолчанию false. |
| alertsOnCurrent | Определяет, на каком баре отслеживать смену направления: на текущем (true) или на предыдущем (false). По умолчанию true. |
| alertsMessage | Включает всплывающие сообщения (Alert) при смене направления линии индикатора. |
| alertsSound | Включает звуковой сигнал при смене направления линии индикатора. |
| alertsEmail | Включает отправку email-уведомлений при смене направления линии индикатора. |
| alertsNotify | Включает push-уведомления для мобильного терминала при смене направления линии индикатора. |
| levelOb | Уровень перекупленности индикатора, отображаемый как горизонтальная линия. По умолчанию 70. |
| levelOs | Уровень перепроданности индикатора, отображаемый как горизонтальная линия. По умолчанию 30. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_minimum 0
#property indicator_maximum 100
#property indicator_buffers 3
#property indicator_color1 LimeGreen
#property indicator_color2 PaleVioletRed
#property indicator_color3 PaleVioletRed
#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 2
#property indicator_levelcolor DarkSlateGray
extern string TimeFrame = "Current time frame";
extern int RsiPeriod = 21;
extern int NlmPeriod = 5;
extern int Price = 0;
extern double PctFilter = 0;
extern bool alertsOn = false;
extern bool alertsOnCurrent = true;
extern bool alertsMessage = true;
extern bool alertsSound = false;
extern bool alertsEmail = false;
extern bool alertsNotify = false;
extern double levelOb = 70;
extern double levelOs = 30;
double rsi[];
double nlmDa[];
double nlmDb[];
double trend[];
string indicatorFileName;
bool returnBars;
bool calculateValue;
int timeFrame;
int init()
{
// код доступен только после оплаты
}
int deinit() { return(0); }
double work[][2];
#define _bchang 0
#define _achang 1
int start()
{
// код доступен только после оплаты
}
void manageAlerts()
{
if (alertsOn)
{
if (alertsOnCurrent)
int whichBar = 0;
else whichBar = 1;
if (trend[whichBar] != trend[whichBar+1])
{
if (trend[whichBar] == 1) doAlert(whichBar,"up");
if (trend[whichBar] == -1) doAlert(whichBar,"down");
}
}
}
void doAlert(int forBar, string doWhat)
{
static string previousAlert="nothing";
static datetime previousTime;
string message;
if (previousAlert != doWhat || previousTime != Time[forBar]) {
previousAlert = doWhat;
previousTime = Time[forBar];
message = StringConcatenate(Symbol()," ",timeFrameToString(Period())," at ",TimeToStr(TimeLocal(),TIME_SECONDS)," NonLagRsi slope changed to ",doWhat);
if (alertsMessage) Alert(message);
if (alertsEmail) SendMail(StrПоказано первые 50% кода (символов: 7083)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.