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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.