Forex Cyborg
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «forex cyborg pro.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Forex Cyborg — это торговый советник для MetaTrader 4, позиционируемый как скальперская система для ночной торговли. Советник работает на таймфрейме M15 и поддерживает широкий список форпар (EURUSD, GBPUSD, USDCHF, AUDUSD и другие). В коде подтверждено использование индикаторов Bollinger Bands, CCI и SMMA для формирования торговых сигналов на покупку и продажу.
Советник обрабатывает событие OnTick и использует торговые функции MetaTrader для открытия и закрытия позиций. Встроена система управления рисками с тремя режимами: фиксированный лот, риск на сделку в процентах от баланса и процент от баланса. Доступна фильтрация коррелированных сделок по валютным парам, ограничение количества одновременных позиций, а также контроль по спреду и волатильности.
В настройках реализована авторасчётка GMT и поддержка летнего/зимнего времени (DST), что позволяет задавать торговые сессии по локальному времени. Также предусмотрены опции остановки торговли в пятницу вечером и в понедельник утром, выбор типа пресета (Normal/Conservative) и фильтр по префиксу символа. В коде присутствует проверка лицензионного ключа и ограничение на использование на демо-счёте.
Важно учитывать, что советник содержит строгие внутренние проверки лицензии и аккаунта, а также множество внутренних констант, определяющих торговые условия для каждой пары отдельно. Публично заявленная совместимость и результаты торговли не подтверждены исходным кодом.
Настройки программы
| Настройка | Описание |
|---|---|
| GENERAL_SETTINGS | Раздел общих настроек, объединяющий базовые параметры советника. |
| Comment | Текст комментария, добавляемого к каждой открытой позиции советником. |
| MagicNumber | Магический номер для идентификации ордеров, открытых данным советником. |
| Seperator0 | Визуальный разделитель в интерфейсе настроек. |
| Info0 | Информационный текст-подсказка о правилах использования GMT Offset и DST. |
| GMT_autocalc | Переключатель автоматического расчёта смещения GMT по текущему серверному времени. При активации ручное значение GMT_offset игнорируется вне тестирования. |
| GMT_offset | Ручное значение смещения GMT в часах, используемое при отключённой автоматической расчётке. |
| DST | Режим учёта летнего/зимнего времени: None — без коррекции, US — американское переходное время, Europe — европейское переходное время. |
| Seperator2 | Визуальный разделитель в интерфейсе настроек. |
| MM_SETTINGS | Раздел настроек управления капиталом. |
| MoneyManagement | Тип управления капиталом: MM_OFF — фиксированный лот, MM_SL — риск на сделку в процентах от баланса, MM_Depo — процент от баланса. |
| Auto_Risk | Размер лота или процент риска в зависимости от выбранного типа управления капиталом: при MM_OFF — фиксированный лот, при MM_SL — процент риска на сделку, при MM_Depo — процент от баланса. |
| Seperator3 | Визуальный разделитель в интерфейсе настроек. |
| RISK_CONTROL | Раздел настроек контроля рисков. |
| MinimizeRiskCorrelation | Переключатель минимизации корреляционного риска: при активации советник проверяет открытые ордера и блокирует открытие новых коррелированных позиций. |
| MaxCorrelatedTradesPerCurrency | Максимальное количество коррелированных сделок одновременно на одну валютную пару, при активной фильтрации рисков. |
| SymbolPrefix | Префикс символа для фильтрации пар (например, при использовании суффиксов брокера). |
| Seperator1 | Визуальный разделитель в интерфейсе настроек. |
| Info2 | Информационный текст о доступных параметрах для базовой версии. |
| Info3 | Информационный текст о доступных параметрах для стандартной и золотой версии. |
| Info4 | Информационный текст с перечислением пар базовой версии. |
| Info5 | Информационный текст с перечислением дополнительных пар стандартной и золотой версии. |
| Info51 | Информационный текст с дополнительным списком пар. |
| ADDITIONAL_SETTINGS | Раздел дополнительных настроек, объединяющий параметры пресета и ограничений торговли. |
| PresetType | Тип пресета торговых параметров: Normal — стандартный, Conservative — консервативный (с изменёнными значениями стоп-лосса и тейк-профита). |
| StopTradingOnFridayClosing | Переключатель остановки торговли в пятницу после заданного времени закрытия сессии. |
| StopTradingOnMondayOpening | Переключатель остановки торговли в понедельник до заданного времени открытия сессии. |
Поиск по коду файла
#property description "Forex Cybory Darwinex"
#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 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 vDarwinex" ; //Comment
extern long LicenceKey=******** ; //License key
extern int MagicNumber=1604 ; //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=true ; //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=2 ;
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 ;
double total_do_1 = 0.0;
bool total_bo_2 = true;
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 total_in_43 = 0;
int total_in_44 = 0;
double total_do_45 = 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 = true;
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 Tot_do_121 = 0.0;
double Tot_do_122 = 0.0;
double Tot_do_123 = 0.0;
double Tot_do_124 = 0.0;
double Tot_do_125 = 0.0;
double Tot_do_126 = 0.0;
double Tot_do_127 = 0.0;
double Tot_do_128 = 0.0;
string Tot_st_129 = "";
long Tot_lo_130 = TimeCurrent();
void OnInit ()
{
// код доступен только после оплаты
}
void OnTick ()
{
// код доступен только после оплаты
}
void OnDeinit (const int Wood_0)
{
ObjectDelete(0,"rect");
Comment("");
}
void lizong_6 (long Wood_0)
{
string Sub_st_1;
bool Tmp_bo_6;
bool Tmp_bo_7;
total_bo_111 = false ;
if (total_bo_102 )//Wood_0 > 1 && Tot_bo_102 )
{
{
total_bo_111 = true ;
total_bo_113 = true ;
total_bo_114 = true ;
Sub_st_1 = IntegerToString(Wood_0 ) ;
total_in_112 = StringToInteger(StringSubstr(Sub_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 ) )
{
Tmp_bo_6 = true;
}
else
{
Tmp_bo_6 = false;
}
if ( !(Tmp_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 ) )
{
Tmp_bo_7 = true;
}
else
{
Tmp_bo_7 = false;
}
if ( !(Tmp_bo_7) )
{
total_bo_114 = false ;
}}}
return;
}
if ((total_bo_102) ) return;
total_bo_111 = true ;
total_in_112 = 3 ;
}
bool lizong_7()
{
bool Sub_bo_1;
long Sub_lo_2;
long Sub_lo_3;
long Sub_lo_4;
long Sub_lo_5;
long Tmp_lo_1;
string Tmp_st_3;
long Lin_lo_2;
string Lin_st_6;
long Lin_lo_5;
string Lin_st_9;
Sub_bo_1 = true ;
if ( total_bo_5 )
{
Sub_lo_2 = StringToTime(total_st_81) ;
Sub_lo_3 = StringToTime(total_st_82) ;
Sub_lo_4 = StringToTime(total_st_83) ;
Sub_lo_5 = StringToTime(total_st_84) ;
if ( ( ( TimeCurrent() > Sub_lo_2 && TimeCurrent() < Sub_lo_3 ) || (TimeCurrent() > Sub_lo_4 && TimeCurrent() < Sub_lo_5) ) )
{
Sub_bo_1 = false ;
}}
if ( StopTradingOnFridayClosing && DayOfWeek() >= 5 )
{
Tmp_lo_1 = TimeCurrent();
Tmp_st_3 = IntegerToString(total_in_75);
if ( StringLen(IntegerToString(total_in_75)) == 1 )
{
Tmp_st_3 = "000" + IntegerToString(total_in_75);
}
if ( StringLen(Tmp_st_3) == 2 )
{
Tmp_st_3 = "00" + Tmp_st_3;
}
if ( StringLen(Tmp_st_3) == 3 )
{
Tmp_st_3 = "0" + Tmp_st_3;
}
if ( Tmp_lo_1 >= StringToTime(StringSubstr(Tmp_st_3,0,2) + ":" + StringSubstr(Tmp_st_3,2,2)) )
{
Sub_bo_1 = false ;
}}
if ( StopTradingOnMondayOpening )
{
if ( total_in_76 <= total_in_4 )
{
if ( DayOfWeek() == 0 )
{
Sub_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)) )
{
Sub_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)) )
{
Sub_bo_1 = false ;
}}}}
return(Sub_bo_1);
}
bool lizong_8 (int Wood_0,int Mu_1)
{
bool Sub_bo_1;
string Zi_st_2;
string Zi_st_3;
string Zi_st_4;
int Zi_in_5;
int Zi_in_6;
int Zi_in_7;
string Zi_st_8;
string Zi_st_9;
string Zi_st_10;
int Zi_in_11;
Sub_bo_1 = true ;
if ( MinimizeRiskCorrelation && !(IsTesting()) && !(IsOptimization()) )
{
Zi_st_2 = Symbol() ;
if ( SymbolPrefix != "" )
{
Zi_st_2 = StringSubstr(Zi_st_2,StringLen(SymbolPrefix) ,6) ;
}
Zi_st_3 = StringSubstr(Zi_st_2,0,3) ;
Zi_st_4 = StringSubstr(Zi_st_2,3,3) ;
for (Zi_in_7 = OrdersTotal() - 1 ; Zi_in_7 >= 0 ; Zi_in_7 = Zi_in_7 - 1)
{
if ( !(OrderSelect(Zi_in_7,SELECT_BY_POS,MODE_TRADES)) )
break;
if ( OrderMagicNumber() == Mu_1 )
{
Zi_st_8 = OrderSymbol() ;
if ( SymbolPrefix != "" )
{
Zi_st_8 = StringSubstr(Zi_st_8,StringLen(SymbolPrefix) ,6) ;
}
Zi_st_9 = StringSubstr(Zi_st_8,0,3) ;
Zi_st_10 = StringSubstr(Zi_st_8,3,3) ;
Zi_in_11 = OrderType() ;
if ( ( ( Zi_st_3 == Zi_st_9 && Wood_0 == Zi_in_11 ) || (Zi_st_3 == Zi_st_10 && Wood_0 != Zi_in_11) ) )
{
Zi_in_5 = Zi_in_5 + 1;
}
if ( ( ( Zi_st_4 == Zi_st_10 && Wood_0 == Zi_in_11 ) || (Zi_st_4 == Zi_st_9 && Wood_0 != Zi_in_11) ) )
{
Zi_in_6 = Zi_in_6 + 1;
}
if ( ( Zi_in_5 >= MaxCorrelatedTradesPerCurrency || Zi_in_6 >= MaxCorrelatedTradesPerCurrency ) )
{
Sub_bo_1 = false ;
}
}
}
}
return(Sub_bo_1);
}
int lizong_9 (string Wood_0,long Mu_1)
{
int Zi_in_1;
int Zi_in_2;
Zi_in_2 = TimeDay(Mu_1) + TimeMonth(Mu_1) * 100;
if ( Wood_0 == "US" )
{
if ( Zi_in_2 > 310 && Zi_in_2 < 1103 )
{
Zi_in_1 = 1 ;
}
if ( Zi_in_2 > 311 && Zi_in_2 < 1104 && TimeYear(Mu_1) == 2007 )
{
Zi_in_1 = 1 ;
}
if ( Zi_in_2 > 309 && Zi_in_2 < 1102 && TimeYear(Mu_1) == 2008 )
{
Zi_in_1 = 1 ;
}
if ( Zi_in_2 > 308 && Zi_in_2 < 1101 && TimeYear(Mu_1) == 2009 )
{
Zi_in_1 = 1 ;
}
if ( Zi_in_2 > 314 && Zi_in_2 < 1107 && TimeYear(Mu_1) == 2010 )
{
Zi_in_1 = 1 ;
}
if ( Zi_in_2 > 313 && Zi_in_2 < 1106 && TimeYear(Mu_1) == 2011 )
{
Zi_in_1 = 1 ;
}
if ( Zi_in_2 > 311 && Zi_in_2 < 1104 && TimeYear(Mu_1) == 2012 )
{
Zi_in_1 = 1 ;
}
if ( Zi_in_2 > 310 && Zi_in_2 < 1103 && TimeYear(Mu_1) == 2013 )
{
Zi_in_1 = 1 ;
}
if ( Zi_in_2 > 309 && Zi_in_2 < 1102 && TimeYear(Mu_1) == 2014 )
{
Zi_in_1 = 1 ;
}
if ( Zi_in_2 > 308 && Zi_in_2 < 1101 && TimeYear(Mu_1) == 2015 )
{
Zi_in_1 = 1 ;
}
if ( Zi_in_2 > 313 && Zi_in_2 < 1106 && TimeYear(Mu_1) == 2016 )
{
Zi_in_1 = 1 ;
}
if ( Zi_in_2 > 312 && Zi_in_2 < 1105 && TimeYear(Mu_1) == 2017 )
{
Zi_in_1 = 1 ;
}
if ( Zi_in_2 > 311 && Zi_in_2 < 1104 && TimeYear(Mu_1) == 2018 )
{
Zi_in_1 = 1 ;
}
if ( Zi_in_2 > 310 && Zi_in_2 < 1103 && TimeYear(Mu_1) == 2019 )
{
Zi_in_1 = 1 ;
}}
if ( Wood_0 == "Europe" )
{
if ( Zi_in_2 > 331 && Zi_in_2 < 1030 )
{
Zi_in_1 = 1 ;
}
if ( Zi_in_2 > 325 && Zi_in_2 < 1028 && TimeYear(Mu_1) == 2007 )
{
Zi_in_1 = 1 ;
}
if ( Zi_in_2 > 330 && Zi_in_2 < 1026 && TimeYear(Mu_1) == 2008 )
{
Zi_in_1 = 1 ;
}
if ( Zi_in_2 > 329 && Zi_in_2 < 1025 && TimeYear(Mu_1) == 2009 )
{
Zi_in_1 = 1 ;
}
if ( Zi_in_2 > 328 && Zi_in_2 < 1031 && TimeYear(Mu_1) == 2010 )
{
Zi_in_1 = 1 ;
}
if ( Zi_in_2 > 327 && Zi_in_2 < 1030 && TimeYear(Mu_1) == 2011 )
{
Zi_in_1 = 1 ;
}
if ( Zi_in_2 > 325 && Zi_in_2 < 1028 && TimeYear(Mu_1) == 2012 )
{
Zi_in_1 = 1 ;
}
if ( Zi_in_2 > 331 && Zi_in_2 < 1027 && TimeYear(Mu_1) == 2013 )
{
Zi_in_1 = 1 ;
}
if ( Zi_in_2 > 330 && Zi_in_2 < 1026 && TimeYear(Mu_1) == 2014 )
{
Zi_in_1 = 1 ;
}
if ( Zi_in_2 > 329 && Zi_in_2 < 1025 && TimeYear(Mu_1) == 2015 )
{
Zi_in_1 = 1 ;
}
if ( Zi_in_2 > 327 && Zi_in_2 < 1030 && TimeYear(Mu_1) == 2016 )
{
Zi_in_1 = 1 ;
}
if ( Zi_in_2 > 326 && Zi_in_2 < 1029 && TimeYear(Mu_1) == 2017 )
{
Zi_in_1 = 1 ;
}
if ( Zi_in_2 > 325 && Zi_in_2 < 1028 && TimeYear(Mu_1) == 2018 )
{
Zi_in_1 = 1 ;
}
if ( Zi_in_2 > 331 && Zi_in_2 < 1027 && TimeYear(Mu_1) == 2019 )
{
Zi_in_1 = 1 ;
}}
return(Zi_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 ( Tot_lo_130 < total_lo_118 )
{
Tot_lo_130=total_lo_118 + 60;
lizong_10();
HideTestIndicators(true);
Tot_do_122 = iBands(NULL,total_in_46,total_in_51,total_do_52,0,1,2,0) ;
Tot_do_123 = iBands(NULL,total_in_46,total_in_51,total_do_52,0,1,1,0) ;
Tot_do_124 = total_do_62 * total_do_89 + iBands(NULL,total_in_46,total_in_51,total_do_52,0,0,1,1) ;
Tot_do_125 = iBands(NULL,total_in_46,total_in_51,total_do_52,0,0,2,1) - total_do_63 * total_do_89 ;
Tot_do_127 = (Tot_do_123 - Tot_do_122) / total_do_89 ;
Tot_do_122 = Tot_do_122 - total_do_53 * total_do_89 ;
Tot_do_123 = Tot_do_123 + total_do_53 * total_do_89 ;
if ( TimeCurrent() > total_lo_98 && TimeCurrent() < total_lo_99 )
{
Tot_do_128 = (iHigh(NULL,PERIOD_D1,0) - iLow(NULL,PERIOD_D1,0)) / total_do_89 ;
}
if ( TimeCurrent() > total_lo_100 && TimeCurrent() < total_lo_101 )
{
Tot_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) / (total_in_43 * total_do_89 / Point()) / total_do_91) * total_do_91;
if ( total_do_90 >= MathFloor(AccountBalance() * Auto_Risk / 100.0 / MarketInfo(Symbol(),16) / (total_in_43 * 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);
Tot_do_121 = iCCI(NULL,1,total_in_47,total_in_48,0) ;
Tot_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 Mu_1,double Mu_2,string Mu_3, int x4)
{
int Zi_in_1;
string Zi_st_2;
uint Zi_ui_3;
int Zi_in_4;
int Zi_in_5;
int Zi_in_6;
int Zi_in_7;
double Zi_do_8;
double Zi_do_9;
string Lin_st_5;
double Lin_do_6;
int Lin_in_7;
int Lin_in_10;
int Tmp_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();
Zi_st_2 = Mu_3 ;
if ( Zi_st_2 == "NONE" )
{
Zi_in_1 = Digits() ;
Zi_st_2 = Symbol() ;
}
else
{
Zi_in_1 = MarketInfo(Zi_st_2,12) ;
}
if ( Wood_0 == 0 )
{
Mu_2 = NormalizeDouble(MarketInfo(Zi_st_2,10),Zi_in_1) ;
Zi_ui_3 = Blue ;
}
if ( Wood_0 == 1 )
{
Mu_2 = NormalizeDouble(MarketInfo(Zi_st_2,9),Zi_in_1) ;
Zi_ui_3 = Red ;
}
for ( ; Zi_in_5 <= 5 ; Zi_in_5 = Zi_in_5 + 1)
{
RefreshRates();
PrintFormat("Spread on entry: " + DoubleToString(total_do_120,2));
Zi_in_6 = OrderSend(Zi_st_2,Wood_0,Mu_1,NormalizeDouble(Mu_2,Zi_in_1),total_in_10 * total_in_115,0.0,0.0,Comment,MagicNumber,0,Zi_ui_3) ;
if ( Zi_in_6 != -1 )
{
Zi_in_4 = 0 ;
if ( !(IsTesting()) )
{
Sleep(1000);
}
RefreshRates();
if ( ( total_in_43 == 0 || total_in_44 == 0 ) )
break;
for ( ; Zi_in_7 <= 5 ; Zi_in_7 = Zi_in_7 + 1)
{
RefreshRates();
if ( OrderSelect(Zi_in_6,SELECT_BY_TICKET,MODE_TRADES) )
{
Lin_st_5 = Zi_st_2;
Lin_do_6 = Mu_2;
Lin_in_7Показано первые 50% кода (символов: 54439)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.