multi_ea_1_1_5_1_rsx.mq4
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «multi_ea_1_1_5_1_rsx.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой торгового советника для платформы MetaTrader 4, написанный на языке MQL4. Советник использует пользовательские индикаторы RSX, рассчитанные на трёх валютных парах, для определения направления торговли. Он управляет открытыми позициями, применяя трейлинг-стоп и ограничения по времени торговли. Расчёт размера позиции основан на доступном маржинале и заданных параметрах риска с корректировкой при серии убыточных сделок.
Настройки программы
| Настройка | Описание |
|---|---|
| UsePct | Использовать процент — Целочисленный параметр, определяющий режим расчёта размера лота |
| MaxLots | Максимальный лот — Ограничение максимального допустимого размера позиции в лотах |
| Slippage | Проскальзывание — Допустимое отклонение цены при открытии или закрытии позиции в пунктах |
| Lots | Размер лота — Базовый размер лота для расчёта объёма позиции |
| MaximumRisk | Максимальный риск — Доля свободного маржинала, используемая для определения размера позиции |
| DecreaseFactor | Коэффициент уменьшения — Параметр, влияющий на снижение размера лота при серии убыточных сделок |
| MinLot | Минимальный лот — Наименьший допустимый размер позиции в лотах |
| TrailingStop | Трейлинг-стоп — Расстояние в пунктах для установки и модификации трейлинг-стопа по открытой позиции |
| UseHourTrade | Использовать ограничение по часам — Включает или отключает фильтр торговли по времени суток |
| FromHourTrade | Начальный час торговли — Час начала разрешённого окна торговли |
| ToHourTrade | Конечный час торговли — Час окончания разрешённого окна торговли |
| SignalCandle | Свеча сигнала — Номер свечи, используемой для получения сигнала от индикатора RSX |
Поиск по коду файла
#define MAGICMA 162429
extern int UsePct=0;
extern int MaxLots=100;
extern int Slippage=2;
extern double Lots=1;
extern double MaximumRisk=0.05;
extern double DecreaseFactor=6;
extern double MinLot=0.1;
extern double TrailingStop=30;
double StartBalance,StartEquity;
extern bool UseHourTrade = false;
extern int FromHourTrade = 6;
extern int ToHourTrade = 18;
extern int SignalCandle = 1;
int bsi=0;
int dir=0;
int vTrig=0;
int openorders=0;
int cnt;
string pair;
int init()
{
// код доступен только после оплаты
}
int deinit()
{
return(0);
}
int GetCurrentOrders()
{
openorders=0;
dir=0;
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderSymbol()==Symbol())
{
openorders+=1;
if(OrderType()==OP_BUY) dir=1;
if(OrderType()==OP_SELL) dir=-1;
}
}
}
double LotsOptimized()
{
double lot=Lots;
int orders=HistoryTotal(); // history orders total
int losses=0; // number of losses orders without a break
lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/500.0,1);
if(DecreaseFactor>0)
{
for(int i=orders-1;i>=0;i--)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Error in history!"); break; }
if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continue;
if(OrderProfit()>0) break;
if(OrderProfit()<0) losses++;
}
if(losses>1) lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);
}
if(lot<0.1) lot=0.1;
return(lot);
}
int CloseTrade()
{
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderSymbol()==Symbol())
{
if(OrderType()==OP_BUY) OrderClose(OrderTicket(),OrderLots(),Bid,3,Yellow);
if(OrderType()==OP_SELL) OrderClose(OrderTicket(),OrderLots(),Ask,3,Yellow);
}
}
}
int OpenTrade()
{
int vLots=LotsOptimized();
if (bsi>0) OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,Slippage,0,0,NULL,MAGICMA,0,Green);
if (bsi<0) OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,Slippage,0,0,NULL,MAGICMA,0,Red);
}
int CalcBSI()
{
double GBPUSD, EURUSD, USDCHF;
int GU_TriПоказано первые 50% кода (символов: 3307)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.