← К каталогу
Исходный код · ID 3750

MA Cross Alert

ma cross alert_5974369984854366956.mq5
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

«MA Cross Alert» — это пользовательский индикатор для MetaTrader 4, который рассчитывает скользящую среднюю и отображает её на графике цены. Индикатор поддерживает несколько методов расчёта скользящей средней, включая простую, экспоненциальную, сглаженную, линейно-взвешенную и Hull-вариант. Основная задача — выявлять пересечения цены и скользящей средней и сигнализировать о них пользователю.

При обнаружении пересечения индикатор рисует стрелки на графике с указанием направления сигнала (покупка или продажа). Внешний вид стрелок — их тип, цвет и размер — настраивается пользователем. Также доступна система уведомлений: индикатор может отправлять звуковые предупреждения, email-сообщения и push-уведомления на мобильное устройство.

Индикатор позволяет анализировать заданное количество баров и настраивать, какое свечение (текущее или закрытое) использовать для определения сигнала. Есть возможность игнорировать повторные пересечения внутри одного свечения. Все параметры задаются через входные настройки, что обеспечивает гибкость в использовании.

Настройки программы

НастройкаОписание
MQLTA Moving Average With Alert (Comment1) Комментарий 1 — Текстовый комментарий заголовка настроек.
Indicator Short Name (IndicatorName) Имя индикатора — Короткое имя индикатора, отображаемое на графике.
Indicator Parameters (Comment2) Комментарий 2 — Текстовый комментарий раздела параметров.
Moving Average Period (MAPeriod) Период скользящей средней — Период скользящей средней (количество баров).
Moving Average Shift (MAShift) Сдвиг скользящей средней — Сдвиг скользящей средней по горизонтали.
Moving Average Method (MAMethod) Метод скользящей средней — Метод расчёта скользящей средней: SMA, EMA, SMMA, LWMA или Hull.
Moving Average Applied Price (MAAppliedPrice) Применяемая цена — Применяемая цена для расчёта скользящей средней.
Candle To Use For Analysis (CandleToCheck) Свечение для анализа — Выбор свечения для анализа: текущее или закрытое.
Ignore Same Candle Crosses (IgnoreSameCandleCrosses) Игнорировать пересечения внутри свечения — Игнорирует повторные пересечения внутри одного свечения.
Number Of Candles To Analyse (BarsToScan) Количество баров для анализа — Количество баров для анализа.
Notification Options (Comment_3) Комментарий уведомлений — Текстовый комментарий раздела уведомлений.
Enable********s Feature (EnableNotify) Уведомления включены — Включает или отключает систему уведомлений.
Send Alert******** (SendAlert) Отправлять звуковое предупреждение — Отправляет звуковое предупреждение (Alert) при сигнале.
Send******** to Mobile (SendApp) Отправлять push-уведомление — Отправляет push-уведомление на мобильное устройство при сигнале.
Send******** via Email (SendEmail) Отправлять email — Отправляет email-сообщение при сигнале.
Drawing Options (Comment_4) Комментарий отображения — Текстовый комментарий раздела отображения.
Draw Signal Arrows (EnableDrawArrows) Отрисовка стрелок — Включает или отключает отрисовку стрелок-сигналов на графике.
Buy Arrow Code (ArrowBuy) Стрелка покупки — Код стрелки для сигнала покупки (OBJ_ARROW).
Sell Arrow Code (ArrowSell) Стрелка продажи — Код стрелки для сигнала продажи (OBJ_ARROW).
Buy Arrow Color (ArrowBuyColor) Цвет стрелки покупки — Цвет стрелки сигнала покупки.
Sell Arrow Color (ArrowSellColor) Цвет стрелки продажи — Цвет стрелки сигнала продажи.
Arrow Size (1-5) (ArrowSize) Размер стрелок — Толщина стрелок (1–5).
Получить полный код

Поиск по коду файла

#property version       "1.041"
#property strict

