magic dots
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «magic dots 2.02 mtf alerts.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор «magic dots» отображает на графике скользящую среднюю и формирует стрелочные сигналы при пересечении тренда. Расчёт выполняется на основе экспоненциальной скользящей средней (EMA) с настраиваемым периодом и применяемой ценой. Сигналы размещаются в виде стрелок выше и ниже ценового графика с заданным смещением.
Индикатор поддерживает работу на нескольких таймфреймах: при выборе таймфрейма, отличного от текущего, данные запрашиваются через вызов самого себя на старшем ТФ. Встроена система уведомлений с настраиваемыми типами — всплывающие сообщения, push-уведомления, звуковые сигналы и email-рассылка. Уведомления срабатывают при появлении новых сигналов buy/sell.
В качестве дополнительного фильтра для размещения стрелок используется значение ATR(20), которое задаёт дистанцию от цены High или Low. Индикатор использует 4 буфера: два для отрисовки линий скользящей средней и два для отображения стрелочных сигналов продажи и покупки.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм для расчёта индикатора. Если значение меньше текущего таймфрейма графика, используется таймфрейм графика. Значение 0 означает текущий таймфрейм. |
| ma_method | Метод расчёта скользящей средней (MODE_EMA, SMA, SMMA, LWMA). По умолчанию — экспоненциальная (EMA). |
| period | Период расчёта скользящей средней в барах. По умолчанию — 6. |
| shift | Сдвиг скользящей средней в барах относительно текущего. По умолчанию — 0. |
| applied_price | Тип цены, используемой для расчёта скользящей средней (PRICE_CLOSE, PRICE_OPEN, PRICE_HIGH, PRICE_LOW и др.). |
| alertsOn | Главный переключатель системы уведомлений. При отключении все типы уведомлений не срабатывают. |
| alertsOnCurrent | Определяет, на каком баре проверять наличие сигналов: на текущем (0) или на предыдущем закрытом (1). |
| alertsMessage | Включает или отключает всплывающие сообщения на графике при появлении сигналов. |
| alertsPushNotif | Включает или отключает push-уведомления на мобильных устройствах при появлении сигналов. |
| alertsSound | Включает или отключает звуковой сигнал при появлении сигналов. Используется звуковой файл alert2.wav. |
| alertsEmail | Включает или отключает отправку email-уведомлений при появлении сигналов. |
| Displace | Величина смещения стрелочных сигналов от цены High/Low, рассчитываемая как множитель ATR(20). |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 Red
#property indicator_color2 Blue
#property indicator_color3 Red
#property indicator_color4 Blue
double buf1[];
double buf2[];
double buf3[];
double buf_sell_signal[];
double buf_buyl_signal[];
extern int TimeFrame=0;
extern int ma_method = MODE_EMA;
extern int period= 6;
extern int shift = 0;
extern int applied_price= PRICE_CLOSE;
extern bool alertsOn = false;
extern bool alertsOnCurrent = false;
extern bool alertsMessage = true;
extern bool alertsPushNotif = false;
extern bool alertsSound = false;
extern bool alertsEmail = false;
extern double Displace = 0.75;
double var_112;
string fileName;
int init() {
// код доступен только после оплаты
}
int start() {
// код доступен только после оплаты
}
if (TimeFrame!=Period())
{
for (int i = Bars - 10; i >= 0; i--)
{
int y = iBarShift(NULL,TimeFrame,Time[i]);
int x = iBarShift(NULL,TimeFrame,Time[i+1]);
if (x!=y)
{
buf_sell_signal[i] = iCustom(NULL,TimeFrame,fileName,0,ma_method,period,shift,applied_price,alertsOn,alertsOnCurrent,alertsMessage,alertsPushNotif,alertsSound,alertsEmail,Displace,2,y);
buf_buyl_signal[i] = iCustom(NULL,TimeFrame,fileName,0,ma_method,period,shift,applied_price,alertsOn,alertsOnCurrent,alertsMessage,alertsPushNotif,alertsSound,alertsEmail,Displace,3,y);
}
else
{
buf_sell_signal[i] = EMPTY_VALUE;
buf_buyl_signal[i] = EMPTY_VALUE;
}
}
return(0);
}
for (i = Bars - 10; i >= 0; i--) buf3[i] = iMA(NULL, 0, period, shift, ma_method, applied_price, i);
if (buf3[0] > buf3[1]) {
buf1[0] = EMPTY_VALUE;
buf2[0] = buf3[0];
} else {
if (buf3[0] <Показано первые 50% кода (символов: 3574)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.