← К каталогу
Исходный код · ID 2457

FlyBot EA

flybot ea 2.0@lifeindreamsworld.mq4
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

FlyBot EA — торговый советник для MetaTrader 4, разработанный автором MFOREX.PRO. Программа автоматически анализирует текущие свечи, определяет направление тренда по соотношению тела свечи и среднего диапазона бара, а затем открывает ордера BUY или SELL в заданном временном окне.

Советник рассчитывает размер лота на основе баланса счёта и параметра риска, проверяет свободную маржу перед входом и поддерживает сетевое размещение ордеров при достиженении лимита позиций. При накоплении прибыли по всем открытым позициям, заданной в параметрах, советник закрывает все ордера.

В интерфейсе реализована информационная панель с отображением баланса, эквити, текущей и исторической прибыли, а также торговые кнопки BUY и SELL для ручного управления. Дополнительно предусмотрена привязка к номеру счёта с выводом предупреждения при несоответствии.

Настройки программы

НастройкаОписание
Risk Риск — Доля баланса счёта (в процентах), используемая для расчёта размера лота при каждой сделке.
ProfitPips Прибыль для закрытия — Количество пунктов совокупной прибыли, при достижении которых все открытые позиции закрываются.
TimeFrame Таймфрейм — Таймфрейм, на котором советник анализирует свечные данные для формирования торговых сигналов.
TimeStart Время начала — Час начала временного окна (в часах серверного времени), в пределах которого советник допускает открытие новых ордеров.
TimeEnd Время окончания — Час окончания временного окна (в часах серверного времени), в пределах которого советник допускает открытие новых ордеров.
HowBar HowBar — Количество баров, используемых для расчёта среднего диапазона свечи при определении торгового сигнала.
ExpBar ExpBar — Множитель среднего диапазона бара, используемый для определения силы текущего движения цены и принятия решения об открытии позиции.
MaxOrders Максимум ордеров — Максимальное количество ордеров, одновременно открытых советником на символе.
Magic Magic Number — Идентификационный номер (Magic Number), присваиваемый ордерам для фильтрации и управления позициями советником.
SpeedEA Скорость работы — Интервал в миллисекундах между вызовами внутреннего таймера, определяющий частоту обновления данных советником.
Info Отображение информации — Включает или отключает отображение информационной панели и торговых кнопок на графике.
TextColor Цвет текста — Цвет основного текста меток на информационной панели.
InfoDataColor Цвет данных — Цвет числовых данных, отображаемых в информационной панели.
FonColor Цвет фона — Цвет фона информационной панели и предупреждающих меток на графике.
FontSizeInfo Размер шрифта — Размер шрифта текстовых меток и кнопок на информационной панели.
Получить полный код

Поиск по коду файла

#property version   "2.00"
#property strict

extern double    Risk             =0.5; 
extern int       ProfitPips       =20;
extern int       TimeFrame        =0;  
extern int       TimeStart        =3; 
extern int       TimeEnd          =23;
extern int       HowBar           =1000; 
extern double    ExpBar           =2.4;
extern int       MaxOrders        =200;
extern int       Magic            =2021;
extern int       SpeedEA          =200;
extern bool      Info             =true;  
extern color     TextColor        =White;   
extern color     InfoDataColor    =DodgerBlue; 
extern color     FonColor         =Black;   
extern int       FontSizeInfo     =7;      

string           Commemt          ="www.mforex.pro";
int              D,o;
double           Lot              =0;
int              dig;
color            FonButtonBuy     =Blue;
color            FonButtonSell    =Red;
color            TextButtonBS     =White; 
color            ButtonBorder     =Blue;
color            ClickButton      =Black;
int              AccNumber        =0;

int OnInit()
{
      // код доступен только после оплаты
   }

void OnDeinit(const int reason)
{
EventKillTimer();
ObjectsDeleteAll(0,OBJ_LABEL);
ObjectsDeleteAll(0,OBJ_RECTANGLE_LABEL);
}

