aparabolic sar 2 histo_mtf+alerts+arrows - nmc.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «aparabolic sar 2 histo_mtf+alerts+arrows - nmc.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор рассчитывает аналитический индикатор Parabolic SAR на выбранном таймфрейме и отображает результаты в виде двух гистограмм в отдельном окне. Расчёт выполняется на основе сглаженных значений максимумов и минимумов цен с использованием простого скользящего среднего, что обеспечивает анализ ценовых данных на мультитаймфрейме.
При смене позиции SAR индикатор обновляет значения гистограмм и может запускать пользовательские сценарии уведомлений. Поддерживаются различные типы алертов: текстовые сообщения, звуковые сигналы, push-уведомления и электронная почта. Также индикатор способен отрисовывать стрелки на графике при изменении тренда.
Индикатор работает в платформе MetaTrader 5 и предназначен для технического анализа. Все входные параметры настраиваются пользователем, включая таймфрейм расчёта, параметры ускорения и ограничения SAR, а также визуальные настройки отображения.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм — Таймфрейм, на котором выполняется расчёт Parabolic SAR |
| AccStep | Шаг ускорения — Шаг увеличения ускорения SAR при каждом новом баре |
| AccLimit | Ограничение ускорения — Максимальное значение ускорения SAR, ограничивающее рост чувствительности индикатора |
| PriceHigh | Тип цены для максимумов — Тип цены для расчёта максимумов (сглаженных через SMA) |
| PriceLow | Тип цены для минимумов — Тип цены для расчёта минимумов (сглаженных через SMA) |
| alertsOn | Алерты включены — Включает или отключает все типы алертов |
| alertsOnCurrent | Проверка на текущем баре — Определяет, проверять смену тренда на текущем баре или на предыдущем |
| alertsMessage | Текстовые алерты — Включает отправку текстового алерта в окно экспертов при смене тренда |
| alertsSound | Звуковые алерты — Включает воспроизведение звукового сигнала при смене тренда |
| alertsNotify | Push-уведомления — Включает отправку push-уведомлений на устройство при смене тренда |
| alertsEmail | Алерты по email — Включает отправку уведомлений по электронной почте при смене тренда |
| soundFile | Звуковой файл — Путь к звуковому файлу для воспроизведения при алерте |
| ShowArrows | Отображение стрелок — Включает или отключает отрисовку стрелок при смене тренда |
| arrowsIdentifier | Идентификатор стрелок — Идентификатор объектов-стрелок на графике для их управления |
| arrowsUpperGap | Отступ стрелки вверх — Множитель отступа стрелки вверх от цены High в единицах ATR |
| arrowsLowerGap | Отступ стрелки вниз — Множитель отступа стрелки вниз от цены Low в единицах ATR |
| arrowsUpColor | Цвет стрелки восходящего тренда — Цвет стрелки для восходящего тренда |
| arrowsDnColor | Цвет стрелки нисходящего тренда — Цвет стрелки для нисходящего тренда |
| arrowsNuColor | Цвет стрелки нейтрального состояния — Цвет стрелки для нейтрального состояния |
| arrowsUpCode | Код стрелки восходящего тренда — Код стрелки для отображения при восходящем тренде |
| arrowsDnCode | Код стрелки нисходящего тренда — Код стрелки для отображения при нисходящем тренде |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 LimeGreen
#property indicator_color2 Red
#property indicator_width1 2
#property indicator_width2 2
#property indicator_minimum 0
#property indicator_maximum 1
extern string TimeFrame = "Current time frame";
extern double AccStep = 0.01;
extern double AccLimit = 0.1;
extern int PriceHigh = PRICE_HIGH;
extern int PriceLow = PRICE_LOW;
extern bool alertsOn = true;
extern bool alertsOnCurrent = true;
extern bool alertsMessage = true;
extern bool alertsSound = false;
extern bool alertsNotify = true;
extern bool alertsEmail = true;
extern string soundFile = "alert2.wav";
extern bool ShowArrows = true;
extern string arrowsIdentifier = "sar Arrows";
extern double arrowsUpperGap = 1.0;
extern double arrowsLowerGap = 1.0;
extern color arrowsUpColor = LimeGreen;
extern color arrowsDnColor = Red;
extern color arrowsNuColor = Gray;
extern int arrowsUpCode = 241;
extern int arrowsDnCode = 242;
double sarUp[];
double sarDn[];
double saraUp[];
double saraDn[];
double trend[];
int timeFrame;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
deleteArrows();
return(0);
}
int start()
{
// код доступен только после оплаты
}
double workSar[][7];
#define _high 0
#define _low 1
#define _ohigh 2
#define _olow 3
#define _open 4
#define _position 5
#define _af 6
void iParabolic(double high, double low, double step, double limit, double& pClose, double& pOpen, double& pPosition, double& pChange, int i)
{
if (ArrayRange(workSar,0)!=Bars) ArrayResize(workSar,Bars); i = Bars-i-1;
pChange = 0;
workSar[i][_ohigh] = high;
workSar[i][_olow] = low;
if (i<1)
{
workSar[i][_high] = high;
workSar[i][_low] = low;
workSar[i][_open] = high;
workSar[i][_position] = -1;
return;
}
workSar[i][_open] = workSar[i-1][_open];
workSar[i][_af] = workSar[i-1][_af];
workSar[i][_position] = workSar[i-1][_position];
workSar[i][_high] = MathMax(workSar[i-1][_high],high);
workSar[i][_low] = MathMin(workSar[i-1][_low] ,low );
if (workSar[i][_position] == 1)
if (low<=workSar[i][_open])
{
workSar[i][_position] = -1;
pChange = -1;
pClose = workSar[i][_high];
workSar[i][_high] = high;
workSar[i][_low] = low;
workSar[i][_af] = step;
workSar[i][_open] = pClose + workSar[i][_af]*(workSar[i][_low]-pClose);
if (workSar[i][_open]<workSar[i ][_ohigh]) workSar[i][_open] = workSar[i ][_ohigh];
if (workSar[i][_open]<workSar[i-1][_ohigh]) workSar[i][_open] = workSar[i-1][_ohigh];
}
else
{
pClose = workSar[i][_open];
if (workSar[i][_high]>workSar[i-1][_high] && workSar[i][_af]<limit) workSar[i][_af] = MathMin(workSar[i][_af]+step,limПоказано первые 50% кода (символов: 7001)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.