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

Grid-Mod-3124 standart

grid-mod-3124 candle2.mq4

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

#__slope direction line.mq5MQL5 / MetaTrader 5 · 1 общих теговrange breakout @meowforex1.pineTradingView · 1 общих тегов#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit3.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit2.mq4MQL4 / MetaTrader 4 · 1 общих тегов!mth_fasttmaline_edit.mq4MQL4 / MetaTrader 4 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

Grid-Mod-3124 standart — торговый советник для MetaTrader 4, реализующий сеточную торговую стратегию. Советник анализирует направление тренда с помощью двух экспоненциальных скользящих средних (EMA 21 и EMA 44) и открывает позиции в зависимости от их пересечения. При бычьем сигнале размещаются ордера BUY, при медвежьем — SELL.

Лот каждого следующего ордера в сетке увеличивается в iMultipler раз относительно предыдущего, что формирует классическую сеточную структуру. Между ордерами задаётся фиксированное расстояние в пунктах, определяемое параметром iOrderStep. Советник фильтрует ордера по магическому номеру и торговому символу.

После открытия позиций советник автоматически управляет уровнями Take Profit. Для одиночных позиций TP устанавливается на фиксированном расстоянии от цены открытия. При наличии нескольких позиций расчётный уровень TP определяется как средневзвешенная цена всех ордеров с добавлением минимального прибыльного смещения. Уровни корректируются через OrderModify при достижении нужной дистанции от текущей цены.

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

НастройкаОписание
iTakeProfit Расстояние в пунктах от цены открытия ордера до уровня Take Profit для одиночных позиций.
iStartLots Начальный размер лота для первого ордера на каждой стороне сетки. Если на стороне ещё нет открытых позиций, используется именно этот размер.
iMultipler Множитель лота для каждого следующего ордера сетки. Если на стороне есть открытые позиции, лот нового ордера рассчитывается как лот предыдущего ордера, умноженный на это значение.
iOrderStep Шаг сетки в пунктах — минимальное расстояние между ценами открытия ордеров, при котором допускается открытие нового ордера в направлении тренда.
iMinimalProfit Минимальное прибыльное смещение в пунктах, добавляемое к средневзвешенной цене при расчёте уровня Take Profit для множественных позиций.
iMagicNumber Магический номер для идентификации ордеров, управляемых советником. При значении -1 советник учитывает все ордера на символе без фильтрации по магическому номеру.
iSlippage Допустимое проскальзывание в пунктах при исполнении рыночных ордеров.
Получить полный код

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

#property version   "1.00"
#property strict

input int    iTakeProfit    = 300;
input double iStartLots     = 0.01;
input double iMultipler     = 2;
input int    iOrderStep     = 390;
input int    iMinimalProfit = 50;
input int    iMagicNumber   = 227;
input int    iSlippage      = 30;

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

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

   double BuyPriceMin = 0, BuyPriceMinLot = 0, SelPriceMax = 0, SelPriceMaxLot = 0;
   int    b = 0, s = 0;
   double BuyPriceSumm = 0, BuyLotsSumm = 0, SelPriceSumm = 0, SelLotsSumm = 0;

   for(int i = 0; i < OrdersTotal(); i++)
      if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES) == true)
         if(OrderMagicNumber() == iMagicNumber || iMagicNumber == -1)
            if(OrderSymbol() == _Symbol)
              {
               if(OrderType() == OP_BUY)
                 {
                  if(OrderOpenPrice() < BuyPriceMin || BuyPriceMin == 0)
                    {
                     BuyPriceMin    = OrderOpenPrice();
                     BuyPriceMinLot = OrderLots();
                    }
                  BuyPriceSumm += OrderOpenPrice() * OrderLots();
                  BuyLotsSumm  += OrderLots();
                  b++;
                 }
               if(OrderType() == OP_SELL)
                 {
                  if(OrderOpenPrice() > SelPriceMax || SelPriceMax == 0)
                    {
                     SelPriceMax    = OrderOpenPrice();
                     SelPriceMaxLot = OrderLots();
                    }
                  SelPriceSumm += OrderOpenPrice() * OrderLots();
                  SelLotsSumm  += OrderLots();
                  s++;
                 }
              }

   double BuyLots = 0, SelLots = 0;

   if(b == 0)
      BuyLots = iStartLots;
   else
      BuyLots = BuyPriceMinLot * iMultipler;

   if(s == 0)
      SelLots = iStartLots;
   else
      SelLots = SelPriceMaxLot * iMultipler;

   double ma1  = iMA(_Symbol, _Period, 21, 0, MODE_EMA, PRICE_CLOSE, 1);
   double ma2  = iMA(_Symbol, _Period, 44, 0, MODE_EMA, PRICE_CLOSE, 1);
   if(ma1 > ma2)
      if(b ==

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

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

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

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

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

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

Стоимость полного кода
260,60₽ ≈ $3.19