auto_trade_with_rsi.mq4
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «auto_trade_with_rsi.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Советник для MetaTrader 4, работающий на текущем инструменте. Использует значения индикатора RSI для принятия решений об открытии и закрытии позиций. Поддерживает ручной и автоматический расчёт объёма позиции, фиксированные или условные стоп-лосс и тейк-профит, а также трейлинг-стоп.
Настройки программы
| Настройка | Описание |
|---|---|
| Program | Программа — Имя программы, используемое в комментарии ордеров для их идентификации. |
| OpenBUY | Открытие BUY — Включает или отключает возможность открытия длинных позиций. |
| OpenSELL | Открытие SELL — Включает или отключает возможность открытия коротких позиций. |
| RSIperiod | Период RSI — Период расчёта индикатора RSI. |
| ManualLots | Ручной объём — Фиксированный размер лота при отключённом автоматическом расчёте. |
| AutoLot | Авто-объём — Включает автоматический расчёт размера лота на основе риска. |
| Risk | Риск — Процент риска, используемый при автоматическом расчёте лота. |
| StopLoss | Стоп-лосс — Размер стоп-лосса в пунктах; ноль отключает стоп-лосс. |
| TakeProfit | Тейк-профит — Размер тейк-профита в пунктах; ноль отключает тейк-профит. |
| CloseBySignal | Закрытие по сигналу — Включает автоматическое закрытие позиций при изменении сигнала RSI. |
| TrailingStop | Трейлинг-стоп — Размер трейлинг-стопа в пунктах; ноль отключает трейлинг-стоп. |
| Slippage | Проскальзывание — Максимально допустимое проскальзывание в пунктах при выставлении ордеров. |
| MagicNumber | Магический номер — Идентификатор ордеров для фильтрации позиций советника. |
Поиск по коду файла
#property version "1.00"
#property strict
input string Program="Auto Trade With RSI";
input bool OpenBUY=True;
input bool OpenSELL=True;
input int RSIperiod=14;
input double ManualLots=0.2;
input bool AutoLot=True;
input double Risk=5;
input double StopLoss=0;
input double TakeProfit=100;
input bool CloseBySignal=False;
input double TrailingStop=0;
input int Slippage=10;
input int MagicNumber=786;
int OrderBuy,OrderSell;
int ticket;
int LotDigits;
double Trail,iTrailingStop;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
return(0);
}
int start()
{
// код доступен только после оплаты
}
double stoplevel=MarketInfo(Symbol(),MODE_STOPLEVEL);
OrderBuy=0;
OrderSell=0;
for(int cnt=0; cnt<OrdersTotal(); cnt++)
{
if(OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES))
if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber && OrderComment()==Program)
{
if(OrderType()==OP_BUY) OrderBuy++;
if(OrderType()==OP_SELL) OrderSell++;
if(TrailingStop>0)
{
iTrailingStop=TrailingStop;
if(TrailingStop<stoplevel) iTrailingStop=stoplevel;
Trail=iTrailingStop*Point;
double tsbuy=NormalizeDouble(Bid-Trail,Digits);
double tssell=NormalizeDouble(Ask+Trail,Digits);
if(OrderType()==OP_BUY && Bid-OrderOpenPrice()>Trail && Bid-OrderStopLoss()>Trail)
{
ticket=OrderModify(OrderTicket(),OrderOpenPrice(),tsbuy,OrderTakeProfit(),0,Blue);
}
if(OrderType()==OP_SELL && OrderOpenPrice()-Ask>Trail && (OrderStopLoss()-Ask>Trail || OrderStopLoss()==0))
{
ticket=OrderModify(OrderTicket(),OrderOpenPrice(),tssell,OrderTakeProfit(),0,Blue);
}
}
}
}
double rsi0=iRSI(Symbol(),0,RSIperiod,PRICE_CLOSE,0);
double rsi1=iRSI(Symbol(),0,RSIperiod,PRICE_CLOSE,1);
double rsi2=iRSI(Symbol(),0,RSIperiod,PRICE_CLOSE,2);
double rsi3=iRSI(Symbol(),0,RSIperiod,PRICE_CLOSE,3);
double rsi4=iRSI(Symbol(),0,RSIperiod,PRICE_CLOSE,4);
double rsi5=iRSI(Symbol(),0,RSIperiod,PRICE_CLOSE,5);
double rsi6=iRSI(Symbol(),0,RSIperiod,PRICE_CLOSE,6);
double rsi7=iRSI(Symbol(),0,RSIperiod,PRICE_CLOSE,7);
double rsi8=iRSI(Symbol(),0,RSIperiod,PRICE_CLOSE,8);
double rsi9=iRSI(Symbol(),0,RSIperiod,PRICE_CLOSE,9);
double rsi10=iRSI(Symbol(),0,RSIperiod,PRICE_CLOSE,10);
double rsi11=iRSI(Symbol(),0,RSIperiod,PRICE_CLOSE,11);
double rsi12=iRSI(Symbol(),0,RSIperiod,PRICE_CLOSE,12);
double rsi13=iRSI(Symbol(),0,RSIperiod,PRICE_CLOSE,13);
double rsi14=iRSI(Symbol(),0,RSIperiod,PRICE_CLOSE,14);
double rsi15=iRSI(Symbol(),0,RSIperiod,PRICE_CLOSE,15);
double rsi16=iRSI(Symbol(),0,RSIperiod,PRICE_CLOSE,16);
double rsi17=iRПоказано первые 50% кода (символов: 4459)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.