3 MA Cross Magic with Alert
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «3 ma cross magic with alert.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор «3 MA Cross Magic with Alert» отображает на графике три скользящие средние (быструю, среднюю и медленную) и отслеживает их пересечения. Для каждой пары линий (быстрая–средняя, быстрая–медленная, средняя–медленная) рисуются стрелки вверх и вниз при смене направления тренда между средними. Поддерживается работа на разных таймфреймах: расчёт может выполняться на таймфрейме, отличном от графика, с интерполяцией значений между барамами.
Индикатор оснащён гибкой системой уведомлений. Срабатывание алертов можно настроить отдельно для каждой пары пересечений, а доставку сообщений выбрать из нескольких способов: всплывающее окно, push-уведомление, электронная почта или звуковой сигнал. Отображение стрелок и линий движущихся средних включается и выключается индивидуально.
Все параметры настраиваются пользователем: периоды и сдвиги каждой скользящей средней, метод усреднения, применяемая цена, тип таймфрейма, множители ATR для размещения стрелок и пороговые значения задержки. Индикатор предназначен для визуального анализа пересечений скользящих средних и автоматического оповещения трейдера о смене направления.
Настройки программы
| Настройка | Описание |
|---|---|
| TimeFrame | Таймфрейм, на котором выполняется расчёт индикатора. Может отличаться от таймфрейма текущего графика. |
| FasterMA | Период (количество баров) для быстрой скользящей средней. |
| FasterShift | Сдвиг в барах для отображения быстрой скользящей средней относительно текущего бара. |
| FasterMode | Метод усреднения для быстрой скользящей средней (например, простое, экспоненциальное и т. д.). |
| FasterPrice | Тип цены, используемой для расчёта быстрой скользящей средней (закрытие, открытие, высокая, низкая и т. д.). |
| MediumMA | Период (количество баров) для средней скользящей средней. |
| MediumShift | Сдвиг в барах для отображения средней скользящей средней относительно текущего бара. |
| MediumMode | Метод усреднения для средней скользящей средней. |
| MediumPrice | Тип цены, используемой для расчёта средней скользящей средней. |
| SlowerMA | Период (количество баров) для медленной скользящей средней. |
| SlowerShift | Сдвиг в барах для отображения медленной скользящей средней относительно текущего бара. |
| SlowerMode | Метод усреднения для медленной скользящей средней. |
| SlowerPrice | Тип цены, используемой для расчёта медленной скользящей средней. |
| showMAs | Включает или отключает отображение линий трёх скользящих средних на графике. |
| alertsOn | Главный переключатель, активирующий или деактивирующий все уведомления о пересечениях скользящих средних. |
| alertsOnCurrent | Определяет, генерируются ли алерты на текущем (формирующемся) баре или только на закрытых. |
| alertsOnFastCrossMiddle | Включает или отключает уведомления при пересечении быстрой и средней скользящих средних. |
| alertsOnFastCrossSlow | Включает или отключает уведомления при пересечении быстрой и медленной скользящих средних. |
| alertsOnMiddleCrossSlow | Включает или отключает уведомления при пересечении средней и медленной скользящих средних. |
| alertsMessage | Включает или отключает всплывающие сообщения (Alert) при пересечении скользящих средних. |
| alertsSound | Включает или отключает звуковой сигнал при пересечении скользящих средних. |
| alertsNotify | Включает или отключает отправку push-уведомлений на устройство при пересечении скользящих средних. |
| alertsEmail | Включает или отключает отправку уведомлений о пересечениях по электронной почте. |
| showarrows_ms | Включает или отключает отображение стрелок для пары «быстрая–средняя». |
| showarrows_fs | Включает или отключает отображение стрелок для пары «быстрая–медленная». |
| showarrows_fm | Включает или отключает отображение стрелок для пары «медленная–средняя». |
| arrowUpCode_ms | Код графического символа стрелки вверх для пары «быстрая–средняя». |
| arrowDownCode_ms | Код графического символа стрелки вниз для пары «быстрая–средняя». |
| arrowUpCode_fs | Код графического символа стрелки вверх для пары «быстрая–медленная». |
| arrowDownCode_fs | Код графического символа стрелки вниз для пары «быстрая–медленная». |
| arrowUpCode_fm | Код графического символа стрелки вверх для пары «медленная–средняя». |
| arrowDownCode_fm | Код графического символа стрелки вниз для пары «медленная–средняя» (быстрый выбор в библиотеке символов MetaTrader). |
| Interpolate | Включает или отключает интерполяцию значений скользящих средних между барами при работе на стороннем таймфрейме. |
| ArrowsOnFirstBar | Определяет, будут ли стрелки пересечения отображаться на первом видимом баре графика. |
| arrowsFMGap | Множитель ATR для определения вертикального смещения стрелок пары «медленная–средняя» от точки пересечения. |
| arrowsFSGap | Множитель ATR для определения вертикального смещения стрелок пары «быстрая–медленная» от точки пересечения. |
| arrowsMSGap | Множитель ATR для определения вертикального смещения стрелок пары «быстрая–средняя» от точки пересечения. |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 9
#property indicator_color1 Aqua
#property indicator_color2 Orange
#property indicator_color3 DodgerBlue
#property indicator_color4 Red
#property indicator_color5 Blue
#property indicator_color6 FireBrick
#property indicator_color7 Blue
#property indicator_color8 LimeGreen
#property indicator_color9 Red
#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 2
#property indicator_width4 2
#property indicator_width5 2
#property indicator_width6 2
#property indicator_width7 2
#property indicator_width8 2
#property indicator_width9 2
extern string TimeFrame = "Current time frame";
extern int FasterMA = 10;//5;
extern int FasterShift = 0;
extern ENUM_MA_METHOD FasterMode = 1;
extern ENUM_APPLIED_PRICE FasterPrice = PRICE_CLOSE;
extern int MediumMA = 20;
extern int MediumShift = 0;
extern ENUM_MA_METHOD MediumMode = 1;
extern ENUM_APPLIED_PRICE MediumPrice = PRICE_CLOSE;
extern int SlowerMA = 40;//34;
extern int SlowerShift = 0;
extern ENUM_MA_METHOD SlowerMode = 1;
extern ENUM_APPLIED_PRICE SlowerPrice = PRICE_CLOSE;
extern bool showMAs = true;
extern bool alertsOn = false;
extern bool alertsOnCurrent = true;
extern bool alertsOnFastCrossMiddle = true;
extern bool alertsOnFastCrossSlow = true;
extern bool alertsOnMiddleCrossSlow = true;
extern bool alertsMessage = true;
extern bool alertsSound = false;
extern bool alertsNotify = false;
extern bool alertsEmail = false;
extern bool showarrows_ms = false;//true;
extern bool showarrows_fs = true;
extern bool showarrows_fm = true;
extern int arrowUpCode_ms = 159;
extern int arrowDownCode_ms = 159;
extern int arrowUpCode_fs = 233;
extern int arrowDownCode_fs = 234;
extern int arrowUpCode_fm = 116;
extern int arrowDownCode_fm = 116;
extern bool Interpolate = true;
extern bool ArrowsOnFirstBar = false;
extern double arrowsFMGap = 0.50;
extern double arrowsFSGap = 0.75;
extern double arrowsMSGap = 1.00;
double CrossfmUp[];
double CrossfmDn[];
double CrossfsUp[];
double CrossfsDn[];
double CrossmsUp[];
double CrossmsDn[];
double ma1[];
double ma2[];
double ma3[];
double trendfm[];
double trendfs[];
double trendms[];
string indicatorFileName;
bool returnBars;
int timeFrame;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
return(0);
}
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 (FasterShift < 0) limit = MathMax(limit,-FasterShift);
if (MediumShift < 0) limit = MathMax(limit,-MediumShift);
if (SlowerShift < 0) limit = MathMax(limit,-SlowerShift);
if (returnBars) { CrossmsUp[0] = limit+1; return(0); }
if (timeFrame!=Period())
{
int shift = -1; if (ArrowsOnFirstBar) shift=1;
limit = 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]);
int x = iBarShift(NULL,timeFrame,Time[i+shift]);
ma1[i] = iCustom(NULL,timeFrame,indicatorFileName,"calculateValue",FasterMA,0,FasterMode,FasterPrice,MediumMA,0,MediumMode,MediumPrice,SlowerMA,0,SlowerMode,SlowerPrice,showMAs,alertsOn,alertsOnCurrent,alertsOnFastCrossMiddle,alertsOnFastCrossSlow,alertsOnMiddleCrossSlow,alertsMessage,alertsSound,alertsNotify,alertsEmail,showarrows_ms,showarrows_fs,showarrows_fm,6,y);
ma2[i] = iCustom(NULL,timeFrame,indicatorFileName,"calculateValue",FasterMA,0,FasterMode,FasterPrice,MediumMA,0,MediumMode,MediumPrice,SlowerMA,0,SlowerMode,SlowerPrice,showMAs,alertsOn,alertsOnCurrent,alertsOnFastCrossMiddle,alertsOnFastCrossSlow,alertsOnMiddleCrossSlow,alertsMessage,alertsSound,alertsNotify,alertsEmail,showarrows_ms,showarrows_fs,showarrows_fm,7,y);
ma3[i] = iCustom(NULL,timeFrame,indicatorFileName,"calculateValue",FasterMA,0,FasterMode,FasterPrice,MediumMA,0,MediumMode,MediumPrice,SlowerMA,0,SlowerMode,SlowerPrice,showMAs,alertsOn,alertsOnCurrent,alertsOnFastCrossMiddle,alertsOnFastCrossSlow,alertsOnMiddleCrossSlow,alertsMessage,alertsSound,alertsNotify,alertsEmail,showarrows_ms,showarrows_fs,showarrows_fm,8,y);
CrossfmUp[i] = EMPTY_VALUE;
CrossfmDn[i] = EMPTY_VALUE;
CrossfsUp[i] = EMPTY_VALUE;
CrossfsDn[i] = EMPTY_VALUE;
CrossmsUp[i] = EMPTY_VALUE;
CrossmsDn[i] = EMPTY_VALUE;
trendfm[i] = trendfm[i+1];
Показано первые 50% кода (символов: 9779)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.