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

RSI Recovery

rsi recovery source code.mq5

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

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 Recovery — это торговый советник для MetaTrader 5, который использует показания индикатора RSI для поиска точек входа и управляет позициями через торговый класс CTrade. Советник работает на выбранном пользователем таймфрейме RSI и реагирует на пересечение уровня индикатора заданных зон покупки и продажи.

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

Советник отслеживает суммарную прибыль по своим позициям на текущем символе и при достижении заданного порога прибыли закрывает все свои позиции. Закрытие выполняется с несколькими попытками для повышения надёжности исполнения.

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

НастройкаОписание
SimpleForexTeam__ Информационное текстовое поле с приглашением присоединиться к каналу автора. На торговую логику не влияет.
LotSize Объём открываемой позиции в лотах.
CloseWhenInProfit Порог суммарной прибыли в денежных единицах, при достижении которого советник закрывает все свои позиции по текущему символу.
sellzone Уровень RSI, при пересечении которого сверху вниз советник рассматривает открытие позиции на продажу.
buyzone Уровень RSI, при пересечении которого снизу вверх советник рассматривает открытие позиции на покупку.
RsiTimeframe Таймфрейм, на котором рассчитывается индикатор RSI.
RsiPeriod Количество периодов для расчёта индикатора RSI.
RsiAppliedPrice Тип цены, применяемой при расчёте индикатора RSI.
InpMagicNumber Уникальный идентификатор (магический номер) позиций советника. Используется для фильтрации своих позиций при подсчёте прибыли и закрытии.
Получить полный код

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

#property description "RSI Recovery - Martingale Strategy"
#property version   "1.0"
#property strict

#include <Trade/trade.mqh>
CTrade obj_Trade;

string ZONE_L = "ZL";
string ZONE_H ="ZH";
string ZONE_T_H = "ZTH";
string ZONE_T_L ="ZTL";

input string SimpleForexTeam__ = "free tools for forex! Join our channel for more free eas";
input string The_our_telegram = "";
input string The_best_VPS = "";
input double LotSize = 0.01;              //Lot Size
input double CloseWhenInProfit = 20;     // Close all trades when in profit of x $
input double sellzone=100;
input double buyzone=35;
input ENUM_TIMEFRAMES RsiTimeframe= PERIOD_M1;
input int RsiPeriod=14;
input ENUM_APPLIED_PRICE RsiAppliedPrice=PRICE_CLOSE;
input int InpMagicNumber =897654;    //Magic Number

int handleRsi;
double Rsi[];
int barsTotal=0;
double zoneLow=0;
double zoneHigh=0;
double zoneTargetLow=0;
double zoneTargetHigh=0;

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

void OnTick()
  {
      // код доступен только после оплаты
   }
   double zoneRange=2000*_Point;
   double zoneTarget=4000*_Point;

   int bars=iBars(_Symbol,RsiTimeframe);
   if(barsTotal==bars)
      return;
   barsTotal=bars;
   if(!CopyBuffer(handleRsi,0,1,2,Rsi))
      return;

   if(Rsi[1]<buyzone &&Rsi[0]>buyzone)
     {

      obj_Trade.Buy(LotSize);

      ulong PosTkt=obj_Trade.ResultOrder();
      if(PosTkt>0)
        {
         if(PositionSelectByTicket(PosTkt))
           {
            double OpenPrice= PositionGetDouble(POSITION_PRICE_OPEN);
            zoneHigh= NormalizeDouble(OpenPrice,_Digits);
            zoneLow= NormalizeDouble(zoneHigh-zoneRange,_Digits);
            zoneTargetHigh= NormalizeDouble(zoneHigh+zoneTarget,_Digits);
            zoneTargetLow=NormalizeDouble(zoneLow-zoneTarget,_Digits);

              drawZoneLevel(ZONE_H,zoneHigh,clrCyan,2);
              drawZoneLevel(ZONE_L,zoneLow,clrCyan,2);             
              drawZoneLevel(ZONE_T_H,zoneTargetHigh,clrBlue,2); 
              drawZoneLevel(ZONE_T_L,zoneTargetLow,clrBlue,2);
           }
        }
     }
   else
      if(Rsi[1]>sellzone &&Rsi[0]<sellzone)
        {

         obj_Trade.Sell(LotSize);
         ulong PosTkt=obj_Trade.ResultOrder();
         if(PosTkt>0)
           {
            if(PositionS

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

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

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

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

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

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

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