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

Algo Samurai EA

algo samurai ea full.mq4
Вы автор или правообладатель?

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

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

О программе

Algo Samurai EA — торговый советник для MetaTrader 4, написанный на MQL4. Советник осуществняет управление торговыми операциями: размещает отложенные ордера BuyStop и SellStop, модифицирует стоп-лоссы открытых позиций и удаляет истёкшие ордера. Работает в стандартном цикле MQL4 через обработчики init, start и deinit.

Советник поддерживает автоматический расчёт размера лота на основе баланса счёта (при включённом AutoLot) или фиксированное значение лота. Включён фильтр по времени торговли — ордера размещаются и модифицируются только в интервале между StartHour и StopHour. В init предусмотрена проверка даты, после которой отображается предупреждение о завершении тестового периода.

На графике отображаются информационные метки с данными об аккаунте, брокере и ссылками. Советник использует магический номер для идентификации своих ордеров и позиций, а также настраиваемые уровни стоп-лосса, тейк-профита и шага модификации.

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

НастройкаОписание
Configuration Конфигурация — Текстовый параметр заголовка настроек
can change any number (magicnumber) Магический номер — Магический номер для идентификации ордеров советника
AutoLot Автолот — Переключатель автоматического расчёта размера лота на основе баланса счёта
AutoLotMode Режим автолота — Режим автолота (вариант настройки из перечисления Option1)
FixLot Фиксированный лот — Фиксированный размер лота при отключённом автолоте
OrderSetting Настройки ордеров — Текстовый параметр настроек ордеров
stoploss Стоп-лосс — Значение стоп-лосса в пунктах
takeprofit Тейк-профит — Значение тейк-профита в пунктах
step Шаг — Шаг модификации стоп-лосса и тейк-профита
change time for your need (Config) Настройка времени — Текстовый параметр для настройки временного фильтра
StartHour Час начала — Час начала торгового интервала для фильтра по времени
StopHour Час окончания — Час окончания торгового интервала для фильтра по времени
Получить полный код

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

enum Option1      {Expert = 10,Moderate = 20,Safe = 30  };

