easyrobot.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «easyrobot.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
EasyRobot — торговый советник для платформы MetaTrader 4, работающий на таймфрейме H1. Советник анализирует направление текущего бара и открывает позиции в соответствии с его направлением, устанавливая уровни стоп-лосс и тейк-профита на основе волатильности инструмента. Поддерживается функция трейлинг-стопа для управления открытыми позициями. Советник предоставляет возможность автоматического расчёта размера позиции на основе свободного маржи и заданного риска либо использования фиксированного размера лота. Все сделки идентифицируются магическим номером и строковыми комментариями, что позволяет фильтровать ордера и отслеживать журнал событий в тестовом и визуальном режимах.
Настройки программы
| Настройка | Описание |
|---|---|
| 1. Magic number (MagicNumber) | Магический номер — Идентификатор ордеров советника для фильтрации и отслеживания позиций. |
| 2. Auto lots (AutoLot) | Автоматический расчёт лота — Включает автоматический расчёт размера лота на основе свободного маржи и заданного риска; при выключении используется фиксированный размер лота. |
| 3. Fixed lots size (FixedLot) | Фиксированный размер лота — Размер лота, используемый при отключённом автоматическом расчёте. |
| 4. Risk % (if #2=true) (Risk) | Риск в процентах — Процент свободного маржи, используемый для автоматического расчёта размера лота. |
| 5. TP factor multiplier ( range 1.0-5.0/step 0.1 ) (TakeFactor) | Множитель тейк-профита — Множитель волатильности инструмента для расчёта уровня тейк-профита. |
| 6. SL factor multiplier ( range 1.0-5.0/step 0.1 ) (StopFactor) | Множитель стоп-лосса — Множитель волатильности инструмента для расчёта уровня стоп-лосса. |
| 7. Trailing stop (UseTstop) | Использовать трейлинг-стоп — Включает функцию трейлинг-стопа для управления открытыми позициями. |
| 8. Trailing start pips ( range 10.0-50.0/step 1.0 ) (Tstart) | Начало трейлинга в пунктах — Расстояние в пунктах от цены открытия, при достижении которого трейлинг-стоп начинает следовать за позицией. |
| 9. Trailing step pips ( range 10.0-50.0/step 1.0 ) (Tstep) | Шаг трейлинга в пунктах — Шаг смещения стоп-лосса при движении трейлинг-стопа. |
| 10. Order string comment long (oscb) | Комментарий для ордеров на покупку — Строковый комментарий, присваиваемый ордерам на покупку для их идентификации. |
| 11. Order string comment short (oscs) | Комментарий для ордеров на продажу — Строковый комментарий, присваиваемый ордерам на продажу для их идентификации. |
Поиск по коду файла
#property version "1.03"
#property strict
extern int MagicNumber = 1234567;//1. Magic number
extern bool AutoLot = true;//2. Auto lots
extern double FixedLot = 0.1;//3. Fixed lots size
extern int Risk = 2;//4. Risk % (if #2=true)
extern double TakeFactor = 4.2;//5. TP factor multiplier ( range 1.0-5.0/step 0.1 )
extern double StopFactor = 4.9;//6. SL factor multiplier ( range 1.0-5.0/step 0.1 )
extern bool UseTstop = true;//7. Trailing stop
extern double Tstart = 48.;//8. Trailing start pips ( range 10.0-50.0/step 1.0 )
extern double Tstep = 36.;//9. Trailing step pips ( range 10.0-50.0/step 1.0 )
extern string oscb = "ER_BUY";//10. Order string comment long
extern string oscs = "ER_SELL";//11. Order string comment short
bool journal=false,dash=false;
double _takefactor,
_stopfactor,
_point,
NewPoint,
_lots,
_otf,
_osf,
_tp,
_sl;
int ticket=0,_digits;
int OnInit()
{
// код доступен только после оплаты
}
void OnDeinit(const int reason)
{
Comment("");
}
void OnTick()
{
// код доступен только после оплаты
}
void BarSignal()
{
if(iOpen(Symbol(),PERIOD_CURRENT,0) < iClose(Symbol(),PERIOD_CURRENT,0))
SendBuy(Ask,FetchLots(),TakeFactor,StopFactor);
if(iOpen(Symbol(),PERIOD_CURRENT,0) > iClose(Symbol(),PERIOD_CURRENT,0))
SendSell(Bid,FetchLots(),TakeFactor,StopFactor);
}
void SendBuy(double bprice,double vol,double _tf,double _sf)
{
_otf = (ATR() * (Zd(_tf,NewPoint)));
_osf = (ATR() * (Zd(_sf,NewPoint)));
_tp = bprice + _otf * NewPoint;
_sl = bprice - _osf * NewPoint;
if(CheckMoneyForTrade(Symbol(),OP_BUY,vol))
ticket = OrderSend(Symbol(),OP_BUY,vol,bprice,3,_sl,_tp,oscb,MagicNumber,0,Green);
if(ticket<1)
{
Print("Order send BUY failed - errcode ",GetLastError());
return;
}
else
if(journal)
Print("Order send BUY executed successfully, ticket # ",ticket);
}
void SendSell(double sprice,double vol,double _tf,double _sf)
{
_otf = (ATR() * (Zd(_tf,NewPoint)));
_osf = (ATR() * (Zd(_sf,NewPoint)));
_tp = sprice - _otf * NewPoint;
_sl = sprice + _osf * NewPoint;
if(CheckMoneyForTrade(Symbol(),OP_SELL,vol))
ticket = OrderSend(Symbol(),OP_SELL,vol,sprice,3,_sl,_tp,oscs,MagicNumber,0,Red);
if(ticket<1)
{
Print("Order send SELL failed - errcode ",GetLastError());
return;
}
else
if(journal)
Print("Order send SELL executed successfully, ticket # ",ticket);
}
void Trail()
{
double stops=MarketInfo(Symbol(),MODE_STOPLEVEL);
for(int u=0; u<OrdersTotal(); u++)
{
if(!OrderSelect(u,SELECT_BY_POS,MODE_TRADES))
break;
if(OrderSymbol()!=Symbol() && OrderMagicNuПоказано первые 50% кода (символов: 4829)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.