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

RagheeHorner

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

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

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

О программе

RagheeHorner — это пользовательский индикатор для MetaTrader 5, основанный на методе торговли Raghee Hornerа. Индикатор отображает на графике три линии волны 34EMA (High, Close, Low) и свечные графики GRaB (Green-Red-Blue), цвет которых определяется соотношением цены и волны EMA.

Свечи окрашиваются в три цвета: зелёный (бычий тренд — бар полностью выше волны), красный (медвежий тренд — бар полностью ниже волны) и синий (нейтральный тренд — бар пересекает волну). Пользователь может настраивать период EMA, метод скользящей средней, цвета свечей и отображение отдельных элементов.

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

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

НастройкаОписание
EMA_Period Период расчёта волны 34EMA.
MA_Mode Метод расчёта скользящей средней (EMA, SMA и т.д.).
TimeFrame Таймфрейм для расчёта (выше текущего включает MTF).
CountBars Количество баров для расчёта (0 = все).
ShowEMAWave Показывать линии волны 34EMA на графике.
ShowGRaBCandles Показывать свечные графики GRaB на графике.
EMAHighColor Цвет линии 34EMA High.
EMACloseColor Цвет линии 34EMA Close.
EMALowColor Цвет линии 34EMA Low.
GreenCandleColor Цвет свечей бычьего тренда (зелёный).
RedCandleColor Цвет свечей медвежьего тренда (красный).
BlueCandleColor Цвет свечей нейтрального тренда (синий).
BearishBodyColor Цвет тела свечи при закрытии ниже открытия.
BullishAlerts Срабатывание уведомления при появлении новой бычьей (зелёной) свечи.
BearishAlerts Срабатывание уведомления при появлении новой медвежьей (красной) свечи.
NeutralAlerts Срабатывание уведомления при появлении новой нейтральной (синей) свечи.
TriggerCandle Свеча для срабатывания уведомлений (текущая или предыдущая).
EnableNativeAlerts Включение всплывающих уведомлений MetaTrader.
EnableEmailAlerts Отправка уведомлений по электронной почте.
EnablePushAlerts Отправка push-уведомлений на устройство.
EnableSoundAlerts Воспроизведение звукового сигнала при уведомлении.
SoundFile Имя звукового файла для уведомлений.
Получить полный код

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

#property version   "1.00"

#property description "Raghee Horner's 34EMA Wave and GRaB (Green-Red-Blue) Candles. Supports MTF."

#property indicator_chart_window
#property indicator_buffers 15
#property indicator_plots   6

#property indicator_label1  "Bullish (Green)"
#property indicator_type1   DRAW_CANDLES
#property indicator_color1  clrLimeGreen, clrLimeGreen, clrBlack
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1

#property indicator_label2  "Bearish (Red)"
#property indicator_type2   DRAW_CANDLES
#property indicator_color2  clrRed, clrRed, clrBlack
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1

#property indicator_label3  "Neutral (Blue)"
#property indicator_type3   DRAW_CANDLES
#property indicator_color3  clrDodgerBlue, clrDodgerBlue, clrBlack
#property indicator_style3  STYLE_SOLID
#property indicator_width3  1

#property indicator_label4  "34EMA High"
#property indicator_type4   DRAW_LINE
#property indicator_color4  clrAqua
#property indicator_label5  "34EMA Close"
#property indicator_type5   DRAW_LINE
#property indicator_color5  clrGoldenrod
#property indicator_label6  "34EMA Low"
#property indicator_type6   DRAW_LINE
#property indicator_color6  clrMagenta

enum enum_candle_to_check
{
    Current,    // Current (forming) candle
    Previous    // Previous (just-closed) candle
};

