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

mearichi_5940281546685553606.mq4

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

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

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

О программе

Данный советник для MetaTrader 4 реализует стратегию сеточной торговли (Grid BUY Bot). При запуске он автоматически размещает отложенные ордера Buy Stop выше текущей цены и Buy Limit ниже неё, формируя сетку с заданным шагом в долларах. Количество уровней сверху и снизу настраивается отдельно.

Советник поддерживает два режима управления прибылью: индивидуальный тейк-профит для каждого ордера (по умолчанию) и корзинный тейк-профит, при котором все открытые позиции закрываются, когда суммарная прибыль корзины достигает заданной цели. Символ для торговли определяется автоматически по текущему графику.

Внутренняя логика включает проверку существующих отложенных ордеров для предотвращения дублирования, размещение новых ордеров через торговый API и периодическое обслуживание сетки на каждом тике. Параметры объёма, шага, уровней, проскальзывания и магического числа полностью настраиваются пользователем.

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

НастройкаОписание
Lots Объём лота для каждого размещаемого ордера.
StepUSD Шаг в долларах (USD) между соседними уровнями сетки.
TP_USD Расстояние до индивидуального тейк-профита в долларах (USD) от цены ордера. Используется при отключённом режиме корзинного тейк-профита.
LevelsAbove Количество уровней Buy Stop ордеров, размещаемых выше текущей цены.
LevelsBelow Количество уровней Buy Limit ордеров, размещаемых ниже текущей цены.
Slippage Допустимое проскальзывание цены при размещении ордеров и закрытии позиций.
MagicNumber Магическое число для идентификации ордеров, принадлежащих данному советнику.
UseBasketTP Переключатель режима тейк-профита: true — корзинный тейк-профит (закрытие всех позиций при достижении BasketTarget), false — индивидуальный тейк-профит для каждого ордера (TP_USD).
BasketTarget Целевая общая прибыль в долларах (USD), при достижении которой все открытые позиции закрываются в режиме корзинного тейк-профита. Работает только при включённом параметре UseBasketTP.
Получить полный код

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

#property strict

extern double  Lots          = 0.01;     // Обем на ордерите
extern double  StepUSD       = 5.0;      // Стъпка между нивата (USD)
extern double  TP_USD        = 5.0;      // Индивидуален TP (USD)
extern int     LevelsAbove   = 6;        // Брой Buy Stop над цената
extern int     LevelsBelow   = 6;        // Брой Buy Limit под цената
extern int     Slippage      = 30;       // Слипидж
extern int     MagicNumber   = 888001;   // Magic за разпознаване

extern bool    UseBasketTP   = false;    // true = Basket TP, false = Individual TP
extern double  BasketTarget  = 20.0;     // Целева обща печалба (USD)

int    _digits;  
double _point;  
string TradeSymbol;  // автоматично ще се задава

double NormalizePrice(double p){ return NormalizeDouble(p, _digits); }
bool   IsMine(){ return (OrderMagicNumber()==MagicNumber && OrderSymbol()==TradeSymbol); }

bool PendingExists(double level, int type){
   double tol = _point * 20;
   for(int i=0;i<OrdersTotal();i++){
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){
         if(IsMine() && OrderType()==type){
            if(MathAbs(OrderOpenPrice()-level) <= tol) return true;
         }
      }
   }
   return false;
}

bool PlacePending(int type, double level){
   double tp = 0.0;
   if(!UseBasketTP){ // индивидуален TP
      tp = NormalizePrice(level + TP_USD);
   }
   int ticket = OrderSend(TradeSymbol, type, Lots, level, Slippage, 0, tp,
                          "GridBUY", MagicNumber, 0,
                          (type==OP_BUYLIMIT)?clrGreen:clrBlue);
   if(ticket<0){
      Print("OrderSend error ", GetLastError(), " @", DoubleToString(level,_d

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

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

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

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

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

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

Стоимость полного кода
244,40₽ ≈ $2.99