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

reverse_martingale_ver1.1.mq4

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

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

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

О программе

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

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

НастройкаОписание
Fix Lot Size (FixLot) FixLot — Фиксированный начальный размер лота
Stoploss In Pips (StopLoss) StopLoss — Стоп-лосс в пунктах
TakeProfit In Pips (TakeProfit) TakeProfit — Тейк-профит в пунктах
Order Magic Number (MagicNumber) MagicNumber — Магический номер для идентификации ордеров
Maximum Orders To Open (Max_Orders) Max_Orders — Максимальное количество открытых ордеров
Spread In Pips (Spread) Spread — Максимальный допустимый спред в пунктах
Use Martingale (UseMartingale) UseMartingale — Включение или отключение режима мартингейла
Maximum Lot size To Use (MaxLot) MaxLot — Максимально допустимый размер лота
Lot Multiplier (Multiplier) Multiplier — Множитель для изменения размера лота
Moving_Average Moving_Average — Разделитель группы настроек скользящей средней
MaPeriod MaPeriod — Период скользящей средней
MaShift MaShift — Сдвиг скользящей средней по горизонтали
Ma_Method Ma_Method — Метод расчёта скользящей средней
Apply_Price Apply_Price — Применяемая цена для расчёта скользящей средней
Получить полный код

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

#property version   "1.00"
#property strict

input double FixLot=0.01; //Fix Lot Size
input int    StopLoss=50; //Stoploss In Pips
input int    TakeProfit=30; //TakeProfit In Pips
input int    MagicNumber=123; //Order Magic Number
input int    Max_Orders=15; //Maximum Orders To Open
input long   Spread=5; //Spread In Pips
input bool   UseMartingale=true; //Use Martingale
input double MaxLot=0.64; //Maximum Lot size To Use
input double Multiplier=2; //Lot Multiplier

input string  Moving_Average="=================";
input int     MaPeriod=200;
input int     MaShift=0;
input ENUM_MA_METHOD     Ma_Method=MODE_SMA;
input ENUM_APPLIED_PRICE Apply_Price=PRICE_CLOSE;

datetime candletime=0;
double stoplevel,Upper_stoplevel,Lower_stoplevel;
datetime EaStartTime=TimeCurrent();

double lotsize;

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

void OnDeinit(const int reason)
  {

  }

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

int Count(int Type)
  {
   int count=0;
   for(int i=0; i<=OrdersTotal()-1; i++)
     {
      bool Select=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
      if(Select && OrderSymbol()==_Symbol && OrderMagicNumber()==MagicNumber && OrderType()==Type) count++;
     }
   return (count);
  }

double OpenOrder(int Type , double lot =0)
  {
   double openprice=0; double stoploss=0; double takeprofit=0; double Lot=FixLot; double lots[]; LotSizeCalc(lots);

   if(_Point==0.00001 || _Point==0.001)
     {
      stoploss=(StopLoss*10)*_Point;
      takeprofit=(TakeProfit*10)*_Point;
     }

   if(_Point==0.0001 || _Point==0.01)
     {
      stoploss=(StopLoss)*_Point;
      takeprofit=(TakeProfit)*_Point;
     }

   if(lots[losscnt()]>=MaxLot)
     {
      EaStartTime=TimeCurrent();
      return 0;
     }

   if(Type==OP_BUY)
     {
      openprice=Ask;
      if(StopLoss>0) stoploss=openprice-stoploss;
      if(TakeProfit>0) takeprofit=openprice+takeprofit;
     }

   if(Type==OP_SELL)
     {
      openprice=Bid;
      if(StopLoss>0) stoploss=openprice+stoploss;
      if(TakeProfit>0) takeprofit=openprice-takeprofit;
     }

   if(Lot>PrevOrderLot()) lotsize=Lot;
  if(lot>0)Lot = lot;
  if(Lot>MaxLot) Lot=FixLot;
   int Ticket=OrderSend(_Symbol,Type,Lot,openprice,300,stoploss,takeprofit,"Order Placed",MagicNumber,0,clrGreen);

   return(Ticket);
  }

double MAvg(int shift)
  {
   double MA=iMA(_Symbol,0,MaPer

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

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

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

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

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

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

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