extern string Configuration="==== Setting ===="  ;  
extern int   magicnumber=777  ;  // can change any number 
extern bool AutoLot=true  ;   
extern  Option1  AutoLotMode=30  ;   
extern double FixLot=0.01  ;   
extern string OrderSetting="=== Leave as Default ===="  ;  
extern int   stoploss=150  ;   
extern int   takeprofit=1250  ;   
extern int   step=90  ;   
extern string Config="==== Time Filter ===="  ;  // change time for your need
extern int   StartHour=4  ;   
extern int   StopHour=22  ;   
  double    zong_1_do = 0.3;
  double    zong_2_do = AutoLotMode * 100;
  int       zong_3_in = 250;
  int       zong_4_in = 200;
  int       zong_5_in = 100;
  int       zong_6_in = 50;
  int       zong_7_in = 100;
  int       zong_8_in = 50;
  int       zong_9_in = 800;
  int       zong_10_in = 100;
  int       zong_11_in = 50;
  int       xt = 0;
  double    zong_18_do = 0.0;
  int       zong_19_in = 0;
  int       zong_20_in = 10;
  int       zong_21_in = 0;
  int       zong_22_in = 0;
  int       zong_23_in = 5;
  int       zong_24_in = 30;
  double    zong_25_do = 0.0;
  double    zong_26_do = 0.0;
  int       LotDigits = 0;
  double    lots = 0.0;

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

 int start()
 {
      // код доступен только после оплаты
   }
  int       Local_2_in;
  double    Local_3_do;
  double    Local_4_do;
  double    Local_5_do;
  double    Local_6_do;
  int       Local_7_in;
  int       Local_8_in;
  double    Local_9_do;
  int       Local_10_in;
  double    Local_11_do;
  int       Local_12_in;
  double    Local_13_do;
  double    Local_14_do;
  int       Local_15_in;
  int       Local_16_in;

  int       i;

 Display_Info(); 
 Local_2_in = 0 ;
 Local_3_do = 0.0 ;
 Local_4_do = 0.0 ;
 Local_5_do = 0.0 ;
 Local_6_do = 0.0 ;
 Local_7_in = 0 ;
 Local_8_in = 0 ;
 Local_9_do = 0.0 ;
 Local_10_in = 0 ;
 Local_11_do = 0.0 ;
 Local_12_in = 0 ;
 Local_13_do = 0.0 ;
 Local_14_do = 0.0 ;
 Local_15_in = 0 ;
 Local_16_in = 0 ;

 lots = NormalizeDouble(LotsOptimized ( ),LotDigits) ;
 zong_19_in = MarketInfo(Symbol(),14) ;
 for (i = 0 ; i < OrdersTotal() ; i = i + 1)
 {
   if ( !(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) || OrderSymbol() != Symbol() || magicnumber != OrderMagicNumber() )   continue;
   Local_2_in = OrderType() ;
   Local_3_do = NormalizeDouble(OrderStopLoss(),Digits()) ;
   Local_4_do = NormalizeDouble(OrderOpenPrice(),Digits()) ;
   Local_5_do = Local_3_do ;
   if ( Local_2_in == 0 )
   {
     Local_7_in = Local_7_in + 1;
     if ( Local_3_do<Local_4_do )
     {
       Local_15_in = zong_4_in ;
       Local_16_in = zong_3_in ;
     }
     else
     {
       if ( Local_3_do - Local_4_do<=NormalizeDouble(zong_4_in * Point(),Digits()) )
       {
         Local_15_in = zong_6_in ;
         Local_16_in = zong_5_in ;
       }
       else
       {
         if ( Local_3_do - Local_4_do<=NormalizeDouble(zong_9_in * Point(),Digits()) )
         {
           Local_15_in = zong_8_in ;
           Local_16_in = zong_7_in ;
         }
         else
         {
           Local_15_in = zong_11_in ;
           Local_16_in = zong_10_in ;
         }
       }
     }
     Local_13_do = NormalizeDouble(Local_15_in * Point() + Local_3_do,Digits()) ;
     Local_14_do = NormalizeDouble(Bid - Local_16_in * Point(),Digits()) ;
     if ( Local_14_do>Local_3_do && Local_13_do<=NormalizeDouble(Bid - zong_19_in * Point(),Digits()) )
     {
       Local_5_do = Local_13_do ;
     }
     if ( Local_5_do>Local_3_do )
     {
       if ( !(OrderModify(OrderTicket(),Local_4_do,Local_5_do,0.0,0,White)) )
       {
         Print("Error ",GetLastError(),"   Order Modify Buy   SL ",Local_3_do,"->",Local_5_do); 
       }
       else
       {
         Print("Order Buy Modify   SL ",Local_3_do,"->",Local_5_do); 
       }
     }
   }
   if ( Local_2_in == 1 )
   {
     Local_8_in = Local_8_in + 1;
     if ( Local_3_do>Local_4_do )
     {
       Local_15_in = zong_4_in ;
       Local_16_in = zong_3_in ;
     }
     else
     {
       if ( Local_3_do - Local_4_do>=NormalizeDouble(zong_4_in * Point(),Digits()) )
       {
         Local_15_in = zong_6_in ;
         Local_16_in = zong_5_in ;
       }
       else
       {
         if ( Local_3_do - Local_4_do>=NormalizeDouble(zong_9_in * Point(),Digits()) )
         {
           Local_15_in = zong_8_in ;
           Local_16_in = zong_7_in ;
         }
         else
         {
           Local_15_in = zong_11_in ;
           Local_16_in = zong_10_in ;
         }
       }
     }
     Local_13_do = NormalizeDouble(Local_3_do - Local_15_in * Point(),Digits()) ;
     Local_14_do = NormalizeDouble(Local_16_in * Point() + Ask,Digits()) ;
     if ( Local_14_do<Local_3_do && Local_13_do>=NormalizeDouble(zong_19_in * Point() + Ask,Digits()) )
     {
       Local_5_do = Local_13_do ;
     }
     if ( Local_5_do<Local_3_do )
     {
       if ( !(OrderModify(OrderTicket(),Local_4_do,Local_5_do,0.0,0,White)) )
       {
         Print("Error ",GetLastError(),"   Order Modify Buy   SL ",Local_3_do,"->",Local_5_do); 
       }
       else
       {
         Print("Order Buy Modify   SL ",Local_3_do,"->",Local_5_do); 
       }
     }
   }
   if ( Local_2_in == 4 )
   {
     Local_9_do = Local_4_do ;
     Local_10_in = OrderTicket() ;
     if ( !(dTime ( )) )
     {
       if ( !(OrderDelete(L

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

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

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

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

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

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

Стоимость полного кода
933,20₽ ≈ $11.41