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

TITAN_SMC_GRID_MARTINGALE

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

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

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

О программе

Данный советник для MetaTrader 5 сочетает в себе анализ Smart Money Concepts (SMC) с системой сеточной мартингейл-восстановления. Он определяет зоны спроса и предложения на старших таймфреймах, выявляет паттерны отката по фитилям свечей и открывает первую позицию. После открытия первого ордера активируется сеточный режим с постепенным увеличением объёма.

Советник отслеживает уровень эквити и при превышении заданного порога убытка автоматически закрывает все позиции. Тейк-профит рассчитывается на основе средневзвешенной цены всех открытых позиций в сетке и периодически пересчитывается при добавлении новых ордеров.

В качестве HTF-индикатора используются встроенные функции CopyHigh и CopyLow для определения экстремумов свечей. Торговые операции выполняются через класс CTrade. Советник обрабатывает событие OnTick и поддерживает информационный вывод на экране через функцию Comment.

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

НастройкаОписание
InpHTF Таймфрейм для определения зон спроса и предложения (по умолчанию H4)
InpLookbackBars Количество свечей для поиска максимума и минимума при определении зон HTF
InpZoneThickness Толщина зоны спроса/предложения в пунктах (800 пунктов = 80 пипсов)
InpSpreadBuffer Дополнительный буфер для более раннего или позднего входа в зону относительно границ
InpWickToBodyRatio Минимальное соотношение длины тела свечи к длине фитиля для подтверждения отката (например, 2.0)
InpLotInitial Объём первой позиции при входе в сделку
InpMartingaleMult Множитель увеличения объёма при добавлении сеточных ордеров (например, 1.5)
InpGridDistance Шаг сетки в пунктах для открытия дополнительных ордеров (150 пипсов)
InpMaxGridOrders Максимальное количество дополнительных сеточных позиций
InpTakeProfit Расстояние тейк-профита от средней цены открытия в пунктах (150 пипсов)
InpMaxLossPercent Процент убытка от баланса, при достижении которого все позиции закрываются автоматически (30%)
InpMagicNumber Магический номер для идентификации ордеров советника
Получить полный код

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

#property strict

#property version   "3.10"
#property description "SMC Trap (Wick Rejection) + Grid Martingale Recovery"

#include <Trade\Trade.mqh>

CTrade trade;

input group "=== 1. SMC REAL ZONE (HTF KIRISH) ==="
input ENUM_TIMEFRAMES InpHTF           = PERIOD_H4;       // Katta Taymfreym
input int             InpLookbackBars  = 40;              // Qancha sham orqani tekshirish kerak?
input int             InpZoneThickness = 800;             // Zonaning qalinligi (800 punkt = 80 pip)
input int             InpSpreadBuffer  = 400;             // Spred uchun bufer (Zonadan sal ertaroq/kechroq kirish)
input double          InpWickToBodyRatio = 2.0;           // ⚡ SOYA TANADAN NECHA MARTA UZUN BO'LISHI KERAK? (Masalan 2.0)

input group "=== 2. GRID VA MARTINGALE (QUTQARUV TIZIMI) ==="
input double          InpLotInitial    = 0.01;            // Boshlang'ich Lot
input double          InpMartingaleMult= 1.5;             // Martingale ko'paytuvchisi (Masalan 1.5 barobar)
input int             InpGridDistance  = 1500;            // KATTA SPRED UCHUN QADAM (150 pip)
input int             InpMaxGridOrders = 10;              // Maksimal setka o'rderlar soni

input group "=== 3. FOYDA VA XAVFSIZLIK ==="
input int             InpTakeProfit    = 1500;            // O'rtacha narxdan TP (150 pip)
input double          InpMaxLossPercent= 30.0;            // Umumiy zararni cheklash (30% minusga kirsa yopish)
input int             InpMagicNumber   = 7777;            

double HTF_Supply = 0.0;
double HTF_Demand = 0.0;

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

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

void UpdateHTFZones() {
    double highArray[], lowArray[];

    if(CopyHigh(_Symbol, InpHTF, 1, InpLookbackBars, highArray) > 0 && 
       CopyLow(_Symbol, InpHTF, 1, InpLookbackBars, lowArray) > 0) {
        HTF_Supply = highArray[ArrayMaximum(highArray)];
        HTF_Demand = lowArray[ArrayMinimum(lowArray)];
    }
}

void CheckForSMCEntry() {

    static datetime lastEntryBar = 0;
    datetime currentBar = iTime(_Symbol, PERIOD_CURRENT, 0);
    if(currentBar == lastEntryBar) return; 

    double ask = SymbolInfoDouble(_Symbol, SYMBOL_ASK);
    double bid = SymbolInfoDouble(_Symbol, SYMBOL_BID);

    double c[], o[], h[], l[];
    if(CopyClose(_Symbol, PERIOD_CURRENT, 1, 2, c) <= 0) return;
    CopyOpen(_Symbol, PERIOD_CURRENT, 1, 2, o);
    CopyHigh(_Symbol, PERIOD_CURRENT, 1, 2, h);
    CopyLow(_Symbol, PERIOD_CURRENT, 1, 2, l);

    double body = MathAbs(c[1] - o[1]); // Tananing qalinligi
    double upperWick = h[1] - MathMax(c[1], o[1]); // Tepadagi soya uzunligi
    double lowerWick = MathMin(c[1], o[1]) - l[1]; // Pastdagi soya uzunligi

    if(h[1] >= (HTF_Supply - InpZoneThickness * _Point) && h[1] <= (HTF_Supply + InpSpreadBuffer * _Point)) {

        if(upperWick > (body * InpWickToBodyRatio) && c[1] < o[1]) { 
            if(trade.Sell(InpLotInitial, _Symbol, bid, 0, 0, "SMC Sell Start")) {
                las

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

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

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

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

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

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

Стоимость полного кода
635,20₽ ≈ $7.76