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

grid-mod-3124 ma.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 общих тегов
Вы автор или правообладатель?

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

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

О программе

Данный продукт представляет собой торговый экспертный советник для платформы MetaTrader 4. Он автоматизирует открытие и управление ордерами на текущем торговом символе, обрабатывая события тиков и используя торговые функции платформы.

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

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

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

НастройкаОписание
iTakeProfit Тейк-профит (пункты) — Расстояние в пунктах до уровня тейк-профита для первого ордера.
iStartLots Начальный лот — Начальный размер лота для первого ордера.
iMultipler Множитель лота — Множитель для увеличения размера лота при открытии последующих ордеров.
iOrderStep Шаг ордера (пункты) — Шаг в пунктах между ордерами, определяющий минимальное расстояние для открытия нового ордера.
iMinimalProfit Минимальная прибыль (пункты) — Минимальный уровень прибыли в пунктах, используемый при расчёте среднего уровня тейк-профита для корректировки ордеров.
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