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

SureForexHedging 1.20a

sureforexhedingvonepointoneone.mq4

Похожие материалы по тегам

!!!-mt4 x-xardg-rsi.mq5MQL5 / MetaTrader 5 · 2 общих тегов!!! rsi ma simple+arrows 1.2 (mtf).mq5MQL5 / MetaTrader 5 · 2 общих теговea robofibo source v.11.2.mq4MQL4 / MetaTrader 4 · 2 общих теговsureforexhedging 1.10 optimized.mq4MQL4 / MetaTrader 4 · 2 общих теговsureforexhedging 1.09 a (2).mq4MQL4 / MetaTrader 4 · 2 общих теговpro +.pineTradingView · 2 общих тегов
Вы автор или правообладатель?

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

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

О программе

SureForexHedging 1.20a — торговый советник для MetaTrader 4, реализующий сеточную стратегию с многоуровневым управлением позициями. Советник анализирует тренд с помощью EMA-пересечения на настраиваемом таймфрейме и подтверждает его на высшем таймфрейме. Перед открытием новых слоёв проверяется сила тренда через индикатор ADX.

Советник поддерживает вход при откате к медленной EMA, позволяет задать максимальное количество сеточных слоёв на сторону и рассчитывает размер лота с учётом текущей волатильности и общей экспозиции. Для управления рисками предусмотрены трейлинг-стоп (в том числе на основе ATR), безубыточный стоп и фильтр по времени (GMT-слоты).

При достижении заданных условий по прибыли активируется синтетический выход — закрытие всех позиций при просадке от пиковой прибыли. Все параметры таймфреймов (тренда, ADX, ATR, подтверждения) настраиваются независимо, что позволяет адаптировать советник под различные рыночные условия.

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

НастройкаОписание
trend_timeframe Таймфрейм, на котором рассчитывается пересечение EMA для определения направления основного тренда
adx_timeframe Таймфрейм, на котором рассчитывается индикатор ADX для фильтрации силы тренда
atr_timeframe Таймфрейм, на котором рассчитывается ATR; используется для определения расстояния сетки, трейлинга и оценки волатильности
tf_confirm Таймфрейм подтверждения тренда: локальный тренд на основном таймфрейме должен совпадать с направлением на этом высшем таймфрейме для открытия позиций
ema_fast_period Период быстрой скользящей средней EMA, используемой для определения направления тренда (Диктатор)
ema_slow_period Период медленной скользящей средней EMA, используемой как базовая линия тренда (Базовая)
adx_period Период расчёта индикатора ADX (средняя направленность движения)
adx_min_level Минимальный уровень ADX, при котором советник разрешает открытие сделок; если ADX ниже этого значения, новые позиции не открываются
enter_on_pullback Переключатель: при включении советник ожидает отката цены к медленной EMA перед открытием первого слоя; при выключении открывает сразу при подтверждении тренда
fixed_lot Начальный размер лота для первого сеточного слоя
max_layers Максимальное количество сеточных слоёв на одну сторону (покупка или продажа)
trail_start_amount Сумма Floating-прибыли, при достижении которой активируется трейлинг (защита прибыли от просадки)
use_atr_trail Переключатель: при включении расстояние трейлинг-стопа рассчитывается на основе ATR; при выключении используется фиксированная сумма отката
trail_atr_multiplier Множитель ATR, определяющий расстояние трейлинг-стопа при использовании ATR-трейлинга
trail_dist_amount Сумма отката в долларах, используемая как расстояние трейлинг-стопа, если ATR-трейлинг отключён
breakeven_trigger Сумма Floating-прибыли, при достижении которой активируется безубыточный стоп с последующим закрытием всех позиций при небольшой просадке
breakeven_buffer Дополнительная сумма прибыли выше безубыточного уровня, при которой позиции остаются безубыточными
time_filter_slots Строка из 24 символов (0 и 1), задающая разрешённые GMT-часа для начала новых торговых циклов; каждый символ соответствует одному часу суток
initial_magic Магический номер для идентификации ордеров, открытых данным советником
trade_comment Комментарий, присваиваемый каждому ордеру при открытии позиции советником
Получить полный код

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

#property strict

#property description " "
#property description "Original Code: Anton Trefolev (a************v*@gmail.com)"
#property description " "
#property description "ULTIMATE PRO – Separate TF controls for Signal, ADX, ATR, and"
#property description "Higher‑TF confirmation. Plus all intelligent risk layers."
#property description " "
#property description "Telegram: @Ajmt5dev"
#property description " "
#property description "Risk Warning! Test thoroughly on Demo first."

