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

VR Smart Grid Lite

vr smart grid lite.mq4
Вы автор или правообладатель?

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

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

О программе

VR Smart Grid Lite — это советник для MetaTrader 4, написанный на языке MQL4. Программа обрабатывает событие OnTick и управляет открытыми торговыми позициями на выбранном инструменте, используя торговые функции платформы.

Советник отслеживает все открытые ордера с заданным магическим числом и символом, рассчитывает средневзвешенные цены по лотам и на их основе определяет уровни для управления позициями. При изменении рыночной ситуации запускаются новые рыночные ордера или модифицируются существующие.

В основе работы лежит сеточная логика: новые сделки открываются при достижении определённой дистанции от текущих позиций, а для ордеров устанавливаются уровни фиксации прибыли. Управление лотами при открытии и модификации привязано к текущему состоянию сетки.

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

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

НастройкаОписание
Take Profit (in pips) (iTakeProfit) Тейк-профит — Уровень фиксации прибыли (в пунктах).
Start lot (iStartLots) Начальный лот — Начальный объём лота для открытия позиции.
Point order step (in pips) (iPointOrderStep) Шаг размещения ордеров — Шаг размещения ордеров (в пунктах).
Minimal profit for close grid (in pips) (iMinimalProfit) Минимальная прибыль для закрытия сетки — Минимальная прибыль для закрытия сетки (в пунктах).
Magic Number (in number) (iMagicNumber) Магическое число — Магическое число, идентифицирующее ордера, управляемые данным советником.
Slippage (in pips) (iSlippage) Проскальзывание — Допустимое проскальзывание (в пунктах).
Получить полный код

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

#property version     "18.030"
#property description " "
#property strict

input int          iTakeProfit         = 300;      // Take Profit (in pips)
input double       iStartLots          = 0.01;     // Start lot
input int          iPointOrderStep     = 390;      // Point order step (in pips)
input int          iMinimalProfit      = 70;       // Minimal profit for close grid (in pips)
input int          iMagicNumber        = 227;      // Magic Number (in number)
input int          iSlippage           = 30;       // Slippage (in pips)

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

void OnTick()
  {
      // код доступен только после оплаты
   }
   double
   BuyPriceMax=0,BuyPriceMin=0,BuyPriceMaxLot=0,BuyPriceMinLot=0,
   SelPriceMin=0,SelPriceMax=0,SelPriceMinLot=0,SelPriceMaxLot=0;

   int
   BuyPriceMaxTic=0,BuyPriceMinTic=0,SelPriceMaxTic=0,SelPriceMinTic=0;

   double
   op=0,lt=0,tp=0;

   int
   tk=0,b=0,s=0;

   for(int i=OrdersTotal()-1;i>=0;i--)
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
         if(OrderMagicNumber()==iMagicNumber)
            if(OrderSymbol()==Symbol())
              {
               op=NormalizeDouble(OrderOpenPrice(),Digits());
               lt=NormalizeDouble(OrderLots(),2);
               tk=OrderTicket();
               if(OrderType()==OP_BUY)
                 {
                  b++;
                  if(op>BuyPriceMax || BuyPriceMax==0)
                    {
                     BuyPriceMax    = op;
                     BuyPriceMaxLot = lt;
                     BuyPriceMaxTic = tk;
                    }
                  if(op<BuyPriceMin || BuyPriceMin==0)
                    {
                     BuyPriceMin    = op;
                     BuyPriceMinLot = lt;
                     BuyPriceMinTic = tk;
                    }
                 }

               if(OrderType()==OP_SELL)
                 {
                  s++;
                  if(op>SelPriceMax || SelPriceMax==0)
                    {
                     SelPriceMax    = op;
                     SelPriceMaxLot = lt;
                     SelPriceMaxTic = tk;
                    }
                  if(op<SelPriceMin || SelPriceMin==0)
                    {
                     SelPriceMin    = op;
                     SelPriceMinLot = lt;
                     SelPriceMinTic = tk;
                    }
                 }
              }

   double   AwerageBuyPrice=0,AwerageSelPrice=0;
   if(b>=2) AwerageBuyPrice=NormalizeDouble((BuyPriceMax*BuyPriceMaxLot+BuyPriceMin*BuyPriceMinLot)/(BuyPriceMaxLot+BuyPriceMinLot)+iMinimalProfit*Point(),Digits());
   if(s>=2) AwerageSelPrice=NormalizeDouble((SelPriceMax*SelPriceMaxLot+SelPriceMin*SelPriceMinLot)/(SelPriceMaxLot+SelPriceMinLot)-iMinimalProfit*Point(),Digits());

   double BuyLot=0,SelLot=0;
   if(BuyPriceMinLot==0) BuyLot=i

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

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

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

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

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

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

Стоимость полного кода
370,70₽ ≈ $4.53