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

Forex Cyborg Pro

forex cybory darwinex.mq4
Вы автор или правообладатель?

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

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

О программе

Forex Cyborg Pro — это торговый советник для платформы MetaTrader 4, позиционируемый как скальпер ночного типа. Работает на таймфрейме M15 и поддерживает множество валютных пар, включая EURUSD, GBPUSD, USDCHF, AUDUSD и другие. Советник обрабатывает рыночные и торговые события платформы через стандартные обработчики OnTick, OnInit и OnDeinit.

В продукт реализованы три режима управления рисками: фиксированный лот, риск на сделку в процентах от баланса и процент от баланса. Доступны два пресета — нормальный и консервативный, которые настраивают параметры сделок в зависимости от выбранной валютной пары. Также предусмотрены фильтры по времени торговли, автоматический расчёт смещения GMT и учёт летнего/зимнего времени.

Советник использует технические индикаторы (Bands, CCI, скользящие средние) для определения торговых условий и выполняет открытие и закрытие позиций через стандартные торговые функции MetaTrader 4. Реализована проверка корреляции между коррелированными сделками для минимизации рисков. В коде присутствует система валидации лицензионного ключа.

Версия продукта — 2.81. Автор указан как NNoby. Советник предназначен для работы на реальных и демо-счетах, однако часть защитных механизмов в исходном коде закомментированы.

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

НастройкаОписание
GENERAL_SETTINGS Заголовок раздела общих настроек советника.
Comment Текстовый комментарий, добавляемый к каждой открытой торговой позиции для идентификации сделок советника.
MagicNumber Целочисленный магический номер для идентификации ордеров, открытых данным советником. Позволяет отличать его сделки от сделок других советников.
Seperator0 Текстовый разделитель между группами настроек.
Info0 Информационный текст с пояснением о том, что GMT Offset и DST используются только при бэктестировании, если автоматический расчёт GMT не активирован.
GMT_autocalc Переключатель автоматического расчёта смещения GMT. При активации смещение вычисляется на основе текущего серверного времени, иначе используется вручную заданное значение.
GMT_offset Целочисленное значение смещения GMT в часах, используемое для расчёта торговых сессий. Применяется вручную, если автоматический расчёт отключён.
DST Настройка учёта перехода на летнее/зимнее время. Доступны варианты: None — без корректировки, US — корректировка по американскому правилу, Europe — по европейскому правилу.
Seperator2 Текстовый разделитель между группами настроек.
MM_SETTINGS Заголовок раздела настроек управления капиталом.
MoneyManagement Тип управления капиталом. MM_OFF — фиксированный лот, MM_SL — риск на сделку в процентах, MM_Depo — процент от баланса.
Auto_Risk Размер риска или размер лота в зависимости от выбранного типа управления капиталом. Используется как числовой параметр типа double.
Seperator3 Текстовый разделитель между группами настроек.
RISK_CONTROL Заголовок раздела настроек контроля рисков.
MinimizeRiskCorrelation Переключатель минимизации корреляционного риска. При активации советник проверяет количество открытых коррелированных позиций и блокирует открытие новых при превышении лимита.
MaxCorrelatedTradesPerCurrency Максимальное количество коррелированных сделок на одну валюту, при превышении которого открытие новых позиций блокируется.
SymbolPrefix Префикс символа, используемый для корректировки имени инструмента при определении корреляции между парами. Если пустая строка, префикс не применяется.
Seperator1 Текстовый разделитель между группами настроек.
Info2 Информационный текст о доступных валютных парах в базовой версии.
Info3 Информационный текст с указанием на начало списка пар базовой версии.
Info4 Информационный текст со списком валютных пар, доступными в базовой версии.
Info5 Информационный текст с указанием на дополнительные пары в стандартной и золотой версиях.
Info51 Информационный текст со списком дополнительных валютных пар для стандартной и золотой версий.
ADDITIONAL_SETTINGS Заголовок раздела дополнительных настроек советника.
PresetType Тип пресета настроек. ST_Normal — нормальный режим, ST_Conservative — консервативный режим с изменёнными параметрами.
StopTradingOnFridayClosing Переключатель остановки торговли в пятницу при закрытии недельной позиции. При активации советник прекращает открытие новых позиций в пятницу после заданного времени.
StopTradingOnMondayOpening Переключатель остановки торговли в понедельник при открытии недельной позиции. При активации советник не открывает позиции в понедельник до заданного времени.
ProhibitTime_Filter Текстовый параметр-фильтр запрещённого времени торговли. Используется для задания ограничений по времени открытия и закрытия позиций.
ProhibitStartHour Час начала запрещённого временного интервала для торговли. Советник не открывает позиции в этот период.
ProhibitStartMinute Минута начала запрещённого временного интервала для торговли.
ProhibitStopHour Час окончания запрещённого временного интервала для торговли.
ProhibitStopMinute Минута окончания запрещённого временного интервала для торговли.
Получить полный код

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

#property description "Forex Cybory Pro" 
#property description "It is a high-quality night scalp EA"
#property description "PAIR:AUDCAD, EURCAD, EURGBP, EURAUD, EURUSD, GBPUSD, USDCHF,AUDCHF, AUDUSD, CADCHF, EURCHF, GBPAUD, GBPCAD, USDCAD"
#property description "TF: M15"
#property version   "2.81"
#property strict

 enum _DST {
      None = 0,
      US = 1,
      Europe = 2,
          };
 enum _MoneyManagement {
      MM_OFF = 0,//Fixed lot
      MM_SL = 1,//Risk per Trade
      MM_Depo = 2,//Percent of Balance
          };
 enum _PresetType {
      ST_Normal = 0,//Normal
      ST_Conservative = 1,//Conservative
          };
