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

RSI-R2 v1.3

rsi-r2 ea ver1.3 (2).mq4

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

ares_indicator.pineTradingView · 1 общих теговgold_trend_revers.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!!-mt4 x-xardg-rsi.mq5MQL5 / MetaTrader 5 · 1 общих тегов! cycle-identifier.mq5MQL5 / MetaTrader 5 · 1 общих тегов!!! rsi ma simple+arrows 1.2 (mtf).mq5MQL5 / MetaTrader 5 · 1 общих теговprecisionflowea.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

RSI-R2 v1.3 — торговый советник для MetaTrader 4, который анализирует ценовые данные на дневном таймфрейме, используя индикатор RSI и скользящую среднюю для определения направления рынка и формирования торговых сигналов. Советник открывает и закрывает позиции в соответствии с полученными сигналами, а также управляет защитой позиций с помощью механизма трейлинг-стопов на основе Parabolic SAR. Встроенный модуль управления денежными средствами рассчитывает размер лота на основе остатка на счёте и заданного процента риска. Для множества валютных пар предусмотрены индивидуальные настройки периода RSI, а также настраиваемые уровни перекупленности и перепроданности, стоп-лосс, тейк-профит и другие параметры.

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

НастройкаОписание
LotSize Размер лота — Размер лота при ручном управлении размером позиции
Slippage Проскальзывание — Допустимое отклонение цены при исполнении ордеров
StopLoss Стоп-лосс — Уровень стоп-лосса для ордеров
TakeProfit Тейк-профит — Уровень тейк-профита для ордеров
RiskPercent Процент риска — Процент риска от остатка на счёте при автоматическом расчёте размера лота
UseMoneyMgmt Использовать управление денежными средствами — Включение автоматического расчёта размера лота на основе процента риска
BrokerPermitsFractionalLots Брокер разрешает дробные лоты — Разрешение брокера на использование дробных лотов
UseDefaultRSI_Period Использовать стандартный период RSI — Использовать стандартный период RSI вместо пары-специфичных значений
RSI_Period Период RSI — Период расчёта индикатора RSI
RSI_Overbought_Value Уровень перекупленности RSI — Уровень перекупленности RSI для закрытия длинных позиций
RSI_Oversold_Value Уровень перепроданности RSI — Уровень перепроданности RSI для закрытия коротких позиций
Получить полный код

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

extern double LotSize=10;
extern int    Slippage=3;
extern double StopLoss=0;
extern double TakeProfit=700;
extern double RiskPercent=2.0;
extern bool   UseMoneyMgmt=false;
extern bool   BrokerPermitsFractionalLots = true;
extern bool   UseDefaultRSI_Period = false;
extern int    RSI_Period = 4;
extern double RSI_Overbought_Value = 75.0; 
extern double RSI_Oversold_Value = 25.0; 
int           MagicNumber = 0;
int           ticket;
int           OpenBuyOrders = 0;
int           OpenSellOrders = 0;
int           i;
bool          Buy_Mode = false, Sell_Mode = false;
double        RSI_Day_1 = 0, RSI_Day_2 = 0, RSI_Day_3 = 0, SMA200_Day3 = 0;
double        MM_MinLotSize = 0;
double        MM_MaxLotSize = 0;
double        MM_LotStep = 0;
double        MM_Decimals = 0;
double        MM_OrderLotSize = 0;
int           MM_AcctLeverage = 0;
int           MM_CurrencyLotSize = 0;

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

int deinit()
{
 return(0);
}

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

  Calc_Money_Management();

  SMA200_Day3 = iMA(NULL,PERIOD_D1,200, 0, MODE_SMA, PRICE_CLOSE, 1);

  RSI_Day_1 = iRSI(NULL, PERIOD_D1, RSI_Period, PRICE_CLOSE, 3);
  RSI_Day_2 = iRSI(NULL, PERIOD_D1, RSI_Period, PRICE_CLOSE, 2);
  RSI_Day_3 = iRSI(NULL, PERIOD_D1, RSI_Period, PRICE_CLOSE, 1);

  if (RSI_Day_1 < 65 && RSI_Day_2 < RSI_Day_1 && RSI_Day_3 < RSI_Day_2 && Close[1] > SMA200_Day3) 
   {
    Buy_Mode=true;
   } else {
    Buy_Mode=false;
   } 

   if (RSI_Day_1 > 35 && RSI_Day_2 > RSI_Day_1 && RSI_Day_3 > RSI_Day_2 && Close[1] < SMA200_Day3) 
   {
    Sell_Mode=true;
   } else {
    Sell_Mode=false;
   } 

  if (OpenBuyOrders == 1 && (RSI_Day_3 > RSI_Overbought_Value || Close[1] < SMA200_Day3))
   {
     CloseLongs(MagicNumber);
     OpenBuyOrders = 0;   
   }

   if (OpenSellOrders == 1 && (RSI_Day_3 < RSI_Oversold_Value || Close[1] > SMA200_Day3))
   {
     CloseShorts(MagicNumber);
     OpenSellOrders = 0;   
   }

  OpenBuyOrders=0;
  OpenSellOrders=0;

  for (i = 0; i <= OrdersTotal(); i++)
   {
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    if ((OrderSymbol() == Symbol()) && (OrderMagicNumber() == MagicNumber))
     {
      if (OrderType() == OP_BUY)
       {
        OpenBuyOrders++;
        if ((iSAR(NULL,0,0.02,0.2,1) > OrderStopLoss()) && (Bid > iSAR(NULL,0,0.02,0.2,1)) && (OrderOpenPrice() < iSAR(NULL,0,0.02,0.2,1)) && (iSAR(NULL,0,0.02,0.2,1) > iSAR(NULL,0,0.02,0.2,2)))
         {
          OrderModify(OrderTicket(),OrderOpenPrice(),iSAR(NULL,0,0.02,0.2,1),OrderTakeProfit(),0,Blue);
          Print("Order # ",OrderTicket()," updated at ",Hour(),":",Minute(),":",Seconds());
          return(0);
         }
       }
      if (OrderType() == OP_SELL)
       {
        OpenSellOrders++;
        if ((iSAR(NULL,0,0.02,0.2,1) < OrderStopLoss()) && (Ask < iSAR(NULL,0,0.02,0.2,1)) && (OrderOpenPrice() > iSAR(NULL,0,0.02,0.2,1)) && (iSAR(NULL,0,0.02,0.2,1) < iSAR(NULL,0,0.02,0.2,2)))
         {
          OrderModify(OrderTicket(),OrderOpenPrice(),iSAR(NULL,0,0.02,0.2,1),OrderTakeProfit(),0,Blue);
          Print("Order # ",OrderTicket()," updated at ",Hour(),":",Minute(),":",Seconds());
          return(0);
         }
       }
     }
   }

  if (Buy_Mode==true && OpenBuyOrders==0) 
   {
    if(OpenSellOrders > 0)
     {
      CloseShorts(MagicNumber);
      OpenSellOrders = 0; 
     } 
    if(

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

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

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

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

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

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

Стоимость полного кода
852,20₽ ≈ $10.42