e-bjf-rsi.mq4
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «e-bjf-rsi.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.