void OnTick()
{
      // код доступен только после оплаты
   }

void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam)
{

if(ObjectGetInteger(0,"TRADEs_B",OBJPROP_STATE))
 {ObjectSetInteger(0,"TRADEs_B",OBJPROP_BGCOLOR,ClickButton);}
else 
 {ObjectSetInteger(0,"TRADEs_B",OBJPROP_BGCOLOR,FonButtonBuy);}

if(ObjectGetInteger(0,"TRADEs_S",OBJPROP_STATE))
 {ObjectSetInteger(0,"TRADEs_S",OBJPROP_BGCOLOR,ClickButton);}
else 
 {ObjectSetInteger(0,"TRADEs_S",OBJPROP_BGCOLOR,FonButtonSell);}

if(id==CHARTEVENT_OBJECT_CLICK)
{string clickedChartObject=sparam;

if(clickedChartObject=="TRADEs_B")
  {o=OrderSend(Symbol(),OP_BUY,Lot,Ask,10,0,0,Commemt,Magic,0,Green);       
   ObjectSetInteger(0,"TRADEs_B",OBJPROP_STATE,false);}
if(clickedChartObject=="TRADEs_S")
  {o=OrderSend(Symbol(),OP_SELL,Lot,Bid,10,0,0,Commemt,Magic,0,Red);
   ObjectSetInteger(0,"TRADEs_S",OBJPROP_STATE,false);}

ChartRedraw();
}}

int CountHistBar(int type)
{
int count=0;
for(int i=OrdersHistoryTotal()-1;i>=0;i--)
 if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY))
  {
  if(Symbol()==OrderSymbol() && OrderMagicNumber()==Magic && OrderCloseTime()>=iTime(Symbol(),TimeFrame,0) && (type==-1 || OrderType()==type)) 
  {
  count++;
  }
  }
return(count);}

int CountBar(int type)
{
int count=0;
for(int i=OrdersTotal()-1;i>=0;i--)
 if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
  {
  if(Symbol()==OrderSymbol() && OrderMagicNumber()==Magic && OrderOpenTime()>=iTime(Symbol(),TimeFrame,0) && (type==-1 || OrderType()==type)) 
  {
  count++;
  }
  }
return(count);}

void ClosePos()
{bool cl;
 for(int i=OrdersTotal()-1;i>=0;i--)
{if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{if(OrderMagicNumber()==Magic)
{if(OrderType()==0)
{RefreshRates();
 cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_BID),Digits),10,White);}
if(OrderType()==1)
{RefreshRates();
 cl=OrderClose(OrderTicket(),OrderLots(),NormalizeDouble(MarketInfo(OrderSymbol(),MODE_ASK),Digits),10,White);}}}}}

double AllLots(int type) 
{double lot = 0;
   for (int cnt = OrdersTotal() - 1; cnt >= 0; cnt--) {
      if(OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES))
      {if (OrderMagicNumber()==Magic && (OrderType() == type || type==-1)) lot += OrderLots();}}
       return (lot);}

int CountAll(int type)
{
int count=0;
for(int i=OrdersTotal()-1;i>=0;i--)
 if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
  {
  if(OrderMagicNumber()==Magic &&  (type==-1 || OrderType()==type)) 
  {
  count++;
  }
  }
return(count);}

double BuyPric() {
   double oldorderopenprice=0;
   int oldticketnumber;
   double unused = 0;
   int ticketnumber = 0;
   for (int cnt = OrdersTotal() - 1; cnt >= 0; cnt--) {
      bool clos=OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != Magic) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_BUY) {
         oldticketnumber = OrderTicket();
         if (oldticketnumber > ticketnumber) {
            oldorderopenprice = OrderOpenPrice();
    

Показано первые 50% кода (символов: 14714)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
1 471,40₽ ≈ $17.98