SureForexHedging 1.20a
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «sureforexhedingvonepointoneone.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.