acceleratorbot_usdjpyh4.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «acceleratorbot_usdjpyh4.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный файл представляет собой торговый советник для платформы MetaTrader 4, написанный на языке MQL4. Советник автоматически открывает и закрывает позиции на основе комбинации технических индикаторов и паттернов свечей.
Логика работы основана на сравнении индекса ADX с его сигнальным уровнем, а также на данных осциллятора AC (Awesome Oscillator), усреднённых по нескольким таймфреймам. Для фильтрации сигналов используются паттерны Morning Star, Evening Star, Bullish Engulfing, Bearish Engulfing и Doji.
Советник поддерживает автоматический расчёт размера лота на основе процента риска от баланса счёта, а также наличие трейлинг-стопа. Открытие и закрытие позиций осуществляется через стандартные торговые функции MetaTrader 4 с использованием магического номера для идентификации ордеров.
В коде заданы параметры StopLoss, TakeProfit, начальный размер лота и уровни ADX, которые пользователь может изменять. Советник работает на текущем символе графика, на котором он установлен.
Настройки программы
| Настройка | Описание |
|---|---|
| StopLoss(in pips) (StopL) | Стоп-лосс — Уровень стоп-лосса в пунктах для открытых позиций. |
| TakeProfit (TakeProfit) | Тейк-профит — Уровень тейк-профита в пунктах для открытых позиций. |
| Lot size (Lots) | Размер лота — Начальный размер лота, используемый при ручном режиме или как базовое значение для авто-расчёта. |
| Trailing stop (in pips) (Trailing) | Трейлинг-стоп — Расстояние трейлинг-стопа в пунктах. Если значение равно нулю, трейлинг-стоп не активируется. |
| percent riked by trade (percent) | Процент риска — Процент риска от баланса счёта, используемый при автоматическом расчёте размера лота. |
| AutoLots | Автоматический лот — Переключатель автоматического расчёта размера лота на основе процента риска от баланса счёта. |
| x1 | Вес AO недельный — Весовой коэффициент Awesome Oscillator на недельном таймфрейме в алгоритме формирования сигнала. |
| x2 | Вес AO дневной — Весовой коэффициент Awesome Oscillator на дневном таймфрейме в алгоритме формирования сигнала. |
| x3 | Вес AO четырёхчасовой — Весовой коэффициент Awesome Oscillator на четырёхчасовом таймфрейме в алгоритме формирования сигнала. |
| ADXP | Период ADX — Период индикатора ADX, используемый для определения силы тренда. |
| ADXS | Уровень ADXS — Сигнальный уровень индикатора ADX, при превышении которого советник открывает позиции. |
Поиск по коду файла
#property version "1.00"
#property strict
int RiskBoost=3;
int magicalNumber = 24542789;
extern int StopL = 750; //StopLoss(in pips)
extern int TakeProfit = 9999; //TakeProfit
int slippage = 3;
extern double Lots = 0.01; // Lot size
extern int Trailing =0; //Trailing stop (in pips)
extern double percent = 0.02; //percent riked by trade
extern bool AutoLots=True;
int depotinit=500;
bool saving=false;
int MovingPeriod = 200;
extern int x1=0;
extern int x2=150;
extern int x3=500;
extern int ADXP=14;
extern int ADXS=20;
int filtre=5;
int ticket = 0;
double iDoji=8.5;
int OnInit()
{
// код доступен только после оплаты
}
void OnDeinit(const int reason)
{
}
int start()
{
// код доступен только после оплаты
}
void CloseSell()
{
int total=OrdersTotal();
for(int y=OrdersTotal()-1; y>=0; y--)
{
if(OrderSelect(y,SELECT_BY_POS,MODE_TRADES))
if(OrderSymbol()==Symbol() && OrderType()==OP_SELL && OrderMagicNumber()==magicalNumber)
{
ticket=OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),5,Black);
}
}
}
void CloseBuy()
{
int total=OrdersTotal();
for(int y=OrdersTotal()-1; y>=0; y--)
{
if(OrderSelect(y,SELECT_BY_POS,MODE_TRADES))
if(OrderSymbol()==Symbol() && OrderType()==OP_BUY && OrderMagicNumber()==magicalNumber)
{
ticket=OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),5,Black);
}
}
}
void OpenBuy()
{
double EMA_D5_1 = iMA(Symbol(),PERIOD_D1,5,0,MODE_EMA,PRICE_CLOSE,1);
double EMA_D5_0 = iMA(Symbol(),PERIOD_D1,5,0,MODE_EMA,PRICE_CLOSE,0);
double EMA_D20_0 = iMA(Symbol(),PERIOD_D1,20,0,MODE_EMA,PRICE_CLOSE,0);
double EMA_D130_0 = iMA(Symbol(),PERIOD_MN1,6,0,MODE_EMA,PRICE_CLOSE,0);
double BuyLots=Lots;
double SellLots=Lots;
if ((EMA_D5_0 > EMA_D20_0) && (EMA_D5_0 > EMA_D5_1) && (EMA_D20_0 > EMA_D130_0))
{
BuyLots=Lots;
SellLots=Lots;
}
if ((EMA_D5_0 < EMA_D20_0) && (EMA_D5_0 < EMA_D5_1) && (EMA_D20_0 < EMA_D130_0))
{
BuyLots=Lots;
SellLots=Lots;
}
ticket=OrderSend(Symbol(),OP_BUY,BuyLots,Ask,slippage,Ask-StopL*Point,Ask+TakeProfit*Point,"BUY",magicalNumber,0,Green);
if (ticket>=0)
{
if(OrderSelect(ticket,SELECT_BY_TICKET))
{
bool res=OrderModify(OrderTicket(),OrderOpenPrice(),Ask-StopL*Point,Ask+TakeProfit*Point,0,Blue);
if(!res)
Print("Error in OrderModify. Error code=",GetLastError());
else
Print("Order modified successfully.");
}
}
}
void OpenSell()
{
double EMA_D5_1 = iMA(Symbol(),PERIOD_D1,5,0,MODE_EMA,PRICE_CLOSE,1);
double EMA_D5_0 = iMA(Symbol(),PERIOD_D1,5,0,MODE_EMA,PRICE_CLOSE,0);
double EMA_D20_0 = iMA(Symbol(),PERIOD_D1,20,0,MODE_EMA,PRICE_CLOSE,0);
double EMA_D130_0 = iMA(Symbol(),PERIOD_MN1,6,0,MODE_EMA,PRICE_CLOSE,0);
double BuyLots=Lots;
double SellLots=Lots;
if ((EMA_D5_0 > EMA_D20_0) && (EMA_D5_0 > EMA_D5_1) && (EMA_D20_0 > EMA_D130_0))
{
BuyLots=Lots;
SellLots=Lots;
}
if ((EMA_D5_0 < EMA_D20_0) && (EMA_D5_0 < EMA_D5_1) && (EMA_D20_0 < EMA_D130_0))
{
BuyLots=Lots;
SellLots=Lots;
}
double ATR=iATR(NULL,0,20,0);
ticket = OrderSend(Symbol(),OP_SELL,SellLots,Bid,slippage,Bid+StopL*Point,Bid-TakeProfit*Point,"SELL",magicalNumber,0,Green);
if (ticket>=0)
{
Показано первые 50% кода (символов: 7005)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.