TRUE_SCALPER
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «true scalper v11 sergey.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
TRUE_SCALPER — торговый советник для платформы MetaTrader 4, написанный на языке MQL4. Советник анализирует ценовые данные с использованием скользящих средних и индикатора относительной силы, а также применяет торговые операции MetaTrader для открытия и закрытия позиций. В коде реализована функция расчёта стоп-лосса на основе анализа диапазонов баров, а также механизм принудительного закрытия прибыли и отмены сделки с разворотом направления после заданного количества смен бара.
Настройки программы
| Настройка | Описание |
|---|---|
| Lots | Объём сделки — Размер позиции в лотах, используемый при открытии ордеров и проверке свободного маржи. |
| SergeyForceProfit | Принудительная фиксация прибыли — Множитель цены точки, при достижении прибыли в размере которого открытая позиция принудительно закрывается. |
| TakeProfit | Тейк-профит — Уровень фиксации прибыли в пунктах, задаваемый пользователем для установки при открытии ордера. |
| StopLoss | Стоп-лосс — Уровень допустимого убытка в пунктах, задаваемый пользователем; фактический стоп-лосс рассчитывается функцией NRTRStopLoss. |
| RSIPos | Порог RSI для бычьего сигнала — Значение индикатора RSI, выше которого направление считается бычьим (позитивным). |
| RSINeg | Порог RSI для медвежьего сигнала — Значение индикатора RSI, ниже которого направление считается медвежьим (негативным). |
| Slippage | Допустимое проскальзывание — Максимальное допустимое отклонение цены исполнения от запрошенной при отправке ордера. |
| abandon | Предел баров для отмены сделки — Количество смен бара, после которого открытая позиция закрывается и открывается новая в противоположном направлении. |
Поиск по коду файла
/*
Theory of operation
Based on MA3 of Bar[1], MA7 of Bar[1] and RSI of Bar[2]
ENTRY LONG When:
MA3(Bar[1]) is greater than MA7(Bar[1]) by at least 1 pip
RSI(2-period Bar[2]) greater than 50
ENTRY SHORT When:
MA3(Bar[1]) is less than than MA7(Bar[1]) by at least 1 pip
RSI(2-period Bar[2]) less than 50
EXIT #1:
# of ticks to abandon trade is exceeded,
trade is closed, and another is opened in the opposite direction
EXIT #2
TakeProfit (optimized) or Stoploss(optimized)
MONEY MANAGEMENT
-none-
RISK MANAGEMENT
TP/SL ~ .5 that is, SL is 2X TP mitigated by reversing hedge
TIME FRAME
15 MINUTES
also works well at 1 HOUR
*/
extern double Lots =0.1;
extern double SergeyForceProfit =3;
extern int TakeProfit =44;
extern int StopLoss =90;
extern int RSIPos =50;
extern int RSINeg =50;
extern int Slippage =2;
extern int abandon =101;
datetime bartime=0;
int bartick=0;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
}
int start()
{
// код доступен только после оплаты
}
double p=Point();
int cnt=0;
int OrdersPerSymbol=0;
double bullMA3=0;
double bearMA7=0;
double RSI=0;
bool RSIPOS=0;
bool RSINEG=0;
double TP;
double SL;
if(AccountFreeMargin()<(200*Lots)) {Print("-----NO MONEY");
return(0);}
if(iBars(Symbol(),PERIOD_H1)<100) {Print("-----NO BARS ");
return(0);}
if(bartime!=Time[0]) {bartime=Time[0];
bartick++; }
bullMA3=iMA(Symbol(),0,3,0,MODE_EMA,PRICE_CLOSE,1);
bearMA7=iMA(Symbol(),0,7,0,MODE_EMA,PRICE_CLOSE,1);
RSI=iRSI(Symbol(),0,2,PRICE_CLOSE,2);
if(RSI>RSIPos) {RSIPOS=true; RSINEG=false;}
if(RSI<RSINeg) {RSIPOS=false; RSINEG=true;}
OrdersPerSymbol=0;
for(cnt=OrdersTotal();cnt>=0;cnt--)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if( OrderSymbol()==Symbol() )
{
OrdersPerSymbol++;
}
}
if(OrdersPerSymbol==0)
{
if(bullMA3>(bearMA7+p) && RSINEG)
{
NRTRStopLoss();
SL=NRTRStopLoss();//Ask-(StopLoss*p);
TP=Ask+(TakeProfit*p);
OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,SL,TP,"BUY"+CurTime(),0,0,White);
bartick=0;
}
if(bullMA3<(bearMA7-p) && RSIPOS)
{
NRTRStopLoss();
SL=NRTRStopLoss();//Bid+(StopLoss*p);
TP=Bid-(TakeProfit*p);
OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,SL,TP,"SELL"+CurTime(),0,0,Red);
bartick=0;
}
} //if
if(OrdersPerSymbol==1 && bartick==abandon)
{
if(OrderType()==OP_BUY)
{
OrderClose(OrderTicket(),Lots,Bid,Slippage,White);
NRTRStopLoss();
SL=NRTRStopLoss();//Bid+(StopLoss*p);
TP=Bid-(TakeProfit*p);
OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,SL,TP,"SELL"+CurTime(),0,0,Red);Показано первые 50% кода (символов: 5519)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.