MACD_Mirror
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «macd_mirror_alerts_mtf_2.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор MACD_Mirror — пользовательский технический индикатор для платформы MetaTrader, анализирующий динамику ценовых данных на основе вычислений, вдохновлённых методологией MACD. Индикатор отображает три графических буфера в отдельном окне и определяет текущее направление тренда по соотношению двух рассчитанных значений.
Поддерживает работу на нескольких таймфреймах: при выборе интервала, отличного от текущего, данные берутся из соответствующего графика через вызов пользовательского индикатора. Это позволяет анализировать старшие или младшие таймфреймы прямо на текущем графике.
Встроенная система уведомлений срабатывает при смене направления тренда. Доступны текстовые алерты, звуковые сигналы, push-уведомления и электронная почта. Можно выбирать проверку текущего или предыдущего бара, а также настраивать звуковой файл оповещения.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм, на котором выполняется расчёт индикатора. При значении PERIOD_CURRENT используется таймфрейм графика. При выборе другого интервала данные берутся из соответствующего графика. |
| PeriodeEMA | Период экспоненциальной скользящей средней, используемой при расчёте основного значения индикатора. Чем больше значение, тем сглаженнее результат и медленнее реагирует на изменение цены. |
| SignalSMA | Период простой скользящей средней, применяемой для построения сигнальной линии индикатора. Определяет степень сглаживания сигнального буфера. |
| alertsOn | Главный переключатель системы уведомлений. При значении false все виды оповещений отключены, независимо от настроек остальных параметров. |
| alertsOnCurrent | Определяет, на каком баре выполняется проверка смены тренда. При значении true проверяется текущий формирующийся бар, при false — предыдущий завершённый бар. |
| alertsMessage | Переключатель отображения текстового окна-оповещения при смене направления тренда. При значении true выводится сообщение с информацией о текущем состоянии. |
| alertsSound | Переключатель воспроизведения звукового сигнала при смене направления тренда. Звуковой файл задаётся параметром soundFile. |
| alertsNotify | Переключатель отправки push-уведомления на мобильное устройство терминала при смене направления тренда. Требуется включённая функция push-уведомлений в настройках MetaTrader. |
| alertsEmail | Переключатель отправки электронного уведомления при смене направления тренда. При значении true письмо отправляется на адрес, указанный в настройках терминала. |
| soundFile | Имя звукового файла, который воспроизводится при срабатывании звукового оповещения. Файл должен находиться в каталоге звуков терминала. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_color1 Blue
#property indicator_color2 Red
#property indicator_color3 Black
#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 0
#property indicator_level1 0
#property indicator_levelcolor Yellow
extern ENUM_TIMEFRAMES TimeFrame = PERIOD_CURRENT;
extern int PeriodeEMA = 288;
extern int SignalSMA = 256;
extern bool alertsOn = true;
extern bool alertsOnCurrent = false;
extern bool alertsMessage = true;
extern bool alertsSound = false;
extern bool alertsNotify = true;
extern bool alertsEmail = true;
extern string soundFile = "alert2.wav";
double MacdBuffer[];
double Macd2Buffer[];
double SignalBuffer[];
double trend[];
string indicatorFileName;
bool returnBars;
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) { MacdBuffer[0] = limit+1; return(0); }
if (TimeFrame!=Period())
{
limit = MathMax(limit,MathMin(Bars-1,iCustom(NULL,TimeFrame,indicatorFileName,-99,0,0)*TimeFrame/Period()));
for (int i=limit; i>=0; i--)
{
int y = iBarShift(NULL,TimeFrame,Time[i]);
MacdBuffer[i] = iCustom(NULL,TimeFrame,indicatorFileName,PERIOD_CURRENT,PeriodeEMA,SignalSMA,alertsOn,alertsOnCurrent,alertsMessage,alertsSound,alertsNotify,alertsEmail,soundFile,0,y);
Macd2Buffer[i] = iCustom(NULL,TimeFrame,indicatorFileName,PERIOD_CURRENT,PeriodeEMA,SignalSMA,alertsOn,alertsOnCurrent,alertsMessage,alertsSound,alertsNotify,alertsEmail,soundFile,1,y);
SignalBuffer[i] = iCustom(NULL,TimeFrame,indicatorFileName,PERIOD_CURRENT,PeriodeEMA,SignalSMA,alertsOn,alertsOnCurrent,alertsMessage,alertsSound,alertsNotify,alertsEmaiПоказано первые 50% кода (символов: 3997)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.