input int                  EMA_Period         = 34;             // 34EMA Wave Period
input ENUM_MA_METHOD       MA_Mode            = MODE_EMA;       // Moving Average Mode
input ENUM_TIMEFRAMES      TimeFrame          = PERIOD_CURRENT; // Timeframe (higher than chart enables MTF)
input int                  CountBars          = 5000;           // Bars to compute (0 = all)
input bool                 ShowEMAWave        = true;           // Show 34EMA Wave
input bool                 ShowGRaBCandles    = true;           // Show GRaB Candles
input color                EMAHighColor       = clrAqua;        // 34EMA High Color
input color                EMACloseColor      = clrGoldenrod;   // 34EMA Close Color
input color                EMALowColor        = clrMagenta;     // 34EMA Low Color
input color                GreenCandleColor   = clrLimeGreen;   // Green (Bullish trend) Color
input color                RedCandleColor     = clrRed;         // Red (Bearish trend) Color
input color                BlueCandleColor    = clrDodgerBlue;  // Blue (Neutral trend) Color
input color                BearishBodyColor   = clrBlack;       // Bearish (close<open) Body Color
input bool                 BullishAlerts      = false;          // Alert on a new Bullish (Green) candle
input bool                 BearishAlerts      = false;          // Alert on a new Bearish (Red) candle
input bool                 NeutralAlerts      = false;          // Alert on a new Neutral (Blue) candle
input enum_candle_to_check TriggerCandle      = Previous;       // Trigger candle for alerts
input bool                 EnableNativeAlerts = false;          // Enable Native Pop-Up Alerts
input bool                 EnableEmailAlerts  = false;          // Enable Email Alerts
input bool                 EnablePushAlerts   = false;          // Enable Push Alerts
input bool                 EnableSoundAlerts  = false;          // Enable Sound Alerts
input string               SoundFile          = "alert.wav";    // Sound file name

double GreenOpen[], GreenHigh[], GreenLow[], GreenClose[];
double RedOpen[],   RedHigh[],   RedLow[],   RedClose[];
double BlueOpen[],  BlueHigh[],  BlueLow[],  BlueClose[];

double EMA_HighBuf[], EMA_CloseBuf[], EMA_LowBuf[];

int iMA_HighHandle  = INVALID_HANDLE;
int iMA_CloseHandle = INVALID_HANDLE;
int iMA_LowHandle   = INVALID_HANDLE;

ENUM_TIMEFRAMES MTF_Period;
string          MTF_Suffix;
bool            MTF_Mode;
int             TF_Multiplier;
int             UpperRT       = 0;
datetime        NewCandleTime = 0;

datetime LastBullishAlertBarTime = 0;
datetime LastBearishAlertBarTime = 0;
datetime LastNeutralAlertBarTime = 0;
bool     AlertsInitialized       = false;

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

void ConfigureCandlePlot(int plot_idx, int draw_type, color trend_color)
{
    PlotIndexSetInteger(plot_idx, PLOT_DRAW_TYPE,     draw_type);
    PlotIndexSetInteger(plot_idx, PLOT_COLOR_INDEXES, 3);
    PlotIndexSetInteger(plot_idx, PLOT_LINE_COLOR, 0, trend_color);      // Outline + wicks.
    PlotIndexSetInteger(plot_idx, PLOT_LINE_COLOR, 1, trend_color);      // Bullish body (close > open): full color.
    PlotIndexSetInteger(plot_idx, PLOT_LINE_COLOR, 2, BearishBodyColor); // Bearish body (close < open): black by default.
}

void OnDeinit(const int reason)
{
    if (iMA_HighHandle  != INVALID_HANDLE) IndicatorRelease(iMA_HighHandle);
    if (iMA_CloseHandle != INVALID_HANDLE) IndicatorRelease(iMA_CloseHandle);
    if (iMA_LowHandle   != INVALID_HANDLE) IndicatorRelease(iMA_LowHandle);
}

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[])
{
      // код доступен только после оплаты
   }
    if (rates_total < EMA_Period + 1) return 0;

    ArraySetAsSeries(time,  false);
    ArraySetAsSeries(open,  false);
    ArraySetAsSeries(high,  false);
    ArraySetAsSeries(low,   false);
    ArraySetAsSeries(close, false);

    b

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

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

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

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

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

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

Стоимость полного кода
1 318,10₽ ≈ $16.11