buy sell volume 2 mtf _amp_ alerts.mq5
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «buy sell volume 2 mtf _amp_ alerts.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой пользовательский индикатор для платформы MetaTrader 5, рассчитывающий и отображающий аналитические показатели давления объёма покупок и продаж. Индикатор использует четыре буфера данных для визуализации в отдельном окне: гистограммы покупочного и продавочного давления, а также сглаженные объёмы покупок и продаж.
В основе расчёта лежит сравнение текущей цены закрытия со скользящей средней (SMA) заданного периода. Если цена закрытия выше скользящей средней, объём считается покупочным, если ниже — продавочным. Полученные значения сглаживаются экспоненциально с коэффициентом, зависящим от периода сглаживания.
Индикатор поддерживает многотаймфреймовый режим: при необходимости данные могут считываться с более старших таймфреймов через обращение к самому себе с помощью iCustom, с возможностью интерполяции промежуточных значений. Доступны различные типы уведомлений — всплывающие сообщения, push-уведомления, звуковые сигналы и электронная почта, которые срабатывают при смене направления тренда.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм, на котором выполняется расчёт индикатора. Поддерживаются стандартные обозначения (M1, M5, H1, D1 и др.), а также специальное значение "returnBars" для возврата количества баров. |
| SmoothPeriod | Период сглаживания, используемый при экспоненциальном сглаживании значений объёма покупок и продаж, а также при расчёте скользящей средней для сравнения с ценой закрытия. |
| alertsOn | Включает или отключает систему уведомлений. При выключенном значении все типы алертов игнорируются. |
| alertsOnCurrent | Определяет, на каком баре срабатывают уведомления: на текущем (незакрытом) баре при значении true или на предыдущем закрытом баре при значении false. |
| alertsMessage | Включает или отключает отображение всплывающего сообщения на графике при срабатывании уведомления. |
| alertsPushNotif | Включает или отключает отправку push-уведомлений на мобильное устройство при срабатывании алерта. |
| alertsSound | Включает или отключает воспроизведение звукового сигнала при срабатывании уведомления. Используется звуковой файл alert2.wav. |
| alertsEmail | Включает или отключает отправку электронной почты при срабатывании уведомления об изменении направления тренда. |
| Interpolate | Включает или отключает интерполяцию данных при работе в многотаймфреймовом режиме. При активном значении промежуточные бары заполняются плавно, при выключенном — только по границам таймфреймов. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 4
#property indicator_color1 PaleVioletRed
#property indicator_color2 DeepSkyBlue
#property indicator_color3 DimGray
#property indicator_color4 DimGray
#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 2
#property indicator_width4 2
#property strict
extern string TimeFrame = "Current time frame"; // Time frame to use
extern int SmoothPeriod = 14; // smoothing period
extern bool alertsOn = false; // Turn alert on or off
extern bool alertsOnCurrent = true; // Alerts on current (still opened) bar
extern bool alertsMessage = true; // Alerts should show pop-up message
extern bool alertsPushNotif = false; // Alerts should send push notification
extern bool alertsSound = false; // Alerts should play a sound
extern bool alertsEmail = false; // Alerts should send email
extern bool Interpolate = true; // Interpolate in multi time frame mode
double bb[];
double bs[];
double vols[];
double volb[];
double trend[];
string indicatorFileName;
bool returnBars;
int timeFrame;
int init()
{
// код доступен только после оплаты
}
int start()
{
// код доступен только после оплаты
}
int counted_bars=IndicatorCounted();
if(counted_bars<0) return(-1);
if(counted_bars>0) counted_bars--;
int limit=MathMin(Bars-counted_bars,Bars-1);
if (returnBars) { bs[0] = MathMin(limit+1,Bars-1); return(0); }
if (timeFrame!=Period())
{
limit = (int)MathMax(limit,MathMin(Bars-1,iCustom(NULL,timeFrame,indicatorFileName,"returnBars",0,0)*timeFrame/Period()));
for(int i=limit; i>=0; i--)
{
int y = iBarShift(NULL,timeFrame,Time[i]);
bs[i] = iCustom(NULL,timeFrame,indicatorFileName,"",SmoothPeriod,alertsOn,alertsOnCurrent,alertsMessage,alertsPushNotif,alertsSound,alertsEmail,0,y);
bb[i] = iCustom(NULL,timeFrame,indicatorFileName,"",SmoothPeriod,alertsOn,alertsOnCurrent,alertsMessage,alertsPushNotif,alertsSound,alertsEmail,1,y);
vols[i] = iCustom(NULL,timeFrame,indicatorFileName,"",SmoothPeriod,alertsOn,alertsOnCurrent,alertsMessage,alertsPushNotif,alertsSound,alertsEmail,2,y);
volb[i] = iCustom(NULL,timeFrame,indicatorFileName,"",SmoothPeriod,alertsOn,alertsOnCurrent,alertsMessage,alertsPushNotif,alertsSound,alertsEmail,3,y);
if (!Interpolate || (y!=0 && y==iBarShift(NULL,timeFrame,Time[MathMax(i-1,0)]))) continue;
Показано первые 50% кода (символов: 4605)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.