#property description   "A classic moving average with alerts."
#property description   " "
#property description   "WARNING: Use this software at your own risk."
#property description   "The creator of these plugins cannot be held responsible for any damage or loss."
#property description   " "
#property description   "Find More on www.tradesmartfxtools.in"

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 clrRed

#include <MQLTA ErrorHandling.mqh>
#include <MQLTA Utils.mqh>

enum ENUM_TRADE_SIGNAL
{
    SIGNAL_BUY = 1,    // BUY
    SIGNAL_SELL = -1,  // SELL
    SIGNAL_NEUTRAL = 0 // NEUTRAL
};

enum ENUM_CANDLE_TO_CHECK
{
    CURRENT_CANDLE = 0, // CURRENT CANDLE
    CLOSED_CANDLE = 1   // PREVIOUS CANDLE
};

enum ENUM_MA_METHOD_EXTENDED
{
    EXT_MODE_SMA,  // Simple averaging
    EXT_MODE_EMA,  // Exponential averaging
    EXT_MODE_SMMA, // Smoothed averaging
    EXT_MODE_LWMA, // Linear-weighted averaging
    EXT_MODE_HULL  // Hull MA
};

input string Comment1 = "========================"; // MQLTA Moving Average With Alert
input string IndicatorName = "MA Cross Alert";          // Indicator Short Name
input string Comment2 = "========================"; // Indicator Parameters
input int MAPeriod = 25;                            // Moving Average Period
input int MAShift = 0;                              // Moving Average Shift
input ENUM_MA_METHOD_EXTENDED MAMethod = EXT_MODE_SMA; // Moving Average Method
input ENUM_APPLIED_PRICE MAAppliedPrice = PRICE_CLOSE; // Moving Average Applied Price
input ENUM_CANDLE_TO_CHECK CandleToCheck = CURRENT_CANDLE; // Candle To Use For Analysis
input bool IgnoreSameCandleCrosses = false;         // Ignore Same Candle Crosses
input int BarsToScan = 500;                         // Number Of Candles To Analyse
input string Comment_3 = "======================="; //************* Options
input bool EnableNotify = false;                    // Enable*************s Feature
input bool SendAlert = true;                        // Send Alert*************
input bool SendApp = false;                         // Send************* to Mobile
input bool SendEmail = false;                       // Send************* via Email
input string Comment_4 = "======================="; // Drawing Options
input bool EnableDrawArrows = true;                 // Draw Signal Arrows
input int ArrowBuy = 241;                           // Buy Arrow Code
input int ArrowSell = 242;                          // Sell Arrow Code
input color ArrowBuyColor = clrGreen;               // Buy Arrow Color
input color ArrowSellColor = clrRed;                // Sell Arrow Color
input int ArrowSize = 3;                            // Arrow Size (1-5)

double BufferMA[];

datetime LastNotificationTime;
ENUM_TRADE_SIGNAL LastNotificationDirection;
double MALevel = 0; // For horizontal line cross signals.
int Shift = 0;

int OnInit()
{
      // код доступен только после оплаты
   }

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
{
      // код доступен только после оплаты
   }

void OnDeinit(const int reason)
{
    CleanChart();
}

void OnInitInitialization()
{
    LastNotificationTime = TimeCurrent();
    Shift = CandleToCheck;
}

bool OnInitPreChecksPass()
{
    if (MAPeriod <= 0)
    {
        Print("MA Period should be a positive number.");
        return false;
    }
    return true;
}

void CleanChart()
{
    ObjectsDeleteAll(ChartID(), IndicatorName);
}

void InitialiseBuffers()
{
    IndicatorDigits(Digits);
    SetIndexStyle(0, DRAW_LINE);
    SetIndexBuffer(0, BufferMA);
    SetIndexShift(0, 0);
    SetIndexLabel(0

Показано первые 50% кода (символов: 8295)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
829,50₽ ≈ $10.14