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

multi_ea_1_1_5_1_rsx.mq4

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

#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 1 общих теговea robofibo source v.11.2.mq4MQL4 / MetaTrader 4 · 1 общих теговsma crossover scalper ea for mt4.mq4MQL4 / MetaTrader 4 · 1 общих теговr15 pivot points expert advisor by @fundedmillionairess.mq4MQL4 / MetaTrader 4 · 1 общих теговnewstrader.mq5MQL5 / MetaTrader 5 · 1 общих теговmm3.0_flip_codepro_v3.1_with_cooldown@lifeindreamsworld.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

Данный продукт представляет собой торгового советника для платформы MetaTrader 4, написанный на языке MQL4. Советник использует пользовательские индикаторы RSX, рассчитанные на трёх валютных парах, для определения направления торговли. Он управляет открытыми позициями, применяя трейлинг-стоп и ограничения по времени торговли. Расчёт размера позиции основан на доступном маржинале и заданных параметрах риска с корректировкой при серии убыточных сделок.

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

НастройкаОписание
UsePct Использовать процент — Целочисленный параметр, определяющий режим расчёта размера лота
MaxLots Максимальный лот — Ограничение максимального допустимого размера позиции в лотах
Slippage Проскальзывание — Допустимое отклонение цены при открытии или закрытии позиции в пунктах
Lots Размер лота — Базовый размер лота для расчёта объёма позиции
MaximumRisk Максимальный риск — Доля свободного маржинала, используемая для определения размера позиции
DecreaseFactor Коэффициент уменьшения — Параметр, влияющий на снижение размера лота при серии убыточных сделок
MinLot Минимальный лот — Наименьший допустимый размер позиции в лотах
TrailingStop Трейлинг-стоп — Расстояние в пунктах для установки и модификации трейлинг-стопа по открытой позиции
UseHourTrade Использовать ограничение по часам — Включает или отключает фильтр торговли по времени суток
FromHourTrade Начальный час торговли — Час начала разрешённого окна торговли
ToHourTrade Конечный час торговли — Час окончания разрешённого окна торговли
SignalCandle Свеча сигнала — Номер свечи, используемой для получения сигнала от индикатора RSX
Получить полный код

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

#define MAGICMA  162429

extern int    UsePct=0;
extern int    MaxLots=100;
extern int    Slippage=2;
extern double Lots=1;
extern double MaximumRisk=0.05;
extern double DecreaseFactor=6;
extern double MinLot=0.1;
extern double TrailingStop=30;
double        StartBalance,StartEquity;
extern bool   UseHourTrade = false;
extern int    FromHourTrade = 6;
extern int    ToHourTrade = 18;
extern int SignalCandle = 1;

int bsi=0;
int dir=0;
int vTrig=0;
int openorders=0;
int cnt;
string pair;

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

int deinit()
  {
   return(0);
  }

int GetCurrentOrders()
  {

   openorders=0;
   dir=0;
   for(int i=0;i<OrdersTotal();i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;

      if(OrderSymbol()==Symbol())
      {
        openorders+=1;
        if(OrderType()==OP_BUY) dir=1;
        if(OrderType()==OP_SELL) dir=-1;
      }  
   }
}

double LotsOptimized()
  {
   double lot=Lots;
   int    orders=HistoryTotal();     // history orders total
   int    losses=0;                  // number of losses orders without a break

   lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/500.0,1);

   if(DecreaseFactor>0)
     {
      for(int i=orders-1;i>=0;i--)
        {
         if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Error in history!"); break; }
         if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continue;

         if(OrderProfit()>0) break;
         if(OrderProfit()<0) losses++;
        }
      if(losses>1) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);
     }

   if(lot<0.1) lot=0.1;
   return(lot);
  }

int CloseTrade()
  { 
  for(int i=0;i<OrdersTotal();i++)
    {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false)        break;

      if(OrderSymbol()==Symbol())
      {
        if(OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,3,Yellow);
        if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3,Yellow);
      }  
   }
}

int OpenTrade()
  {
   int vLots=LotsOptimized();
   if (bsi>0) OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,Slippage,0,0,NULL,MAGICMA,0,Green);

   if (bsi<0) OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,Slippage,0,0,NULL,MAGICMA,0,Red);
}

int CalcBSI()
  {
    double GBPUSD, EURUSD, USDCHF;

  int GU_Tri

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

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

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

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

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

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

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