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

e-bjf-rsi.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 общих тегов
Вы автор или правообладатель?

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

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

О программе

e-bjf-rsi.mq4 — торговый советник для MetaTrader 4, работающий на основе индикатора RSI. Он вычисляет значения RSI на двух последовательных барах и открывает позиции при пересечении заданных пороговых уровней.

При пересечении RSI вниз порога покупки (по умолчанию 30) советник пытается открыть позиции BUY, при пересечении вверх порога продажи (по умолчанию 70) — позиции SELL. Перед открытием проверяется количество существующих позиций, закрываются ордера в противоположном направлении и проверяется отсутствие ордеров, открытых на текущем баре.

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

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

НастройкаОписание
_tmp1_ Разделитель группы параметров торговли
Lots Объём лота для открытия позиции
StopLoss Стоп-лосс для позиции, в пунктах
TakeProfit Тейк-профит для позиции, в пунктах
Slippage Допустимое проскальзывание цены при открытии ордера, в пунктах
Magic Магический номер для идентификации ордеров советника
_tmp2_ Разделитель группы параметров RSI
_tmp3_ Разделитель группы параметров отображения на графике
clBuy Цвет отображения ордеров и позиций на покупку
clSell Цвет отображения ордеров и позиций на продажу
clClose Цвет отображения закрытия ордеров
Получить полный код

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

#define major   1
#define minor   0

extern string _tmp1_ = " --- Trade params ---";
extern double Lots = 0.1;
extern int StopLoss = 290;
extern int TakeProfit = 190;
extern int Slippage = 3;
extern int Magic = 20090601;

extern string _tmp2_ = " --- RSI ---";
extern int RSI.period = 3;
extern int RSI.applied_price = PRICE_CLOSE;
extern int RSI.SignalBar = 1;
extern double RSI.SellAbove = 70.0;
extern double RSI.BuyBelow = 30.0;

extern string _tmp3_ = " --- Chart ---";
extern color clBuy = DodgerBlue;
extern color clSell = Red;
extern color clClose = Gold;

#include <stdlib.mqh>
#include <stderror.mqh>

int RepeatN = 3;
int BuyCnt, SellCnt;

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

void deinit() 
{
}

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

double If(bool cond, double if_true, double if_false)
{
  if (cond) return (if_true);
  return (if_false);
}

double GetLots() 
{
  return (Lots);
}

void RecountOrders()
{
  BuyCnt = 0;
  SellCnt = 0;

  int cnt = OrdersTotal();
  for (int i=0; i < cnt; i++) 
  {
    if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;
    if (OrderSymbol() != Symbol()) continue;
    if (OrderMagicNumber() != Magic) continue;

    int type = OrderType();
    if (type == OP_BUY) BuyCnt++;
    if (type == OP_SELL) SellCnt++;
  }
}

int OrdersCountBar0(int TF)
{
  int orders = 0;

  int cnt = OrdersTotal();
  for (int i=0; i<cnt; i++) 
  {
    if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;
    if (OrderSymbol() != Symbol()) continue;
    if (OrderMagicNumber() != Magic) continue;

    if (OrderOpenTime() >= iTime(NULL, TF, 0)) orders++;
  }

  cnt = OrdersHistoryTotal();
  for (i=0; i<cnt; i++) 
  {
    if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) continue;
    if (OrderSymbol() != Symbol()) continue;
    if (OrderMagicNumber() != Magic) continue;

    if (OrderOpenTime() >= iTime(NULL, TF, 0)) orders++;
  }

  return (orders);
}

int CloseOrders(int type1, int type2 = -1) 
{  
  int cnt = OrdersTotal();
  for (int i=cnt-1; i >= 0; i--) 
  {
    if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES

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

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

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

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

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

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

Стоимость полного кода
498,90₽ ≈ $6.10