input group "=== TREND SIGNAL TIMEFRAME ==="
input ENUM_TIMEFRAMES trend_timeframe  = PERIOD_CURRENT; // EMA crossover timeframe

input group "=== ADX TIMEFRAME ==="
input ENUM_TIMEFRAMES adx_timeframe    = PERIOD_CURRENT; // ADX calculation timeframe

input group "=== ATR TIMEFRAME (Grid, Trail, Volatility) ==="
input ENUM_TIMEFRAMES atr_timeframe    = PERIOD_CURRENT; // ATR used for spacing, trailing, risk

input group "=== HIGHER TIMEFRAME CONFIRMATION ==="
input ENUM_TIMEFRAMES tf_confirm       = PERIOD_H1;      // Must agree with main trend

input group "=== EMA TREND SETTINGS ==="
input int    ema_fast_period           = 5;     // Fast EMA (Dictator)
input int    ema_slow_period           = 50;    // Slow EMA (Baseline)

input group "=== ENHANCED TREND (ADX) ==="
input int    adx_period                = 14;    // ADX Period
input double adx_min_level             = 22.0;  // Min ADX to allow trading

input group "=== PULLBACK ENTRY ==="
input bool   enter_on_pullback         = true;  // Wait for pullback to slow EMA

input group "=== GRID LAYERING ==="
input double fixed_lot                 = 0.01;  // Starting Lot
input int    max_layers                = 6;     // Max Layers per Side (Buy/Sell)

input group "=== SYNTHETIC EXIT (EQUITY TRAIL) ==="
input double trail_start_amount        = 8.0;   // Profit $ to activate trailing
input bool   use_atr_trail             = true;  // Trail distance in ATR multiples
input double trail_atr_multiplier      = 2.0;   // ATR multiplier for trailing stop
input double trail_dist_amount         = 3.0;   // Pullback $ (used only if use_atr_trail=false)

input group "=== BREAKEVEN STOP ==="
input double breakeven_trigger         = 5.0;   // Profit $ to activate breakeven
input double breakeven_buffer          = 1.0;   // $ above breakeven

input group "=== TIME FILTER (GMT SLOTS) ==="
input string time_filter_slots         = "111111111111111111111111"; // 24-slot GMT: 1=allow new cycle, 0=block (00-23h)

input group "=== GENERAL ==="
input int    initial_magic             = 202605212;   // Magic Number
input string trade_comment             = "Conservative Low-DD Ultimate"; // Comment

int    g_buy_layers      = 0;
int    g_sell_layers     = 0;

double g_peak_profit     = 0.0;
bool   g_trailing_active = false;

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

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

bool IsStrongTrend() {
    double adx = iADX(Symbol(), adx_timeframe, adx_period, PRICE_CLOSE, MODE_MAIN, 0);
    return (adx >= adx_min_level);
}

bool IsPullback(int dir) {
    double slow = iMA(Symbol(), 0, ema_slow_period, 0, MODE_EMA, PRICE_CLOSE, 0);
    double zone = GetGridDistance() * 0.5;   // dynamic half‑grid
    if (dir == OP_BUY) {
        return (Bid <= slow + zone);
    } else {
        return (Ask >= slow - zone);
    }
}

bool CheckSyntheticExit(double current_profit) {
    if (current_profit >= trail_start_amount) {
        g_trailing_active = true;
    }

    if (g_trailing_active) {
        double trailDist;
        if (use_atr_trail) {
            double atr = iATR(Symbol(), atr_timeframe, 14, 0);
            double totalLots = GetTotalExposure();
            double tickValuePerUnit = MarketInfo(Symbol(), MODE_TICKVALUE) / MarketInfo(Symbol(), MODE_TICKSIZE);
            trailDist = totalLots * atr * trail_atr_multiplier * tickValuePerUnit;
        } else {
            trailDist = trail_dist_amount;
        }

        if (current_profit < g_peak_profit - trailDist) {
            Print("EQUITY TRAIL EXIT: Peak=", DoubleToString(g_peak_profit, 2), 
                  " Current=", DoubleToString(current_profit, 2),
                  " TrailDist=", DoubleToString(trailDist, 2));
            CloseAll();
            g_peak_profit = 0;

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

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

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

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

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

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

Стоимость полного кода
992,30₽ ≈ $12.13