extern string GENERAL_SETTINGS="GENERAL SETTINGS"  ;  
extern string Comment="Forex Cyborg v2.81"  ;   //Comment
extern long  LicenceKey=********  ;    //License key
extern int   MagicNumber=166654  ;    //Magic Number
extern string Seperator0="-------------------------"  ;   //-------------------
extern string Info0="\'GMT Offset\' and \'DST\' will only be used, during backtests and if \'GMT Auto calculation\' is not set"  ;   //Information
extern bool GMT_autocalc=FALSE  ;    //GMT Auto calculation
extern int   GMT_offset=0  ;    //GMT Offset
extern  _DST  DST=0  ;   
extern string Seperator2="-------------------------"  ;   //-------------------
extern string MM_SETTINGS="MONEY MANAGEMENT SETTINGS"  ;  
extern  _MoneyManagement  MoneyManagement=1  ;    //MM Type
extern double Auto_Risk=3.5  ;    //MM Size
extern string Seperator3="-------------------------"  ;   //-------------------
extern string RISK_CONTROL="RISK CONTROL SETTINGS"  ;  
extern bool MinimizeRiskCorrelation=true  ;   
extern int   MaxCorrelatedTradesPerCurrency=4  ;   
extern string SymbolPrefix=""  ;  
extern string Seperator1="-------------------------"  ;   //-------------------
extern string Info2="Presets available for the following pairs "  ;   //Information
extern string Info3="in the BASIC-version: "  ;   //Information
extern string Info4="AUDCAD, EURCAD, EURGBP, EURAUD, EURUSD, GBPUSD, USDCHF "  ;   //Information
extern string Info5="in the STANDARD + GOLD-version additionally: "  ;   //Information
extern string Info51="AUDCHF, AUDUSD, CADCHF, EURCHF, GBPAUD, GBPCAD, USDCAD "  ;   //Information
extern string ADDITIONAL_SETTINGS="ADDITIONAL SETTINGS"  ;  
extern  _PresetType  PresetType=0  ;    //Preset Type
extern bool StopTradingOnFridayClosing=false ;   
extern bool StopTradingOnMondayOpening=false ;   
input string             ProhibitTime_Filter="ProhibitTime_Filter_PLAT"  ;  
input int                ProhibitStartHour=0  ;   
input int                ProhibitStartMinute=0  ;   
input int                ProhibitStopHour=0  ;   
input int                ProhibitStopMinute=0  ;
 double    total_do_1 = 0.0;
 bool      total_bo_2 = true;//Anonymous number switch
 int       total_in_3 = 1800;
 int       total_in_4 = 300;
 bool      total_bo_5 = false;
 int       total_in_6 = 2140;
 int       total_in_7 = 2220;
 bool      total_bo_8 = false;
 int       total_in_9 = 700;
 int       total_in_10 = 2;

 int       total_in_11 = 2000;
 int       total_in_12 = 2300;
 int       total_in_13 = 60;
 int       total_in_14 = 120;
 double    total_do_15 = 5.0;
 int       total_in_16 = 15;
 int       total_in_17 = 22;
 int       total_in_18 = 5;
 int       total_in_19 = 100;
 int       total_in_20 = 130;
 int       total_in_21 = 16;
 double    total_do_22 = 2.0;
 double    total_do_23 = 0.0;
 double    total_do_24 = 22.0;
 bool      total_bo_25 = true;
 int       total_in_26 = 250;
 int       total_in_27 = -250;
 bool      total_bo_28 = true;
 bool      total_bo_29 = true;
 int       total_in_30 = 120;
 bool      total_bo_31 = true;
 double    total_do_32 = 0.0;
 double    total_do_33 = 0.0;
 bool      total_bo_34 = true;
 int       total_in_35 = 10;
 double    total_do_36 = 100.0;
 double    total_do_37 = -10.0;
 double    total_do_38 = 0.0;
 int       total_in_39 = 5;
 int       total_in_40 = 0;
 int       total_in_41 = 0;
 int       total_in_42 = 0;
 int       SL = 0;
 int       TP = 0;
 double    MaxSpread = 5.0;
 int       total_in_46 = 15;
 int       total_in_47 = 22;
 int       total_in_48 = 5;
 int       total_in_49 = 100;
 int       total_in_50 = 130;
 int       total_in_51 = 16;
 double    total_do_52 = 2.0;
 double    total_do_53 = 0.0;
 double    total_do_54 = 22.0;
 bool      total_bo_55 = true;
 int       total_in_56 = 250;
 int       total_in_57 = -250;
 bool      total_bo_58 = true;
 bool      total_bo_59 = true;
 int       total_in_60 = 120;
 bool      total_bo_61 = true;
 double    Total_do_62 = 0.0;
 double    Total_do_63 = 0.0;
 bool      Total_bo_64 = true;
 int       Total_in_65 = 10;
 double    Total_do_66 = 100.0;
 double    Total_do_67 = -10.0;
 double    Total_do_68 = 0.0;
 int       Total_in_69 = 5;
 int       Total_in_70 = 0;
 int       Total_in_71 = 0;
 int       Total_in_72 = 0;
 int       Total_in_73 = 0;
 int       Total_in_74 = 0;
 int       Total_in_75 = 0;
 int       Total_in_76 = 0;
 string    Total_st_77;
 string    Total_st_78;
 string    Total_st_79;
 string    Total_st_80;
 string    Total_st_81;
 string    Total_st_82;
 string    Total_st_83;
 string    Total_st_84;
 double    Total_do_85 = 0.0;
 double    Total_do_86 = 0.0;
 bool      Total_bo_87 = false;
 bool      Total_bo_88 = true;
 double    Total_do_89 = 0.0;
 double    Total_do_90 = 0.01;
 double    Total_do_91 = 0.01;
 double    Total_do_92 = 0.01;
 int       Total_in_93 = 0;
 string    Total_st_94 = "";
 string    Total_st_95 = "";
 string    Total_st_96 = "";
 string    Total_st_97 = "";
 long      Total_lo_98 = 0;
 long      Total_lo_99 = 0;
 long      Total_lo_100 = 0;
 long      Total_lo_101 = 0;
 bool      Total_bo_102 = true;
 bool      Total_bo_103 = false;
 bool      Total_bo_104 = false;
 bool      Total_bo_105 = false;
 long      Total_lo_106 = D'2097.04.01';
 bool      Total_bo_107 = false;
 int       Total_in_108 = 35060;
 int       Total_in_109 = 57019;
 int       Total_in_110 = 2889024;
 bool      Total_bo_111 = true;
 int       Total_in_112 = 0;
 bool      Total_bo_113 = false;
 bool      Total_bo_114 = false;
 int       Total_in_115 = 0;
 long      Total_lo_116 = 0;
 long      Total_lo_117 = 0;
 long      Total_lo_118 = 0;
 double    Total_do_119 = 0.0;
 double    Total_do_120 = 0.0;
 double    Total_do_121 = 0.0;
 double    gbl_do_122 = 0.0;
 double    gbl_do_123 = 0.0;
 double    gbl_do_124 = 0.0;
 double    gbl_do_125 = 0.0;
 double    gbl_do_126 = 0.0;
 double    gbl_do_127 = 0.0;
 double    gbl_do_128 = 0.0;
 string    gbl_st_129 = "";
 long      gbl_lo_130 = TimeCurrent();

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

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

 void OnDeinit (const int wood_0)
 {

 ObjectDelete(0,"rect"); 
 Comment(""); 
 }

 void lizong_6 (long wood_0)
 {
 string      child_st_1;

 bool       lcl_bo_6;
 bool       lcl_bo_7;

 Total_bo_111 = false ;
 if (Total_bo_102 )//wood_0 > 1 && gbl_bo_102 )
  {

   {
   Total_bo_111 = true ;
   Total_bo_113 = true ;
   Total_bo_114 = true ;

    child_st_1 = IntegerToString(wood_0 ) ;
   Total_in_112 = StringToInteger(StringSubstr(child_st_1,4,1)) ; 
   if ( ( Total_in_112 < 1 || Total_in_112 > 3 ) )
    {
    Total_bo_111 = false ;
    }
   if ( Total_in_112 == 1 )
    {
    if ( ( StringFind(Symbol(),"AUDCAD",0) > -1 || StringFind(Symbol(),"EURCAD",0) > -1 || StringFind(Symbol(),"EURGBP",0) > -1 || StringFind(Symbol(),"EURAUD",0) > -1 || StringFind(Symbol(),"EURUSD",0) > -1 || StringFind(Symbol(),"GBPUSD",0) > -1 || StringFind(Symbol(),"USDCHF",0) > -1 ) )
     {
     lcl_bo_6 = true;
     }
    else
     {
     lcl_bo_6 = false;
     }
    if ( !(lcl_bo_6) )
     {
     Total_bo_113 = false ;
    }}
   if ( Total_in_112 == 2 )
    {
    if ( ( StringFind(Symbol(),"AUDCAD",0) > -1 || StringFind(Symbol(),"AUDCHF",0) > -1 || StringFind(Symbol(),"AUDUSD",0) > -1 
    || StringFind(Symbol(),"CADCHF",0) > -1 || StringFind(Symbol(),"EURAUD",0) > -1 || StringFind(Symbol(),"EURCAD",0) > -1 
    || StringFind(Symbol(),"EURCHF",0) > -1 || StringFind(Symbol(),"EURGBP",0) > -1 || StringFind(Symbol(),"EURUSD",0) > -1 
    || StringFind(Symbol(),"GBPAUD",0) > -1 || StringFind(Symbol(),"GBPCAD",0) > -1 || StringFind(Symbol(),"GBPUSD",0) > -1 
    || StringFind(Symbol(),"USDCAD",0) > -1 || StringFind(Symbol(),"USDCHF",0) > -1|| StringFind(Symbol(),"EURNZD",0) > -1
    || StringFind(Symbol(),"GBPNZD",0) > -1 || StringFind(Symbol(),"GBPCHF",0) > -1|| StringFind(Symbol(),"NZDCAD",0) > -1) )
     {
     lcl_bo_7 = true;
     }
    else
     {
     lcl_bo_7 = false;
     }
    if ( !(lcl_bo_7) )
     {
     Total_bo_114 = false ;
   }}}
  return;
  }
 if ((Total_bo_102) )  return;
 Total_bo_111 = true ;
 Total_in_112 = 3 ;
 }

 bool lizong_7()
 {
 bool        child_bo_1;
 long        child_lo_2;
 long        child_lo_3;
 long        child_lo_4;
 long        child_lo_5;

 long       Lin_lo_1;
 string     Lin_st_3;
 long       Lin_lo_2;
 string     Lin_st_6;
 long       Lin_lo_5;
 string     Lin_st_9;

 child_bo_1 = true ;
 if ( total_bo_5 )
  {
  child_lo_2 = StringToTime(Total_st_81) ;
  child_lo_3 = StringToTime(Total_st_82) ;
  child_lo_4 = StringToTime(Total_st_83) ;
  child_lo_5 = StringToTime(Total_st_84) ;
  if ( ( ( TimeCurrent() > child_lo_2 && TimeCurrent() < child_lo_3 ) || (TimeCurrent() > child_lo_4 && TimeCurrent() <  child_lo_5) ) )
   {
   child_bo_1 = false ;
  }}
 if ( StopTradingOnFridayClosing && DayOfWeek() >= 5 )
  {
  Lin_lo_1 = TimeCurrent();
  Lin_st_3 = IntegerToString(Total_in_75);
  if ( StringLen(IntegerToString(Total_in_75))  == 1 )
   {
   Lin_st_3 = "000" + IntegerToString(Total_in_75);
   }
  if ( StringLen(Lin_st_3)  == 2 )
   {
   Lin_st_3 = "00" + Lin_st_3;
   }
  if ( StringLen(Lin_st_3)  == 3 )
   {
   Lin_st_3 = "0" + Lin_st_3;
   }
  if ( Lin_lo_1 >= StringToTime(StringSubstr(Lin_st_3,0,2) + ":" + StringSubstr(Lin_st_3,2,2)) )
   {
   child_bo_1 = false ;
  }}
 if ( StopTradingOnMondayOpening )
  {
  if ( Total_in_76 <= total_in_4 )
   {
   if ( DayOfWeek() == 0 )
    {
    child_bo_1 = false ;
    }
   if ( DayOfWeek() == 1 )
    {
    Lin_lo_2 = TimeCurrent();
    Lin_st_6 = IntegerToString(Total_in_76);
    if ( StringLen(IntegerToString(Total_in_76))  == 1 )
     {
     Lin_st_6 = "000" + IntegerToString(Total_in_76);
     }
    if ( StringLen(Lin_st_6)  == 2 )
     {
     Lin_st_6 = "00" + Lin_st_6;
     }
    if ( StringLen(Lin_st_6)  == 3 )
     {
     Lin_st_6 = "0" + Lin_st_6;
     }
    if ( Lin_lo_2 <  StringToTime(StringSubstr(Lin_st_6,0,2) + ":" + StringSubstr(Lin_st_6,2,2)) )
     {
     child_bo_1 = false ;
   }}}
  else
   {
   if ( DayOfWeek() == 0 )
    {
    Lin_lo_5 = TimeCurrent();
    Lin_st_9 = IntegerToString(Total_in_76);
    if ( StringLen(IntegerToString(Total_in_76))  == 1 )
     {
     Lin_st_9 = "000" + IntegerToString(Total_in_76);
     }
    if ( StringLen(Lin_st_9)  == 2 )
     {
     Lin_st_9 = "00" + Lin_st_9;
     }
    if ( StringLen(Lin_st_9)  == 3 )
     {
     Lin_st_9 = "0" + Lin_st_9;
     }
    if ( Lin_lo_5 <  StringToTime(StringSubstr(Lin_st_9,0,2) + ":" + StringSubstr(Lin_st_9,2,2)) )
     {
     child_bo_1 = false ;
  }}}}
 return(child_bo_1); 
 }

 bool lizong_8 (int wood_0,int Wood_1)
 {
 bool        child_bo_1;
 string      Child_st_2;
 string      Child_st_3;
 string      Child_st_4;
 int         Child_in_5;
 int         Child_in_6;
 int         Child_in_7;
 string      Child_st_8;
 string      Child_st_9;
 string      Child_st_10;
 int         Child_in_11;

 child_bo_1 = true ;
 if ( MinimizeRiskCorrelation && !(IsTesting()) && !(IsOptimization()) )
  {
  Child_st_2 = Symbol() ;
  if ( SymbolPrefix  !=  "" )
   {
   Child_st_2 = StringSubstr(Child_st_2,StringLen(SymbolPrefix) ,6) ;
   }
  Child_st_3 = StringSubstr(Child_st_2,0,3) ;
  Child_st_4 = StringSubstr(Child_st_2,3,3) ;
  for (Child_in_7 = OrdersTotal() - 1 ; Child_in_7 >= 0 ; Child_in_7 = Child_in_7 - 1)
   {
   if ( !(OrderSelect(Child_in_7,SELECT_BY_POS,MODE_TRADES)) )
    break;
   if ( OrderMagicNumber() == Wood_1 )
    {
    Child_st_8 = OrderSymbol() ;
    if ( SymbolPrefix  !=  "" )
     {
     Child_st_8 = StringSubstr(Child_st_8,StringLen(SymbolPrefix) ,6) ;
     }
    Child_st_9 = StringSubstr(Child_st_8,0,3) ;
    Child_st_10 = StringSubstr(Child_st_8,3,3) ;
    Child_in_11 = OrderType() ;
    if ( ( ( Child_st_3 == Child_st_9 && wood_0 == Child_in_11 ) || (Child_st_3 == Child_st_10 && wood_0  !=  Child_in_11) ) )
     {
     Child_in_5 = Child_in_5 + 1;
     }
    if ( ( ( Child_st_4 == Child_st_10 && wood_0 == Child_in_11 ) || (Child_st_4 == Child_st_9 && wood_0  !=  Child_in_11) ) )
     {
     Child_in_6 = Child_in_6 + 1;
     }
    if ( ( Child_in_5 >= MaxCorrelatedTradesPerCurrency || Child_in_6 >= MaxCorrelatedTradesPerCurrency ) )
     {
     child_bo_1 = false ;
     }
    }
   }
  }
 return(child_bo_1); 
 }

 int lizong_9 (string wood_0,long Wood_1)
 {
 int         Child_in_1;
 int         Child_in_2;

 Child_in_2 = TimeDay(Wood_1) + TimeMonth(Wood_1) * 100;
 if ( wood_0 == "US" )
  {
  if ( Child_in_2 > 310 && Child_in_2 <  1103 )
   {
   Child_in_1 = 1 ;
   }
  if ( Child_in_2 > 311 && Child_in_2 <  1104 && TimeYear(Wood_1) == 2007 )
   {
   Child_in_1 = 1 ;
   }
  if ( Child_in_2 > 309 && Child_in_2 <  1102 && TimeYear(Wood_1) == 2008 )
   {
   Child_in_1 = 1 ;
   }
  if ( Child_in_2 > 308 && Child_in_2 <  1101 && TimeYear(Wood_1) == 2009 )
   {
   Child_in_1 = 1 ;
   }
  if ( Child_in_2 > 314 && Child_in_2 <  1107 && TimeYear(Wood_1) == 2010 )
   {
   Child_in_1 = 1 ;
   }
  if ( Child_in_2 > 313 && Child_in_2 <  1106 && TimeYear(Wood_1) == 2011 )
   {
   Child_in_1 = 1 ;
   }
  if ( Child_in_2 > 311 && Child_in_2 <  1104 && TimeYear(Wood_1) == 2012 )
   {
   Child_in_1 = 1 ;
   }
  if ( Child_in_2 > 310 && Child_in_2 <  1103 && TimeYear(Wood_1) == 2013 )
   {
   Child_in_1 = 1 ;
   }
  if ( Child_in_2 > 309 && Child_in_2 <  1102 && TimeYear(Wood_1) == 2014 )
   {
   Child_in_1 = 1 ;
   }
  if ( Child_in_2 > 308 && Child_in_2 <  1101 && TimeYear(Wood_1) == 2015 )
   {
   Child_in_1 = 1 ;
   }
  if ( Child_in_2 > 313 && Child_in_2 <  1106 && TimeYear(Wood_1) == 2016 )
   {
   Child_in_1 = 1 ;
   }
  if ( Child_in_2 > 312 && Child_in_2 <  1105 && TimeYear(Wood_1) == 2017 )
   {
   Child_in_1 = 1 ;
   }
  if ( Child_in_2 > 311 && Child_in_2 <  1104 && TimeYear(Wood_1) == 2018 )
   {
   Child_in_1 = 1 ;
   }
  if ( Child_in_2 > 310 && Child_in_2 <  1103 && TimeYear(Wood_1) == 2019 )
   {
   Child_in_1 = 1 ;
  }}
 if ( wood_0 == "Europe" )
  {
  if ( Child_in_2 > 331 && Child_in_2 <  1030 )
   {
   Child_in_1 = 1 ;
   }
  if ( Child_in_2 > 325 && Child_in_2 <  1028 && TimeYear(Wood_1) == 2007 )
   {
   Child_in_1 = 1 ;
   }
  if ( Child_in_2 > 330 && Child_in_2 <  1026 && TimeYear(Wood_1) == 2008 )
   {
   Child_in_1 = 1 ;
   }
  if ( Child_in_2 > 329 && Child_in_2 <  1025 && TimeYear(Wood_1) == 2009 )
   {
   Child_in_1 = 1 ;
   }
  if ( Child_in_2 > 328 && Child_in_2 <  1031 && TimeYear(Wood_1) == 2010 )
   {
   Child_in_1 = 1 ;
   }
  if ( Child_in_2 > 327 && Child_in_2 <  1030 && TimeYear(Wood_1) == 2011 )
   {
   Child_in_1 = 1 ;
   }
  if ( Child_in_2 > 325 && Child_in_2 <  1028 && TimeYear(Wood_1) == 2012 )
   {
   Child_in_1 = 1 ;
   }
  if ( Child_in_2 > 331 && Child_in_2 <  1027 && TimeYear(Wood_1) == 2013 )
   {
   Child_in_1 = 1 ;
   }
  if ( Child_in_2 > 330 && Child_in_2 <  1026 && TimeYear(Wood_1) == 2014 )
   {
   Child_in_1 = 1 ;
   }
  if ( Child_in_2 > 329 && Child_in_2 <  1025 && TimeYear(Wood_1) == 2015 )
   {
   Child_in_1 = 1 ;
   }
  if ( Child_in_2 > 327 && Child_in_2 <  1030 && TimeYear(Wood_1) == 2016 )
   {
   Child_in_1 = 1 ;
   }
  if ( Child_in_2 > 326 && Child_in_2 <  1029 && TimeYear(Wood_1) == 2017 )
   {
   Child_in_1 = 1 ;
   }
  if ( Child_in_2 > 325 && Child_in_2 <  1028 && TimeYear(Wood_1) == 2018 )
   {
   Child_in_1 = 1 ;
   }
  if ( Child_in_2 > 331 && Child_in_2 <  1027 && TimeYear(Wood_1) == 2019 )
   {
   Child_in_1 = 1 ;
  }}
 return(Child_in_1); 
 }

 void lizong_10()
 {

 int        Lin_in_3;
 int        Lin_in_4;
 bool       Lin_bo_5;
 int        Lin_in_8;
 int        Lin_in_10;
 bool       Lin_bo_11;
 int        Lin_in_14;
 int        Lin_in_16;
 bool       Lin_bo_17;
 int        Lin_in_20;
 int        Lin_in_22;
 bool       Lin_bo_23;
 int        Lin_in_26;
 int        Lin_in_28;
 bool       Lin_bo_29;
 int        Lin_in_32;
 int        Lin_in_34;
 bool       Lin_bo_35;
 int        Lin_in_38;
 int        Lin_in_40;
 bool       Lin_bo_41;
 string     Lin_st_46;
 string     Lin_st_47;
 string     Lin_st_48;
 string     Lin_st_49;
 string     Lin_st_50;
 string     Lin_st_51;

 if ( GMT_autocalc )
  {
  total_in_40 = MathRound((TimeCurrent() - TimeGMT()) / 3600.0) ;
  }
 Lin_in_3 = total_in_41;
 Lin_in_4 = GMT_offset;
 if ( GMT_autocalc )
  {
  Lin_bo_5 = IsTesting();
  if ( !((Lin_bo_5 || IsOptimization())) )
   {
   Lin_in_4 = total_in_40;
  }}
 else
  {
  if ( DST == 1 )
   {
   Lin_in_4 = lizong_9("US",TimeCurrent()) + Lin_in_4;
   }
  if ( DST == 2 )
   {
   Lin_in_4 = lizong_9("Europe",TimeCurrent()) + Lin_in_4;
  }}
 Lin_in_3 = Lin_in_3 + Lin_in_4 * 100;
 if ( Lin_in_3 >= 2400 )
  {
  Lin_in_3 = Lin_in_3 - 2400;
  }
 if ( Lin_in_3 <  0 )
  {
  Lin_in_3 = Lin_in_3 + 2400;
  }
 Total_in_70 = Lin_in_3 ;
 Lin_in_8 = total_in_42;
 Lin_in_10 = GMT_offset;
 if ( GMT_autocalc )
  {
  Lin_bo_11 = IsTesting();
  if ( !((Lin_bo_11 || IsOptimization())) )
   {
   Lin_in_10 = total_in_40;
  }}
 else
  {
  if ( DST == 1 )
   {
   Lin_in_10 = lizong_9("US",TimeCurrent()) + Lin_in_10;
   }
  if ( DST == 2 )
   {
   Lin_in_10 = lizong_9("Europe",TimeCurrent()) + Lin_in_10;
  }}
 Lin_in_8 = Lin_in_8 + Lin_in_10 * 100;
 if ( Lin_in_8 >= 2400 )
  {
  Lin_in_8 = Lin_in_8 - 2400;
  }
 if ( Lin_in_8 <  0 )
  {
  Lin_in_8 = Lin_in_8 + 2400;
  }
 Total_in_71 = Lin_in_8 ;
 Lin_in_14 = total_in_6;
 Lin_in_16 = GMT_offset;
 if ( GMT_autocalc )
  {
  Lin_bo_17 = IsTesting();
  if ( !((Lin_bo_17 || IsOptimization())) )
   {
   Lin_in_16 = total_in_40;
  }}
 else
  {
  if ( DST == 1 )
   {
   Lin_in_16 = lizong_9("US",TimeCurrent()) + Lin_in_16;
   }
  if ( DST == 2 )
   {
   Lin_in_16 = lizong_9("Europe",TimeCurrent()) + Lin_in_16;
  }}
 Lin_in_14 = Lin_in_14 + Lin_in_16 * 100;
 if ( Lin_in_14 >= 2400 )
  {
  Lin_in_14 = Lin_in_14 - 2400;
  }
 if ( Lin_in_14 <  0 )
  {
  Lin_in_14 = Lin_in_14 + 2400;
  }
 Total_in_72 = Lin_in_14 ;
 Lin_in_20 = total_in_7;
 Lin_in_22 = GMT_offset;
 if ( GMT_autocalc )
  {
  Lin_bo_23 = IsTesting();
  if ( !((Lin_bo_23 || IsOptimization())) )
   {
   Lin_in_22 = total_in_40;
  }}
 else
  {
  if ( DST == 1 )
   {
   Lin_in_22 = lizong_9("US",TimeCurrent()) + Lin_in_22;
   }
  if ( DST == 2 )
   {
   Lin_in_22 = lizong_9("Europe",TimeCurrent()) + Lin_in_22;
  }}
 Lin_in_20 = Lin_in_20 + Lin_in_22 * 100;
 if ( Lin_in_20 >= 2400 )
  {
  Lin_in_20 = Lin_in_20 - 2400;
  }
 if ( Lin_in_20 <  0 )
  {
  Lin_in_20 = Lin_in_20 + 2400;
  }
 Total_in_73 = Lin_in_20 ;
 Lin_in_26 = total_in_9;
 Lin_in_28 = GMT_offset;
 if ( GMT_autocalc )
  {
  Lin_bo_29 = IsTesting();
  if ( !((Lin_bo_29 || IsOptimization())) )
   {
   Lin_in_28 = total_in_40;
  }}
 else
  {
  if ( DST == 1 )
   {
   Lin_in_28 = lizong_9("US",TimeCurrent()) + Lin_in_28;
   }
  if ( DST == 2 )
   {
   Lin_in_28 = lizong_9("Europe",TimeCurrent()) + Lin_in_28;
  }}
 Lin_in_26 = Lin_in_26 + Lin_in_28 * 100;
 if ( Lin_in_26 >= 2400 )
  {
  Lin_in_26 = Lin_in_26 - 2400;
  }
 if ( Lin_in_26 <  0 )
  {
  Lin_in_26 = Lin_in_26 + 2400;
  }
 Total_in_74 = Lin_in_26 ;
 Lin_in_32 = total_in_3;
 Lin_in_34 = GMT_offset;
 if ( GMT_autocalc )
  {
  Lin_bo_35 = IsTesting();
  if ( !((Lin_bo_35 || IsOptimization())) )
   {
   Lin_in_34 = total_in_40;
  }}
 else
  {
  if ( DST == 1 )
   {
   Lin_in_34 = lizong_9("US",TimeCurrent()) + Lin_in_34;
   }
  if ( DST == 2 )
   {
   Lin_in_34 = lizong_9("Europe",TimeCurrent()) + Lin_in_34;
  }}
 Lin_in_32 = Lin_in_32 + Lin_in_34 * 100;
 if ( Lin_in_32 >= 2400 )
  {
  Lin_in_32 = Lin_in_32 - 2400;
  }
 if ( Lin_in_32 <  0 )
  {
  Lin_in_32 = Lin_in_32 + 2400;
  }
 Total_in_75 = Lin_in_32 ;
 Lin_in_38 = total_in_4;
 Lin_in_40 = GMT_offset;
 if ( GMT_autocalc )
  {
  Lin_bo_41 = IsTesting();
  if ( !((Lin_bo_41 || IsOptimization())) )
   {
   Lin_in_40 = total_in_40;
  }}
 else
  {
  if ( DST == 1 )
   {
   Lin_in_40 = lizong_9("US",TimeCurrent()) + Lin_in_40;
   }
  if ( DST == 2 )
   {
   Lin_in_40 = lizong_9("Europe",TimeCurrent()) + Lin_in_40;
  }}
 Lin_in_38 = Lin_in_38 + Lin_in_40 * 100;
 if ( Lin_in_38 >= 2400 )
  {
  Lin_in_38 = Lin_in_38 - 2400;
  }
 if ( Lin_in_38 <  0 )
  {
  Lin_in_38 = Lin_in_38 + 2400;
  }
 Total_in_76 = Lin_in_38 ;
 Lin_st_46 = IntegerToString(Total_in_70);
 if ( StringLen(IntegerToString(Total_in_70))  == 1 )
  {
  Lin_st_46 = "000" + IntegerToString(Total_in_70);
  }
 if ( StringLen(Lin_st_46)  == 2 )
  {
  Lin_st_46 = "00" + Lin_st_46;
  }
 if ( StringLen(Lin_st_46)  == 3 )
  {
  Lin_st_46 = "0" + Lin_st_46;
  }
 Total_st_77 = StringSubstr(Lin_st_46,0,2) + ":" + StringSubstr(Lin_st_46,2,2) ;
 Total_st_79 = "00:00" ;
 if ( Total_in_70 <  Total_in_71 )
  {
  Lin_st_47 = IntegerToString(Total_in_71);
  if ( StringLen(IntegerToString(Total_in_71))  == 1 )
   {
   Lin_st_47 = "000" + IntegerToString(Total_in_71);
   }
  if ( StringLen(Lin_st_47)  == 2 )
   {
   Lin_st_47 = "00" + Lin_st_47;
   }
  if ( StringLen(Lin_st_47)  == 3 )
   {
   Lin_st_47 = "0" + Lin_st_47;
   }
  Total_st_78 = StringSubstr(Lin_st_47,0,2) + ":" + StringSubstr(Lin_st_47,2,2) ;
  Total_st_80 = "00:00" ;
  }
 else
  {
  Total_st_78 = "23:59" ;
  Lin_st_48 = IntegerToString(Total_in_71);
  if ( StringLen(IntegerToString(Total_in_71))  == 1 )
   {
   Lin_st_48 = "000" + IntegerToString(Total_in_71);
   }
  if ( StringLen(Lin_st_48)  == 2 )
   {
   Lin_st_48 = "00" + Lin_st_48;
   }
  if ( StringLen(Lin_st_48)  == 3 )
   {
   Lin_st_48 = "0" + Lin_st_48;
   }
  Total_st_80 = StringSubstr(Lin_st_48,0,2) + ":" + StringSubstr(Lin_st_48,2,2) ;
  }
 Lin_st_49 = IntegerToString(Total_in_72);
 if ( StringLen(IntegerToString(Total_in_72))  == 1 )
  {
  Lin_st_49 = "000" + IntegerToString(Total_in_72);
  }
 if ( StringLen(Lin_st_49)  == 2 )
  {
  Lin_st_49 = "00" + Lin_st_49;
  }
 if ( StringLen(Lin_st_49)  == 3 )
  {
  Lin_st_49 = "0" + Lin_st_49;
  }
 Total_st_81 = StringSubstr(Lin_st_49,0,2) + ":" + StringSubstr(Lin_st_49,2,2) ;
 Total_st_83 = "00:00" ;
 if ( Total_in_72 <  Total_in_73 )
  {
  Lin_st_50 = IntegerToString(Total_in_73);
  if ( StringLen(IntegerToString(Total_in_73))  == 1 )
   {
   Lin_st_50 = "000" + IntegerToString(Total_in_73);
   }
  if ( StringLen(Lin_st_50)  == 2 )
   {
   Lin_st_50 = "00" + Lin_st_50;
   }
  if ( StringLen(Lin_st_50)  == 3 )
   {
   Lin_st_50 = "0" + Lin_st_50;
   }
  Total_st_82 = StringSubstr(Lin_st_50,0,2) + ":" + StringSubstr(Lin_st_50,2,2) ;
  Total_st_84 = "00:00" ;
  return;
  }
 Total_st_82 = "23:59" ;
 Lin_st_51 = IntegerToString(Total_in_73);
 if ( StringLen(IntegerToString(Total_in_73))  == 1 )
  {
  Lin_st_51 = "000" + IntegerToString(Total_in_73);
  }
 if ( StringLen(Lin_st_51)  == 2 )
  {
  Lin_st_51 = "00" + Lin_st_51;
  }
 if ( StringLen(Lin_st_51)  == 3 )
  {
  Lin_st_51 = "0" + Lin_st_51;
  }
 Total_st_84 = StringSubstr(Lin_st_51,0,2) + ":" + StringSubstr(Lin_st_51,2,2) ;
 }

 void lizong_11()
 {

 double     Lin_do_5;
 double     Lin_do_7;

 if ( gbl_lo_130 <  Total_lo_118 )
  {
  gbl_lo_130=Total_lo_118 + 60;
  lizong_10(); 
  HideTestIndicators(true); 
  gbl_do_122 = iBands(NULL,total_in_46,total_in_51,total_do_52,0,1,2,0) ;
  gbl_do_123 = iBands(NULL,total_in_46,total_in_51,total_do_52,0,1,1,0) ;
  gbl_do_124 = Total_do_62 * Total_do_89 + iBands(NULL,total_in_46,total_in_51,total_do_52,0,0,1,1) ;
  gbl_do_125 = iBands(NULL,total_in_46,total_in_51,total_do_52,0,0,2,1) - Total_do_63 * Total_do_89 ;
  gbl_do_127 = (gbl_do_123 - gbl_do_122) / Total_do_89 ;
  gbl_do_122 = gbl_do_122 - total_do_53 * Total_do_89 ;
  gbl_do_123 = gbl_do_123 + total_do_53 * Total_do_89 ;
  if ( TimeCurrent() > Total_lo_98 && TimeCurrent() <  Total_lo_99 )
   {
   gbl_do_128 = (iHigh(NULL,PERIOD_D1,0) - iLow(NULL,PERIOD_D1,0)) / Total_do_89 ;
   }
  if ( TimeCurrent() > Total_lo_100 && TimeCurrent() <  Total_lo_101 )
   {
   gbl_do_128 = (iHigh(NULL,PERIOD_D1,1) - iLow(NULL,PERIOD_D1,1)) / Total_do_89 ;
  }}
 Total_do_92 = MarketInfo(Symbol(),23) ;
 Total_do_90 = MarketInfo(Symbol(),25) ;
 Total_in_93 = MarketInfo(Symbol(),15) ;
 Total_do_91 = MarketInfo(Symbol(),24) ;
 if ( MoneyManagement == 0 )
  {
  total_do_1 = Auto_Risk ;
  }
 if ( MoneyManagement == 1 )
  {
  Lin_do_5 = MathFloor(AccountBalance() * Auto_Risk / 100.0 / MarketInfo(Symbol(),16) / (SL * Total_do_89 / Point()) / Total_do_91) * Total_do_91;
  if ( Total_do_90 >= MathFloor(AccountBalance() * Auto_Risk / 100.0 / MarketInfo(Symbol(),16) / (SL * Total_do_89 / Point()) / Total_do_91) * Total_do_91 )
   {
   Lin_do_5 = Lin_do_5;
   }
  else
   {
   Lin_do_5 = Total_do_90;
   }
  total_do_1 = MathMax(Total_do_92,Lin_do_5) ;
  }
 if ( MoneyManagement == 2 )
  {
  if ( Auto_Risk <= 100 )
   {
   Lin_do_5 = Auto_Risk;
   }
  else
   {
   Lin_do_5 = 100.0;
   }
  Lin_do_7 = MathCeil(Lin_do_5 / 100.0 * AccountBalance() / Total_do_91 / (Total_in_93 / 100)) * Total_do_91;
  if ( Total_do_90 >= MathCeil(Lin_do_5 / 100.0 * AccountBalance() / Total_do_91 / (Total_in_93 / 100)) * Total_do_91 )
   {
   Lin_do_7 = Lin_do_7;
   }
  else
   {
   Lin_do_7 = Total_do_90;
   }
  total_do_1 = MathMax(Total_do_92,Lin_do_7) ;
  }
 HideTestIndicators(true); 
 Total_do_121 = iCCI(NULL,1,total_in_47,total_in_48,0) ;
 gbl_do_126 = iMA(NULL,1,255,0,MODE_SMMA,PRICE_CLOSE,0) ;
 Total_do_120 = (Ask - Bid) / Total_do_89 ;
 }

 void lizong_12 (int wood_0,double Wood_1,double   Wood_2,string Wood_3, int  x4)
 {
 int         Child_in_1;
 string      Child_st_2;
 uint        Child_ui_3;
 int         Child_in_4;
 int         Child_in_5;
 int         Child_in_6;
 int         Child_in_7;
 double      Child_do_8;
 double      Child_do_9;

 string     Lin_st_5;
 double     Lin_do_6;
 int        Lin_in_7;
 int        Lin_in_10;
 int        lcl_in_12;
 double     Lin_do_13;
 double     Lin_do_16;
 int        Lin_in_19;
 int        Lin_in_22;
 double     Lin_do_23;
 string     Lin_st_24;
 int        Lin_in_26;
 double     Lin_do_28;

 if ( AccountFreeMarginCheck(Symbol(),1,total_do_1)>0.0 )
  {
  RefreshRates(); 
  Child_st_2 = Wood_3 ;
  if ( Child_st_2 == "NONE" )
   {
   Child_in_1 = Digits() ;
   Child_st_2 = Symbol() ;
   }
  else
   {
   Child_in_1 = MarketInfo(Child_st_2,12) ;
   }
  if ( wood_0 == 0 )
   {
   Wood_2 = NormalizeDouble(MarketInfo(Child_st_2,10),Child_in_1) ;
   Child_ui_3 = Blue ;
   }
  if ( wood_0 == 1 )
   {
   Wood_2 = NormalizeDouble(MarketInfo(Child_st_2,9),Child_in_1) ;
   Child_ui_3 = Red ;
   }
  for ( ; Child_in_5 <= 5 ; Child_in_5 = Child_in_5 + 1)
   {
   RefreshRates(); 
   PrintFormat("Spread on entry: " + DoubleToString(Total_do_120,2)); 
   Child_in_6 = OrderSend(Child_st_2,wood_0,Wood_1,NormalizeDouble(Wood_2,Child_in_1),total_in_10 * Total_in_115,0.0,0.0,Comment,MagicNumber,0,Child_ui_3) ;

   if ( Child_in_6  !=  -1 )
    {
    Child_in_4 = 0 ;
    if ( !(IsTesting()) )
     {
     Sleep(1000); 
     }
    RefreshRates();    
    if ( ( SL == 0 || TP == 0 ) )
     break;      
    for ( ; Child_in_7 <= 5 ; Child_in_7 = Child_in_7 + 1)
     {
     RefreshRates(); 
     if ( OrderSelect(Child_in_6,SELECT_BY_TICKET,MODE_TRADES) )
      {
      Lin_st_5 = Child_st_2;
      Lin_do_6 = Wood_2;
      Lin_in_7 = wood_0;
      Lin_in_10 = SL * Total_in_115;
      if ( Child_st_2 == "NONE" )
       {
       Lin_st_5 = Symbol();
       }
      lcl_in_12 = MarketInfo(Lin_st_5,12);
      Lin_do_13 = MarketInfo(Lin_st_5,11);
      if ( Lin_do_6==0.0 )
       {
       if ( Lin_in_7 == 0 )
        {
        Lin_do_6 = NormalizeDouble(MarketInfo(Lin_st_5,10),lcl_in_12);
        }
       if ( Lin_in_7 == 1 )
        {
        Lin_do_6 = NormalizeDouble(MarketInfo(Lin_st_5,9),lcl_in_12);
       }}
      if ( Lin_in_10 > 0 )
       {
       if ( Lin_in_7 == 0 )
        {
        Lin_do_16 = NormalizeDouble(Lin_do_6 - Lin_in_10 * Lin_do_13,lcl_in_12);
        }
       else
        {
        if ( Lin_in_7 == 1 )
         {
         Lin_do_16 = NormalizeDouble(Lin_in_10 * Lin_do_13 + Lin_do_6,lcl_in_12);
       }}}
      else
       {
       Lin_do_16 = 0.0;
       }
      Child_do_8 = NormalizeDouble(Lin_do_16,Child_in_1) ;
      Lin_in_19 = wood_0;
      Lin_in_22 = TP * Total_in_115;
      Lin_do_23 = Wood_2;
      Lin_st_24 = Child_st_2;
      if ( Child_st_2 == "NONE" )
       {
       Lin_st_24 = Symbol();
       }
      Lin_in_26 = MarketInfo(Lin_st_24,12);
      if ( Lin_do_23==0.0 )
       {
       if ( Lin_in_19 == 0 )
        {
        Lin_do_23 = NormalizeDouble(MarketInfo(Lin_st_24,10),Lin_in_26);
        }
       if ( Lin_in_19 == 1 )
        {
        Lin_do_23 = NormalizeDouble(MarketInfo(Lin_st_24,9),Lin_in_26);
       }}
      if ( Lin_in_22 > 0 )
       {
       if ( Lin_in_19 == 0 )
       

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

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

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

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

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

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

Стоимость полного кода
5 976,70₽ ≈ $73.06