#property copyright "Copyright©2007,2008,2009 Forex Hope" #property link "forexhope.com" #include #import "FXMT4_AUTO2.dll" string FOREXPROFITMASTERY1(string a0, string a1, string a2, int a3, string a4, string a5, string a6, int a7, int a8); #import "FRACTALS.dll" int FRACTALS1(string a0, string a1, string a2, int a3, double a4, double a5, double a6, double a7, double a8); int FRACTALS2(string a0, string a1, string a2, int a3, double a4, double a5, double a6, double a7, double a8, double a9, double a10); int FRACTALS3(string a0, string a1, string a2, int a3, double a4, double a5, double a6, double a7, double a8, double a9); int FRACTALS4(string a0, string a1, string a2, int a3, double a4, double a5, double a6, double a7, double a8, double a9, double a10); int FRACTALS5(string a0, string a1, string a2, int a3, double a4, double a5, double a6); #import int g_datetime_76; string gs_80; string g_time2str_88; int gi_96 = 86400; string gs_unused_100; string gs_108; string gs_unused_116; string gsa_124[]; string gs_128; int g_str2int_136; int gi_140 = 1; int gi_144 = 0; bool gi_148 = TRUE; bool gi_152 = TRUE; string gs_156 = "EA fail to connect or had error(s) "; int gi_164 = 60; int g_datetime_168; int gi_172 = 900; int gi_176 = 1; int gi_180 = 50; int gi_184 = 5; int g_datetime_188 = 0; extern string Comment1 = "------------ Member Area Setting ------------"; extern string RegisteredAccNumber = ""; extern string Comment2 = "--------------- Risk Setting ----------------"; extern double Risk = 0.3; extern int Aggressive_Setting = 5; extern int Take_Profit = 300; extern int BEP = 20; extern double Min_StopLoss = 20.0; extern int Max_Open_Position = 5; extern string Comment3 = "-------------- Broker Setting ---------------"; extern int Broker_OffsetHour = 2; extern bool Two_Direction_Trade = TRUE; extern bool ECN_MarketOrder = FALSE; extern int SlipPage = 3; extern int MaxSpread_Allowed = 3; extern int Magic_Number = 8928870; extern string Comment4 = "---Stop Trading Parameter (format yyy.m.d)---"; extern string StopTrading_Date = "2000.1.1"; extern string ContinueTrading_Date = "2000.1.2"; int gi_304 = 5; bool gi_308 = TRUE; double gd_312 = 0.01; string gs_320 = "08:00:00"; string gs_328 = "16:00:00"; int g_str2int_336 = 20; int g_str2int_340 = 2; int gi_344 = 99; int gi_348 = 99; double gd_352; string gs_std_360 = "STD"; string gs_fractals_368 = "FRACTALS"; bool gi_unused_376 = TRUE; bool gi_380 = TRUE; double gd_384 = 0.01; int g_timeframe_392 = PERIOD_H4; int gi_396 = 0; int gi_400 = 6; bool gi_404 = TRUE; bool gi_408 = FALSE; bool gi_412 = TRUE; int gi_416 = 100; int gi_420 = 75; bool gi_424 = TRUE; bool gi_428 = FALSE; bool gi_432 = FALSE; int g_magic_436; int g_acc_number_440 = 0; int gi_444; int gi_448; int gi_452; int g_count_456; int g_count_460; double gd_464; double gd_472; double gd_480; double gd_488; double gd_496; double g_icustom_504; double g_icustom_512; double gd_unused_520; double gd_528 = 0.0; double gd_536 = 10000.0; double g_price_544; double g_price_552; double g_price_560 = 0.0; double gd_568; double gd_576; double gd_unused_584; double gd_unused_592; double gd_600; bool g_bool_608 = FALSE; bool g_bool_612 = FALSE; bool gi_616 = FALSE; int g_bool_620; int g_bool_624; bool gi_628; bool gi_632; bool gi_636; int g_datetime_640; int g_datetime_644; string gs_dummy_648; int gi_656; int g_bool_660; int g_bool_664; bool gi_668; string gs_fractals_672 = "FRACTALS"; int g_corner_680 = 1; int g_x_684 = 20; int g_y_688 = 20; int gi_unused_692 = 100; string g_fontname_696 = "Arial Narrow"; int g_fontsize_704 = 24; int g_color_708 = Gold; int g_corner_712 = 3; int g_x_716 = 20; int g_y_720 = 15; int gi_724 = 16; string gs_verdana_728 = "Verdana"; int g_fontsize_736 = 10; int g_color_740 = RoyalBlue; int gi_744 = 0; int gi_748 = 0; int gi_752 = 2; string g_text_756 = "FRACTALS WIZARD Program (Build 907)"; double gd_764 = 0.0001; double gd_772 = 100.0; bool gi_780 = FALSE; int g_bool_784; bool g_bool_788; bool g_bool_792; bool g_bool_796; bool g_bool_800; bool g_bool_804; bool g_bool_808; bool g_bool_812; bool g_bool_816; bool g_bool_820; bool g_bool_824; bool g_bool_828; bool g_bool_832; bool g_bool_836; int g_bool_840; int gi_844; int g_bool_848; int gi_852; int g_bool_856; int gi_860; int g_bool_864; int gi_868; int g_bool_872; int gi_876; int g_bool_880; int gi_884; int g_bool_888; int gi_892; int g_bool_896; int gi_900; int gi_904; int gi_908; int gi_912; int gi_916; bool gi_920 = TRUE; bool gi_924 = TRUE; double g_iclose_928; double g_iopen_936; double g_ilow_944; double g_ihigh_952; double g_irsi_960; double g_irsi_968; double g_icci_976; double g_icci_984; double g_icci_992; double g_icci_1000; double g_iwpr_1008; double g_iwpr_1016; double g_iwpr_1024; double g_iforce_1032; double g_ibands_1040; double g_ibands_1048; double g_ibands_1056; double g_ibands_1064; double g_ibands_1072; double g_ibands_1080; double g_imomentum_1088; double g_imomentum_1096; double g_imomentum_1104; double g_ima_1112; double g_ima_1120; double g_ima_1128; double g_ima_1136; double g_ima_1144; double g_ima_1152; double gd_1160; double gd_1168; bool gi_1176; int g_magic_1180 = 8928870; int g_magic_1184 = 8928871; int g_magic_1188 = 8928872; int g_magic_1192 = 8928873; int gi_1196 = 8928874; int gi_1200 = 8928875; int gi_1204 = 8928876; int gi_1208 = 8928877; bool gi_1212 = TRUE; bool gi_1216 = TRUE; bool gi_1220 = TRUE; bool gi_1224 = TRUE; bool gi_1228 = TRUE; bool gi_1232 = TRUE; bool gi_1236 = TRUE; bool gi_1240 = TRUE; bool gi_1244 = TRUE; bool gi_1248 = TRUE; bool gi_1252 = TRUE; bool gi_1256 = TRUE; bool gi_1260 = TRUE; bool gi_1264 = TRUE; bool gi_1268 = TRUE; bool gi_1272 = TRUE; bool gi_unused_1276 = FALSE; bool gi_unused_1280 = FALSE; int g_lotsize_1284 = 0; int g_leverage_1288 = 0; double g_lots_1292; double g_lots_1300; int gi_1308 = 0; int g_count_1312 = 0; int g_count_1316 = 0; int g_count_1320 = 0; int g_count_1324 = 0; int g_count_1328 = 0; int gi_1332 = 0; int gi_1336 = 0; int gi_1340 = 0; int gi_1344 = 0; int gi_1348 = 0; int gi_1352 = 0; int gi_1356 = 0; int gi_1360 = 0; int gi_1364 = 0; int gi_1368 = 0; int gi_1372 = 0; int gi_unused_1376 = 0; int gi_1380 = 0; int gi_unused_1384 = 0; int gi_unused_1388 = 0; int gi_unused_1392 = 0; int gi_unused_1396 = 0; int gi_unused_1400 = 0; int gi_unused_1404 = 0; int gi_unused_1408 = 0; int gi_1412 = 32; int gi_1416 = 15; int gi_1420 = 3; int gi_1424 = 60; int gi_1428 = 3; int gi_1432 = 140; int gi_1436 = 2; int gi_1440 = 170; int gi_1444 = 1; int gi_1448 = 200; int gi_1452 = 1; int gi_1456 = 240; int gi_1460 = 4; int gi_1464 = 55; double gd_1468 = 6.0; double gd_1476 = 32.0; double gd_1484 = 0.001; double gd_1492 = 0.001; double gd_1500 = 0.0012; double gd_1508 = 0.0; double gd_1516 = 0.0; double gd_1524 = 0.0; double gd_1532 = 0.0; double gd_1540 = 0.0; double gd_1548 = 0.0; double gd_1556 = 0.0; double gd_1564 = 0.0; double gd_1572 = 0.0; double gd_1580 = 0.0; double gd_1588 = 0.0; double gd_1596 = 0.0; double gd_1604 = 0.0; double gd_1612 = 0.0; double gd_1620 = 0.0; double gd_1628 = 0.0; double gd_1636 = 0.0; double gd_1644 = 0.0; double gd_1652 = 0.0; double gd_1660 = 0.0; double gd_1668 = 0.0; double gd_1676 = 0.0; double gd_1684 = 0.0; double gd_1692 = 0.0; double gd_1700 = 0.0; double gd_1708 = 0.0; double gd_1716 = 0.0; double gd_1724 = 0.0; double gd_1732 = 0.0; double gd_1740 = 0.0; double gd_1748 = 0.0; double gd_1756 = 0.0; double gd_1764 = 0.0; double gd_1772 = 0.0; double gd_1780 = 0.0; double gd_1788 = 0.0; double gd_1796 = 0.0; double gd_1804 = 0.0; double gd_1812 = 0.0; double gd_1820 = 0.0; double gd_1828 = 0.0; double g_ord_open_price_1836 = 0.0; double g_ord_open_price_1844 = 0.0; double g_ord_open_price_1852 = 0.0; double g_ord_open_price_1860 = 0.0; double g_ord_open_price_1868 = 0.0; double g_ord_open_price_1876 = 0.0; double g_ord_open_price_1884 = 0.0; double g_ord_open_price_1892 = 0.0; double g_ord_open_price_1900 = 0.0; double g_ord_open_price_1908 = 0.0; double g_price_1916 = 0.0; double g_price_1924 = 0.0; double gd_1932 = 0.0; double gd_1940 = 0.0; double gd_1948 = 0.0; double gd_1956 = 0.0; double gd_1964 = 0.0; double gd_1972 = 0.0; double gd_1980 = 0.0; double gd_1988 = 0.0; double gd_1996 = 0.0; double gd_2004 = 0.0; double gd_unused_2012 = 0.0; double gd_unused_2020 = 0.0; double gd_unused_2028 = 0.0; double g_ifractals_2036; double g_ifractals_2044; double gd_unused_2052; double gd_unused_2060; double g_ifractals_2068; double g_ifractals_2076; double gd_unused_2084; double gd_unused_2092; double gd_2100; int g_timeframe_2108 = PERIOD_H4; int gi_2112 = 10; double g_irsi_2116; double g_irsi_2124; double g_irsi_2132; double g_icci_2140; double g_icci_2148; double g_icci_2156; double g_ima_2164; double g_iadx_2172; double g_iadx_2180; double g_ima_2188; double gd_2196; double gd_2204; double gd_2212; double g_ima_2220; double gd_2228; double gd_2236; double gd_2244; double g_ima_2252; double g_ima_2260; double g_ima_2268; double g_imacd_2276; double g_imacd_2284; double g_imacd_2292; double g_imacd_2300; int g_period_2308 = 20; int g_period_2312 = 10; int g_period_2316 = 50; int g_period_2320 = 30; int gi_unused_2324 = 10; int gi_2352 = 10; bool g_bool_2356; int CekCondition() { if (Digits == 4 || Digits == 2) gd_352 = Point; else if (Digits == 5 || Digits == 3) gd_352 = 10.0 * Point; if (Period() != PERIOD_H4) { Alert("Please change period to H4"); return (0); } return (1); } int init() { g_bool_2356 = IsTesting(); g_datetime_168 = 0; checkAccount(); if (gi_152 == TRUE) { validateAcc(); if (g_str2int_136 == 1) Alert("FRACTALS 4 EA", " is ready to run on your account"); } if (Digits == 4 || Digits == 2) gd_352 = Point; else if (Digits == 5 || Digits == 3) gd_352 = 10.0 * Point; AdjustHour(); HideTestIndicators(TRUE); g_acc_number_440 = AccountNumber(); int li_0 = 200; g_price_544 = 10000; g_price_552 = 0.01; gd_472 = Bid - li_0 * gd_352; gd_480 = Ask + li_0 * gd_352; g_magic_436 = Magic_Number; gi_444 = StrToTime(gs_320) - StrToTime("00:00:00") + 3600 * Broker_OffsetHour; gi_448 = StrToTime(gs_328) - StrToTime("00:00:00") + 3600 * Broker_OffsetHour; gd_600 = BEP * gd_352; if (IsDllsAllowed() == FALSE) { Alert("Allow for DLL calls in the \'properties-->common\' popup window"); return (0); } if (g_timeframe_392 != Period()) { Print("Restart EA w/ chart period matching to PERIOD_H4!"); return (-1); } if (gi_380) Print("Lots calculated using Forex Hope risk management"); if (!IsExpertEnabled()) Alert("Warning: Expert Advisor is disabled"); if (!IsTradeAllowed()) Alert("Warning: Trade Allowed is not enabled!"); g_magic_1180 = Magic_Number + 1; g_magic_1184 = Magic_Number + 2; g_magic_1188 = Magic_Number + 3; g_magic_1192 = Magic_Number + 4; gi_1196 = Magic_Number + 5; gi_1200 = Magic_Number + 6; gi_1204 = Magic_Number + 7; gi_1208 = Magic_Number + 8; if (MarketInfo(Symbol(), MODE_MINLOT) == 0.01) gi_752 = TRUE; else { if (MarketInfo(Symbol(), MODE_MINLOT) == 0.1) gi_752 = TRUE; else if (MarketInfo(Symbol(), MODE_MINLOT) == 1.0) gi_752 = FALSE; } gi_744 = g_str2int_336 + Broker_OffsetHour; gi_748 = gi_744 + g_str2int_340; HideTestIndicators(TRUE); if (!gi_920) { KeluarPosisiCara5(); KeluarPosisiCara6(); KeluarPosisiCara7(); KeluarPosisiCara8(); } return (0); } int deinit() { g_price_544 = 10000; g_price_552 = 0; ObjectsDeleteAll(); Comment(" "); return (0); } int BegBar() { int l_datetime_0 = iTime(NULL, g_timeframe_392, 0); if (g_datetime_640 == l_datetime_0) return (0); g_datetime_640 = l_datetime_0; return (1); } int Entry(int ai_0, int ai_4) { int li_32; bool li_ret_20 = FALSE; CountOpenTrades(); if (gi_452 != 0) return (0); int li_8 = Take_Profit; double ld_12 = gd_384; int li_24 = FRACTALS5(gs_128, "FRACTALS", DoubleToStr(AccountNumber(), 0), 1, Ask, g_price_544, SlipPage); if (ai_0 || li_24 == 1) { if (gi_380) ld_12 = gd_568; li_32 = 0; if (!g_bool_2356) li_32 = checkStopTrading(); if (ld_12 > 0.0 && li_32 == 0) { OpenOrder(OP_BUY, ld_12, gd_472, TakeLong(Ask, li_8)); g_price_560 = Ask; gd_unused_520 = gd_472; g_bool_608 = FALSE; g_bool_612 = FALSE; gi_616 = FALSE; return (li_ret_20); } } int li_28 = FRACTALS5(gs_128, "FRACTALS", DoubleToStr(AccountNumber(), 0), 2, Bid, g_price_552, SlipPage); if (ai_4 || li_28 == 1) { if (gi_380) ld_12 = gd_576; li_32 = 0; if (!g_bool_2356) li_32 = checkStopTrading(); if (ld_12 > 0.0 && li_32 == 0) { OpenOrder(OP_SELL, ld_12, gd_480, TakeShrt(Bid, li_8)); g_price_560 = Bid; gd_unused_520 = gd_480; g_bool_608 = FALSE; g_bool_612 = FALSE; gi_616 = FALSE; return (li_ret_20); } } return (0); } void CountOpenTrades() { gi_452 = 0; g_count_456 = 0; g_count_460 = 0; int l_ord_total_0 = OrdersTotal(); for (int l_pos_4 = 0; l_pos_4 < l_ord_total_0; l_pos_4++) { if (OrderSelect(l_pos_4, SELECT_BY_POS) == TRUE) { if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_436) { if (OrderType() == OP_BUY) { g_count_456++; gd_unused_584 = OrderTicket(); } if (OrderType() == OP_SELL) { g_count_460++; gd_unused_592 = OrderTicket(); } } } } gi_452 = g_count_456 + g_count_460; } int CheckTime() { bool l_bool_0; bool l_bool_4; bool l_bool_8 = FALSE; bool l_bool_12 = FALSE; bool l_bool_16 = FALSE; int l_day_of_week_20 = DayOfWeek(); int li_24 = Seconds() + 60 * Minute() + 3600 * Hour(); l_bool_12 = li_24 >= gi_444 && li_24 <= gi_448; l_bool_16 = l_day_of_week_20 >= gi_396 && l_day_of_week_20 <= gi_400; l_bool_8 = l_bool_12 && l_bool_16; int l_bool_28 = l_day_of_week_20 >= gi_396 && l_day_of_week_20 < gi_400; int l_bool_32 = l_day_of_week_20 > gi_396 && l_day_of_week_20 <= gi_400; if (gi_448 < gi_444) { l_bool_0 = li_24 >= gi_444 && l_bool_28; l_bool_4 = li_24 < gi_448 && l_bool_32; l_bool_8 = l_bool_0 || l_bool_4; } return (l_bool_8); } void CalculateIndicators() { if (gi_452 == 0 && gi_424 && Min_StopLoss > 0.0) CalculateISL(); CalculateBreakOutHi(); CalculateBreakOutLo(); CalculateSLL(); CalculateSLS(); if (gi_452 != 0) { IsHook(); Exit(); } } void CalculateISL() { double l_icustom_0 = iCustom(NULL, g_timeframe_392, "PivotWizard", 2, 1); double ld_8 = WizardMA(3, 1); double ld_16 = ld_8 - l_icustom_0; gd_528 = ld_8 - Min_StopLoss / 100.0 * ld_16; double l_icustom_24 = iCustom(NULL, g_timeframe_392, "PivotWizard", 3, 1); ld_16 = l_icustom_24 - (ld_8 + gd_464); gd_536 = ld_8 + gd_464 + Min_StopLoss / 100.0 * ld_16; } int CalculateBreakOutHi() { bool li_0; double l_ihigh_4; double l_icustom_12; double ld_20 = 5.0 * gd_352 + gd_464; double l_ihigh_28 = iHigh(NULL, g_timeframe_392, 0); bool li_36 = FALSE; for (int li_40 = 1; li_40 < 42; li_40++) { l_icustom_12 = iCustom(NULL, g_timeframe_392, "PivotWizard", 0, li_40); l_ihigh_4 = iHigh(NULL, g_timeframe_392, li_40); if (l_ihigh_4 > l_ihigh_28) l_ihigh_28 = l_ihigh_4; if (l_icustom_12 != 0.0) { g_price_544 = l_ihigh_4 + ld_20; li_0 = g_price_544 > l_ihigh_28; if (gi_628) li_0 = g_price_544 > l_ihigh_28 + gd_464; if (li_0) { LongRectangle(li_40, Blue); li_36 = TRUE; break; } } } if (!li_36) { g_price_544 = 9999; LongRectangle(li_40, Blue); } return (1); } int CalculateBreakOutLo() { bool li_0; double l_ilow_4; double l_icustom_12; double l_ilow_20 = iLow(NULL, g_timeframe_392, 0); bool li_28 = FALSE; for (int li_32 = 1; li_32 < 42; li_32++) { l_icustom_12 = iCustom(NULL, g_timeframe_392, "PivotWizard", 1, li_32); l_ilow_4 = iLow(NULL, g_timeframe_392, li_32); if (l_ilow_4 < l_ilow_20) l_ilow_20 = l_ilow_4; if (l_icustom_12 != 0.0) { g_price_552 = l_ilow_4 - 5.0 * gd_352; li_0 = g_price_552 < l_ilow_20; if (li_0) { ShrtRectangle(li_32, Blue); li_28 = TRUE; break; } } } if (!li_28) { g_price_552 = 0.01; ShrtRectangle(li_32, Blue); } return (1); } void CalculateSLL() { double ld_0; int li_8 = 1; g_icustom_504 = iCustom(NULL, g_timeframe_392, "PivotWizard", 2, li_8); gd_472 = gd_352 * MathRound(g_icustom_504 / gd_352); if (gi_424 && gd_528 > g_icustom_504) gd_472 = gd_352 * MathRound(gd_528 / gd_352); if (gi_380) { ld_0 = (g_price_544 - gd_472) / gd_352; gd_568 = NumLots(ld_0); if (g_price_544 == 9999.0) gd_568 = 0; } } void CalculateSLS() { double ld_0; int li_8 = 1; g_icustom_512 = iCustom(NULL, g_timeframe_392, "PivotWizard", 3, li_8); gd_480 = gd_352 * MathRound(g_icustom_512 / gd_352); if (gi_424 && gd_536 < g_icustom_512) gd_480 = gd_352 * MathRound(gd_536 / gd_352); if (gi_380) { ld_0 = ((-g_price_552) + gd_480) / gd_352; gd_576 = NumLots(ld_0); if (g_price_552 <= 0.01) gd_576 = 0; } } double WizardMA(int a_period_0, int ai_4) { double l_ima_8; l_ima_8 = iMA(NULL, g_timeframe_392, a_period_0, 0, MODE_SMA, PRICE_TYPICAL, ai_4); return (l_ima_8); } void LongRectangle(int ai_0, color a_color_4) { if (ObjectFind("Buy at") != -1) ObjectDelete("Buy at"); ObjectCreate("Buy at", OBJ_HLINE, 0, iTime(NULL, g_timeframe_392, ai_0), g_price_544); ObjectSet("Buy at", OBJPROP_COLOR, a_color_4); ObjectSet("Buy at", OBJPROP_ARROWCODE, SYMBOL_RIGHTPRICE); } void ShrtRectangle(int ai_0, color a_color_4) { if (ObjectFind("Sell at") != -1) ObjectDelete("Sell at"); ObjectCreate("Sell at", OBJ_HLINE, 0, iTime(NULL, g_timeframe_392, ai_0), g_price_552); ObjectSet("Sell at", OBJPROP_COLOR, a_color_4); ObjectSet("Sell at", OBJPROP_ARROWCODE, SYMBOL_RIGHTPRICE); } double TakeLong(double ad_0, int ai_8) { if (ai_8 == 0) return (0); return (ad_0 + ai_8 * gd_352); } double TakeShrt(double ad_0, int ai_8) { if (ai_8 == 0) return (0); return (ad_0 - ai_8 * gd_352); } void IsHook() { double ld_0 = WizardMA(3, 0); double ld_8 = gd_352 * MathRound(ld_0 / gd_352); double ld_16 = WizardMA(3, 1); double ld_24 = WizardMA(3, 2); g_bool_608 = ld_8 <= ld_16 && g_count_456 > 0; g_bool_612 = ld_8 >= ld_16 && g_count_460 > 0; g_bool_620 = ld_0 < ld_16 && ld_16 <= ld_24 && g_count_456 > 0; g_bool_624 = ld_0 > ld_16 && ld_16 >= ld_24 && g_count_460 > 0; } int Exit() { double l_ord_stoploss_0; double ld_8; double ld_16; double ld_24; double ld_32; int li_40; int li_44; int li_48; bool l_bool_52; bool l_bool_104; int l_error_108; if (gi_452 == 0) return (0); double l_icustom_56 = iCustom(NULL, g_timeframe_392, "TrendWizard", 1, 1); double l_icustom_64 = iCustom(NULL, g_timeframe_392, "TrendWizard", 4, 1); int li_72 = 0; bool l_bool_76 = FALSE; bool l_bool_80 = FALSE; bool l_bool_84 = g_bool_620 || g_bool_624; if (!gi_616 && l_bool_84) { gi_616 = TRUE; g_datetime_644 = TimeCurrent(); } int li_88 = 2 * g_timeframe_392; if (g_timeframe_392 > PERIOD_H1) li_88 = 120; int li_92 = TimeCurrent() - g_datetime_644 - li_88; if (gi_616 && li_92 >= 0) { gi_616 = FALSE; if (l_bool_84) { l_bool_76 = g_bool_620; l_bool_80 = g_bool_624; } } int l_ord_total_96 = OrdersTotal(); for (int l_pos_100 = 0; l_pos_100 < l_ord_total_96; l_pos_100++) { OrderSelect(l_pos_100, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_436) { ld_16 = OrderOpenTime() + g_timeframe_392 - Time[0]; l_ord_stoploss_0 = OrderStopLoss(); g_price_560 = OrderOpenPrice(); li_72 = FirstDelta(OrderOpenTime()); l_bool_52 = !li_72; if (OrderType() == OP_BUY) { if (gi_412) { if (Bid - gi_416 * gd_352 >= OrderOpenPrice()) { ld_8 = Bid - gi_420 * gd_352; if (NormalizeDouble(ld_8, Digits) > NormalizeDouble(l_ord_stoploss_0, Digits)) { l_bool_104 = OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(ld_8, Digits), OrderTakeProfit(), 0, Green); if (l_bool_104 == FALSE) { l_error_108 = GetLastError(); Print("error1 (", l_error_108, "): ", ErrorDescription(l_error_108), " ", OrderOpenPrice(), " ", ld_8, " ", OrderTakeProfit()); } gi_632 = TRUE; ModifLong(ld_8); return (0); } } if (gi_632) return (0); } else { if (ld_16 < 0.0 && l_icustom_56 > l_icustom_64) { ld_8 = l_icustom_56; if (NormalizeDouble(ld_8, Digits) > NormalizeDouble(l_ord_stoploss_0, Digits)) { l_bool_104 = OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(ld_8, Digits), OrderTakeProfit(), 0, Green); if (l_bool_104 == FALSE) { l_error_108 = GetLastError(); Print("error2 (", l_error_108, "): ", ErrorDescription(l_error_108), " ", OrderOpenPrice(), " ", ld_8, " ", OrderTakeProfit()); } ModifLong(ld_8); return (0); } } } if (l_bool_52 && l_bool_76 && gi_408) { OrderClose(OrderTicket(), OrderLots(), Bid, SlipPage, Violet); return (0); } ld_24 = Close[1] - g_price_560; li_48 = g_price_560 > l_ord_stoploss_0 && ld_16 < 0.0 && gi_636; li_40 = ld_24 >= gd_600; if (li_40 && li_48 && gi_404 && NormalizeDouble(l_ord_stoploss_0, Digits) != NormalizeDouble(g_price_560, Digits)) { l_bool_104 = OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(g_price_560, Digits), OrderTakeProfit(), 0, Green); if (l_bool_104 == FALSE) { l_error_108 = GetLastError(); Print("error3 (", l_error_108, "): ", ErrorDescription(l_error_108), " ", OrderOpenPrice(), " ", g_price_560, " ", OrderTakeProfit()); } ModifLong(g_price_560); return (0); } gd_472 = gd_352 * MathRound(g_icustom_504 / gd_352); if (gi_424 && gd_528 > g_icustom_504) gd_472 = gd_352 * MathRound(gd_528 / gd_352); if (NormalizeDouble(gd_472, Digits) > NormalizeDouble(l_ord_stoploss_0, Digits)) { l_bool_104 = OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(gd_472, Digits), OrderTakeProfit(), 0, Red); if (l_bool_104 == FALSE) { l_error_108 = GetLastError(); Print("error4 (", l_error_108, "): ", ErrorDescription(l_error_108), " ", OrderOpenPrice(), " ", gd_472, " ", OrderTakeProfit()); } ModifLong(gd_472); } if (gi_408) { gd_488 = WizardHSLL(li_72); if (g_bool_608) { if (Bid > gd_488) { ModifLong(gd_488); return (0); } OrderClose(OrderTicket(), OrderLots(), Bid, SlipPage, Navy); return (0); } if (!g_bool_608) { ModifLong(gd_472); return (0); } } } if (OrderType() == OP_SELL) { if (gi_412) { if (Ask + gi_416 * gd_352 <= OrderOpenPrice()) { ld_8 = Ask + gi_420 * gd_352; if (NormalizeDouble(ld_8, Digits) < NormalizeDouble(l_ord_stoploss_0, Digits)) { l_bool_104 = OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(ld_8, Digits), OrderTakeProfit(), 0, Red); if (l_bool_104 == FALSE) { l_error_108 = GetLastError(); Print("error5 (", l_error_108, "): ", ErrorDescription(l_error_108), " ", OrderOpenPrice(), " ", ld_8, " ", OrderTakeProfit()); } gi_632 = TRUE; ModifShrt(ld_8); return (0); } } if (gi_632) return (0); } else { if (ld_16 < 0.0 && l_icustom_56 < l_icustom_64) { ld_8 = l_icustom_56 + gd_464; if (NormalizeDouble(ld_8, Digits) < NormalizeDouble(l_ord_stoploss_0, Digits)) { l_bool_104 = OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(ld_8, Digits), OrderTakeProfit(), 0, Red); if (l_bool_104 == FALSE) { l_error_108 = GetLastError(); Print("error6 (", l_error_108, "): ", ErrorDescription(l_error_108), " ", OrderOpenPrice(), " ", ld_8, " ", OrderTakeProfit()); } ModifShrt(ld_8); return (0); } } } if (l_bool_52 && l_bool_80 && gi_408) { OrderClose(OrderTicket(), OrderLots(), Ask, SlipPage, Violet); return (0); } ld_32 = (-(Close[1] + gd_464)) + g_price_560; li_48 = g_price_560 < l_ord_stoploss_0 && ld_16 < 0.0 && gi_636; li_44 = ld_32 >= gd_600; if (li_44 && li_48 && gi_404 && NormalizeDouble(l_ord_stoploss_0, Digits) != NormalizeDouble(g_price_560, Digits)) { l_bool_104 = OrderModify(OrderTicket(), OrderOpenPrice(), g_price_560, OrderTakeProfit(), 0, Green); if (l_bool_104 == FALSE) { l_error_108 = GetLastError(); Print("error7 (", l_error_108, "): ", ErrorDescription(l_error_108), " ", OrderOpenPrice(), " ", NormalizeDouble(g_price_560, Digits), " ", OrderTakeProfit()); } ModifShrt(g_price_560); return (0); } ld_8 = gd_352 * MathRound(g_icustom_512 / gd_352); if (gi_424 && gd_536 < g_icustom_512) ld_8 = gd_352 * MathRound(gd_536 / gd_352); if (NormalizeDouble(ld_8, Digits) < NormalizeDouble(l_ord_stoploss_0, Digits)) { l_bool_104 = OrderModify(OrderTicket(), OrderOpenPrice(), NormalizeDouble(ld_8, Digits), OrderTakeProfit(), 0, Navy); if (l_bool_104 == FALSE) { l_error_108 = GetLastError(); Print("error8 (", l_error_108, "): ", ErrorDescription(l_error_108), " ", OrderOpenPrice(), " ", ld_8, " ", OrderTakeProfit()); } ModifShrt(ld_8); } if (gi_408) { gd_496 = WizardHSLS(li_72); if (g_bool_612) { if (Ask < gd_496) { ModifShrt(gd_496); return (0); } OrderClose(OrderTicket(), OrderLots(), Ask, SlipPage, Navy); return (0); } if (!g_bool_612) { ModifShrt(ld_8); return (0); } } } } } return (0); } double ModifLong(double ad_0) { gd_unused_520 = ad_0; return (0); } double ModifShrt(double ad_0) { gd_unused_520 = ad_0; return (0); } double WizardHSLL(bool ai_0) { double ld_4 = 0.618; double ld_12 = WizardMA(3, 1); double ld_20 = ld_12 - g_icustom_504; double ld_28 = Close[1] - g_icustom_504; double ld_36 = g_icustom_504 + ld_4 * MathMin(ld_20, ld_28); if (ai_0) ld_36 = (g_price_560 + g_icustom_504) / 2.0; double ld_ret_44 = gd_352 * MathRound(ld_36 / gd_352); return (ld_ret_44); } double WizardHSLS(bool ai_0) { double ld_4 = 0.618; double ld_12 = WizardMA(3, 1); double ld_20 = g_icustom_512 - ld_12; double ld_28 = g_icustom_512 - Close[1]; double ld_36 = g_icustom_512 - ld_4 * MathMin(ld_20, ld_28); if (ai_0) ld_36 = (g_price_560 + g_icustom_512) / 2.0; double ld_ret_44 = gd_352 * MathRound(ld_36 / gd_352); return (ld_ret_44); } int FirstDelta(int ai_0) { if (TimeCurrent() - ai_0 <= 60 * g_timeframe_392) return (1); return (0); } double NumLots(double ad_0) { double ld_8; double ld_16 = MarketInfo(Symbol(), MODE_TICKVALUE); if (Point == 0.001 || Point == 0.00001 && ld_16 < 5.0) ld_16 = 10.0 * ld_16; double ld_24 = AccountEquity(); double ld_32 = ad_0 * ld_16; if (ld_32 != 0.0) ld_8 = ld_24 / 100.0 * Risk / ld_32; double l_lotstep_40 = MarketInfo(Symbol(), MODE_LOTSTEP); double l_minlot_48 = MarketInfo(Symbol(), MODE_MINLOT); double ld_ret_56 = l_lotstep_40 * MathRound(ld_8 / l_lotstep_40); if (ld_ret_56 <= l_minlot_48) ld_ret_56 = l_minlot_48; double l_maxlot_64 = MarketInfo(Symbol(), MODE_MAXLOT); if (ld_ret_56 >= l_maxlot_64) ld_ret_56 = l_maxlot_64; return (ld_ret_56); } int OpenOrder(int a_cmd_0, double a_lots_4, double a_price_12, double a_price_20) { int l_ticket_28; double l_price_32; color l_color_40; int li_44; if (a_cmd_0 == OP_BUY) { l_price_32 = Ask; l_color_40 = Green; } else { if (a_cmd_0 == OP_SELL) { l_price_32 = Bid; l_color_40 = Red; } } if (a_cmd_0 == OP_BUY) li_44 = 1; else { if (a_cmd_0 == OP_SELL) li_44 = 0; else li_44 = 99; } if (ECN_MarketOrder) { if (Two_Direction_Trade == TRUE) l_ticket_28 = OrderSend(Symbol(), a_cmd_0, a_lots_4, NormalizeDouble(l_price_32, Digits), 3, 0, 0, gs_fractals_368 + "-BR(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_436, 0, l_color_40); else if (gi_348 != li_44) l_ticket_28 = OrderSend(Symbol(), a_cmd_0, a_lots_4, NormalizeDouble(l_price_32, Digits), 3, 0, 0, gs_fractals_368 + "-BR(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_436, 0, l_color_40); OrderSelect(l_ticket_28, SELECT_BY_TICKET, MODE_TRADES); OrderModify(OrderTicket(), OrderOpenPrice(), a_price_12, a_price_20, 0, l_color_40); } else { if (Two_Direction_Trade == TRUE) { l_ticket_28 = OrderSend(Symbol(), a_cmd_0, a_lots_4, NormalizeDouble(l_price_32, Digits), 3, a_price_12, a_price_20, gs_fractals_368 + "-BR(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_436, 0, l_color_40); } else { if (gi_348 != li_44) { l_ticket_28 = OrderSend(Symbol(), a_cmd_0, a_lots_4, NormalizeDouble(l_price_32, Digits), 3, a_price_12, a_price_20, gs_fractals_368 + "-BR(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_436, 0, l_color_40); } } } return (l_ticket_28); } int start() { string ls_0; if (gi_176 >= gi_180) { Alert("Maximum Attempt to connect server reach, Please contact support team for solution"); return (0); } if (g_datetime_76 + gi_96 < TimeCurrent()) { checkAccount(); if (gi_152 == TRUE) validateAcc(); } if (gi_152 == FALSE) { if (g_datetime_188 + gi_172 < TimeCurrent()) { if (gi_176 % gi_184 == 0) { g_datetime_188 = TimeCurrent(); gi_176++; Alert("Validation To Server Fail (" + gi_176 + "), Re-Try in " + DoubleToStr(gi_172 / 60.0, 2) + " minutes"); gi_152 = FALSE; return (0); } checkAccount(); if (gi_152 == TRUE) validateAcc(); gi_176++; } Comment(gs_80); if (g_datetime_168 + gi_164 < TimeCurrent()) { Alert(gs_156); g_datetime_168 = TimeCurrent(); } return (0); } gi_176 = 1; AdjustHour(); if (!CekCondition()) return (0); if (BSOrdersTotal(g_magic_436, 0) > 0) gi_344 = 0; else { if (BSOrdersTotal(g_magic_436, 1) > 0) gi_344 = 1; else gi_344 = 99; } if (BSOrdersTotal(g_magic_1180, 0) > 0 || BSOrdersTotal(g_magic_1184, 0) > 0 || BSOrdersTotal(g_magic_1188, 0) > 0 || BSOrdersTotal(g_magic_1192, 0) > 0) gi_348 = 0; else { if (BSOrdersTotal(g_magic_1180, 0) > 0 || BSOrdersTotal(g_magic_1184, 0) > 0 || BSOrdersTotal(g_magic_1188, 0) > 0 || BSOrdersTotal(g_magic_1192, 0) > 0) gi_348 = 1; else gi_348 = 99; } if (Risk <= 0.0) Risk = 0.1; if (Aggressive_Setting <= 0) Aggressive_Setting = 1; gi_304 = Aggressive_Setting; _do_frac(); if (gs_std_360 == "STD") ls_0 = "STANDARD EDITION"; string ls_8 = ls_0; Comment("\n Fractals-4 (Build 907) for EURUSD, EURGBP & GBPUSD (PERIOD H4)", "\n Copyright (c)2007-2009 Forex Hope - http://www.forexhope.com", "\n Your Fractals-4 EA STATUS: " + ls_8 + "\n Risk: " + DoubleToStr(Risk, 2), "\n Agressive Setting: " + Aggressive_Setting, "\n Take Profit: ", Take_Profit, "\n Break Even Point: ", BEP, "\n Minimum Stop Loss: ", Min_StopLoss, "\n Account Type: " + AccountServer(), "\n Broker Digits: " + DoubleToStr(MarketInfo(Symbol(), MODE_DIGITS), 0), "\n Broker Spread: " + DoubleToStr(MarketInfo(Symbol(), MODE_SPREAD), 0), "\n Comment:", gs_108); string ls_16 = "Broker Time: " + TimeToStr(TimeCurrent(), TIME_DATE|TIME_SECONDS); Timer.TextOut(ls_16); About.TextOut(); ObjectsRedraw(); _do_thun(); return (0); } int _do_frac() { g_bool_660 = g_timeframe_392 == Period(); if (g_bool_660 == FALSE) return (0); gi_668 = CheckTime(); gd_464 = Ask - Bid; gi_636 = BegBar(); g_bool_664 = gi_452 != 0; CountOpenTrades(); gi_628 = g_bool_664 * (gi_452 == 0); if (g_price_544 == 10000.0 || gi_628) { gi_632 = FALSE; gi_616 = FALSE; CalculateIndicators(); IsHook(); } if (gi_636) { CalculateIndicators(); IsHook(); } if (gi_452 == 0) { gi_632 = FALSE; if (gi_428 || gi_432) gi_656 = Entry(gi_428, gi_432); if (gi_668) gi_656 = Entry(0, 0); } CountOpenTrades(); if (gi_452 != 0) { IsHook(); Exit(); } return (0); } bool VT1() { return (gi_744 < gi_748 && TimeHour(TimeCurrent()) < gi_744 || TimeHour(TimeCurrent()) >= gi_748); } bool HOO3() { return (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_1188); } int Valid_Trading() { if (VT1()) return (0); if (VT2()) return (0); if (VT3()) gi_748 = 24; if (VT4()) return (0); return (1); } int CekM5() { if (iOpen(Symbol(), PERIOD_M5, 0) >= Ask + gd_1484) return (0); if (iOpen(Symbol(), PERIOD_M5, 0) <= Bid - gd_1484) return (0); if (iOpen(Symbol(), PERIOD_M5, 1) >= Ask + gd_1492) return (0); if (iOpen(Symbol(), PERIOD_M5, 1) <= Bid - gd_1492) return (0); if (iOpen(Symbol(), PERIOD_M5, 2) >= Ask + gd_1500) return (0); if (iOpen(Symbol(), PERIOD_M5, 2) <= Bid - gd_1500) return (0); return (1); } bool VT2() { return (gi_744 > gi_748 && TimeHour(TimeCurrent()) < gi_744 && TimeHour(TimeCurrent()) >= gi_748); } bool HOO4() { return (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_1192); } bool VT3() { return (gi_748 == 0); } int KeluarPosisiCara3() { bool li_ret_0 = FALSE; for (int l_pos_4 = 0; l_pos_4 < OrdersTotal(); l_pos_4++) { if (OrderSelect(l_pos_4, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_1188) { if (OrderType() == OP_BUY || OrderType() == OP_SELL) { li_ret_0 = TRUE; break; } } } } return (li_ret_0); } void Timer.TextOut(string a_text_0) { string l_name_8 = gs_fractals_672 + "timer"; if (ObjectFind(l_name_8) == -1) ObjectCreate(l_name_8, OBJ_LABEL, 0, 0, 0); ObjectSet(l_name_8, OBJPROP_XDISTANCE, g_x_684); ObjectSet(l_name_8, OBJPROP_YDISTANCE, g_y_688); ObjectSet(l_name_8, OBJPROP_CORNER, g_corner_680); ObjectSetText(l_name_8, a_text_0, g_fontsize_704, g_fontname_696, g_color_708); } void About.TextOut() { string l_name_0 = gs_fractals_672 + "about1"; if (ObjectFind(l_name_0) == -1) ObjectCreate(l_name_0, OBJ_LABEL, 0, 0, 0); ObjectSet(l_name_0, OBJPROP_XDISTANCE, g_x_716); ObjectSet(l_name_0, OBJPROP_YDISTANCE, g_y_720); ObjectSet(l_name_0, OBJPROP_CORNER, g_corner_712); ObjectSetText(l_name_0, "www.forexhope.com", g_fontsize_736, gs_verdana_728, g_color_740); l_name_0 = gs_fractals_672 + "about2"; if (ObjectFind(l_name_0) == -1) ObjectCreate(l_name_0, OBJ_LABEL, 0, 0, 0); ObjectSet(l_name_0, OBJPROP_XDISTANCE, g_x_716); ObjectSet(l_name_0, OBJPROP_YDISTANCE, g_y_720 + gi_724); ObjectSet(l_name_0, OBJPROP_CORNER, g_corner_712); ObjectSetText(l_name_0, "Copyright©2009 Forex Hope", g_fontsize_736, gs_verdana_728, g_color_740); l_name_0 = gs_fractals_672 + "about3"; if (ObjectFind(l_name_0) == -1) ObjectCreate(l_name_0, OBJ_LABEL, 0, 0, 0); ObjectSet(l_name_0, OBJPROP_XDISTANCE, g_x_716); ObjectSet(l_name_0, OBJPROP_YDISTANCE, g_y_720 + gi_724 * 2); ObjectSet(l_name_0, OBJPROP_CORNER, g_corner_712); ObjectSetText(l_name_0, g_text_756, g_fontsize_736, gs_verdana_728, g_color_740); } int PBO13() { int l_ticket_0; g_price_1916 = 0; g_price_1924 = 0; if (gi_1228) g_price_1916 = g_ifractals_2036; g_price_1924 = Ask - gd_1476 * gd_764; if (ECN_MarketOrder) { if (Two_Direction_Trade) l_ticket_0 = OrderSend(Symbol(), OP_BUY, g_lots_1292, Ask, SlipPage, 0, 0, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1184, 0, Green); else if (gi_344 != 1) l_ticket_0 = OrderSend(Symbol(), OP_BUY, g_lots_1292, Ask, SlipPage, g_price_1924, g_price_1916, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1184, 0, Green); OrderSelect(l_ticket_0, SELECT_BY_TICKET, MODE_TRADES); OrderModify(OrderTicket(), OrderOpenPrice(), g_price_1924, g_price_1916, 0, Green); } else { if (Two_Direction_Trade) OrderSend(Symbol(), OP_BUY, g_lots_1292, Ask, SlipPage, g_price_1924, g_price_1916, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1184, 0, Green); else if (gi_344 != 1) OrderSend(Symbol(), OP_BUY, g_lots_1292, Ask, SlipPage, g_price_1924, g_price_1916, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1184, 0, Green); } gi_1244 = FALSE; gi_1248 = TRUE; return (0); } int KeluarPosisiCara1() { bool li_ret_0 = FALSE; for (int l_pos_4 = 0; l_pos_4 < OrdersTotal(); l_pos_4++) { if (OrderSelect(l_pos_4, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_1180) { if (OrderType() == OP_BUY || OrderType() == OP_SELL) { li_ret_0 = TRUE; break; } } } } return (li_ret_0); } bool PBO27() { return (gi_1368 < gi_1308 && gi_1260); } bool PBO28() { return (gi_1348 < gi_1308 && gi_1264); } int KeluarPosisiCara5() { bool li_ret_0 = FALSE; for (int l_pos_4 = 0; l_pos_4 < OrdersTotal(); l_pos_4++) { if (OrderSelect(l_pos_4, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_1180) { if (OrderType() == OP_BUY || OrderType() == OP_SELL) { li_ret_0 = TRUE; break; } } } } return (li_ret_0); } int KeluarPosisiCara6() { bool li_ret_0 = FALSE; for (int l_pos_4 = 0; l_pos_4 < OrdersTotal(); l_pos_4++) { if (OrderSelect(l_pos_4, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_1184) { if (OrderType() == OP_BUY || OrderType() == OP_SELL) { li_ret_0 = TRUE; break; } } } } return (li_ret_0); } int Hoo9() { gi_1368++; g_ord_open_price_1908 = OrderOpenPrice(); return (0); } bool PBO24() { return (g_icci_1000 >= -50.0 && g_icci_1000 <= 50.0); } bool PBO25() { return (!KeluarPosisiCara4() && gi_1224 == TRUE); } bool PBO26() { return (DayOfWeek() == 0 || DayOfWeek() == 5 && Hour() >= 14); } int PeriksaOrderYangAda0() { gd_1660 = 0; gd_1668 = 0; gd_1676 = 0; gd_1684 = 0; gd_1532 = 0; gd_1540 = 0; gd_1548 = 0; gd_1556 = 0; gd_1564 = 0; gd_1572 = 0; gd_1580 = 0; gd_1588 = 0; gd_1596 = 0; gd_1604 = 0; gd_1612 = 0; gd_1620 = 0; gd_1628 = 0; gd_1644 = 0; gd_1636 = 0; gd_1652 = 0; gd_1692 = 0; gd_1700 = 0; gd_1708 = 0; gd_1716 = 0; gd_1724 = 0; gd_1732 = 0; gd_1740 = 0; gd_1748 = 0; gd_1756 = 0; gd_1764 = 0; gd_1772 = 0; gd_1780 = 0; gd_1788 = 0; gd_1796 = 0; gd_1804 = 0; gd_1812 = 0; return (0); } void POYA2() { gd_1548++; gd_1708 += OrderLots(); gd_1684 += OrderProfit(); } void PeriksaOrderYangAda() { int li_unused_4; if (PeriksaOrderYangAda0() != 1) { for (int l_pos_0 = OrdersTotal() - 1; l_pos_0 >= 0; l_pos_0--) { OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES); if (OrderType() == OP_BUY) POYA1(); if (Symbol() == Symbol() && OrderSymbol() == Symbol() && OrderType() == OP_BUY) POYA2(); else if (OrderType() == OP_SELL) POYA3(); if (Symbol() == Symbol() && OrderSymbol() == Symbol() && OrderType() == OP_SELL) POYA4(); else { if (OrderType() == OP_BUYSTOP) gd_1564++; else { if (OrderType() == OP_SELLSTOP) gd_1572++; else { if (OrderType() == OP_BUYLIMIT) gd_1580++; else if (OrderType() == OP_SELLLIMIT) gd_1588++; } } } } if (PeriksaOrderYangAda1() != 0) { li_unused_4 = 0; for (int l_pos_8 = 0; l_pos_8 < OrdersTotal(); l_pos_8++) { if (OrderSelect(l_pos_8, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_1184) { if (OrderType() == OP_BUY || OrderType() == OP_SELL) { li_unused_4 = 1; return; } } } } } } } void POYA1() { gd_1532++; gd_1660 += OrderProfit(); gd_1668 += (OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_BID)) / MarketInfo(OrderSymbol(), MODE_POINT); gd_1692 += OrderLots(); } int FC3() { for (gi_912 = 1; gi_912 < Bars; gi_912++) { if (iFractals(NULL, PERIOD_H1, MODE_UPPER, gi_912) != 0.0) { g_ifractals_2068 = iFractals(NULL, PERIOD_H1, MODE_UPPER, gi_912); gd_unused_2092 = Time[gi_912]; break; } } return (0); } bool KeluarPosisiCara4() { bool li_ret_0 = FALSE; for (int l_pos_4 = 0; l_pos_4 < OrdersTotal(); l_pos_4++) { if (OrderSelect(l_pos_4, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_1192) { if (OrderType() == OP_BUY || OrderType() == OP_SELL) { li_ret_0 = TRUE; break; } } } } return (li_ret_0); } int Functions_Calling() { int li_unused_0; if (gi_780) { li_unused_0 = 0; for (int l_pos_4 = 0; l_pos_4 < OrdersTotal(); l_pos_4++) { if (OrderSelect(l_pos_4, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_1184) { if (OrderType() == OP_BUY || OrderType() == OP_SELL) { li_unused_0 = 1; break; } } } } } g_irsi_2116 = iRSI(NULL, g_timeframe_2108, g_timeframe_2108, PRICE_CLOSE, gi_2112); g_irsi_2124 = iRSI(NULL, g_timeframe_2108, g_timeframe_2108, PRICE_CLOSE, gi_2112 + 1); g_irsi_2132 = iRSI(NULL, g_timeframe_2108, g_timeframe_2108, PRICE_CLOSE, gi_2112 + 2); g_icci_2140 = iCCI(NULL, g_timeframe_2108, g_timeframe_2108, PRICE_TYPICAL, gi_2112); g_icci_2148 = iCCI(NULL, g_timeframe_2108, g_timeframe_2108, PRICE_TYPICAL, gi_2112 + 1); g_icci_2156 = iCCI(NULL, g_timeframe_2108, g_timeframe_2108, PRICE_TYPICAL, gi_2112 + 2); g_ima_2164 = iMA(NULL, g_timeframe_2108, g_timeframe_2108, 0, MODE_SMA, PRICE_MEDIAN, gi_2112); g_iclose_928 = iClose(Symbol(), PERIOD_M15, 0); g_iopen_936 = iOpen(Symbol(), PERIOD_M15, 0); g_ilow_944 = iLow(Symbol(), PERIOD_M15, 0); g_ihigh_952 = iHigh(Symbol(), PERIOD_M15, 0); g_irsi_960 = iRSI(NULL, PERIOD_M15, 6, PRICE_CLOSE, 0); g_irsi_968 = iRSI(NULL, PERIOD_M1, 20, PRICE_CLOSE, 0); g_icci_976 = iCCI(Symbol(), PERIOD_M15, 14, PRICE_CLOSE, 0); g_icci_984 = iCCI(Symbol(), PERIOD_M5, 42, PRICE_CLOSE, 0); g_icci_992 = iCCI(Symbol(), PERIOD_M1, 210, PRICE_CLOSE, 0); g_icci_1000 = iCCI(Symbol(), PERIOD_M1, 80, PRICE_CLOSE, 0); g_iwpr_1008 = iWPR(Symbol(), PERIOD_M1, 14, 0); g_iwpr_1016 = iWPR(Symbol(), PERIOD_M5, 14, 0); g_iwpr_1024 = iWPR(Symbol(), PERIOD_M15, 14, 0); g_iforce_1032 = iForce(Symbol(), PERIOD_M5, 13, MODE_SMA, PRICE_CLOSE, 0); g_ibands_1040 = iBands(Symbol(), PERIOD_M5, 20, 2, 0, PRICE_WEIGHTED, MODE_UPPER, 1); g_ibands_1048 = iBands(Symbol(), PERIOD_M5, 20, 2, 0, PRICE_WEIGHTED, MODE_BASE, 1); g_ibands_1056 = iBands(Symbol(), PERIOD_M5, 20, 2, 0, PRICE_WEIGHTED, MODE_LOWER, 1); g_ibands_1064 = iBands(Symbol(), PERIOD_M5, 20, 2, 0, PRICE_WEIGHTED, MODE_UPPER, 0); g_ibands_1072 = iBands(Symbol(), PERIOD_M5, 20, 2, 0, PRICE_WEIGHTED, MODE_BASE, 0); g_ibands_1080 = iBands(Symbol(), PERIOD_M5, 20, 2, 0, PRICE_WEIGHTED, MODE_LOWER, 0); g_iadx_2172 = iADX(NULL, 0, g_period_2308, PRICE_CLOSE, MODE_MAIN, 0); g_iadx_2180 = iADX(NULL, 0, g_period_2308, PRICE_CLOSE, MODE_MAIN, 1); g_ima_2188 = iMA(NULL, 0, g_period_2312, 0, MODE_SMA, PRICE_CLOSE, 0); gd_2196 = gi_2352 * iATR(NULL, 0, g_period_2312, 0); gd_2204 = g_ima_2188 + gd_2196; gd_2212 = g_ima_2188 - gd_2196; g_ima_2220 = iMA(NULL, PERIOD_D1, g_period_2316, 0, MODE_SMA, PRICE_CLOSE, 0); gd_2228 = gi_2352 * iATR(NULL, PERIOD_D1, g_period_2316, 0); gd_2236 = g_ima_2220 + gd_2228; gd_2244 = g_ima_2220 - gd_2228; g_ima_2252 = iMA(NULL, PERIOD_D1, g_period_2316, 0, MODE_SMA, PRICE_CLOSE, 0); g_ima_2260 = iMA(NULL, PERIOD_D1, g_period_2320, 0, MODE_SMA, PRICE_CLOSE, 0); g_ima_2268 = iMA(NULL, PERIOD_H4, g_period_2320, 0, MODE_SMA, PRICE_CLOSE, 0); g_imacd_2276 = iMACD(NULL, PERIOD_D1, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, 1); g_imacd_2284 = iMACD(NULL, PERIOD_D1, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, 1); g_imacd_2292 = iMACD(NULL, PERIOD_H4, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, 1); g_imacd_2300 = iMACD(NULL, PERIOD_H4, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, 1); g_imomentum_1088 = iMomentum(Symbol(), PERIOD_M1, 60, PRICE_CLOSE, 0); g_imomentum_1096 = iMomentum(Symbol(), PERIOD_M5, 4, PRICE_CLOSE, 0); g_imomentum_1104 = iMomentum(Symbol(), PERIOD_M15, 14, PRICE_CLOSE, 0); g_ima_1112 = iMA(Symbol(), PERIOD_M5, 1, 0, MODE_EMA, PRICE_HIGH, 0); g_ima_1120 = iMA(Symbol(), PERIOD_M5, 1, 0, MODE_EMA, PRICE_MEDIAN, 0); g_ima_1128 = iMA(Symbol(), PERIOD_M5, 1, 0, MODE_EMA, PRICE_LOW, 0); g_ima_1136 = iMA(Symbol(), PERIOD_M1, 1, 0, MODE_EMA, PRICE_HIGH, 0); g_ima_1144 = iMA(Symbol(), PERIOD_M1, 1, 0, MODE_EMA, PRICE_MEDIAN, 0); g_ima_1152 = iMA(Symbol(), PERIOD_M1, 1, 0, MODE_EMA, PRICE_LOW, 0); gd_1160 = NormalizeDouble(iMA(NULL, PERIOD_M15, 8, 0, MODE_SMA, PRICE_WEIGHTED, 1), 4); gd_1168 = NormalizeDouble(iMA(NULL, PERIOD_M15, 8, 0, MODE_SMA, PRICE_WEIGHTED, 1), 4); return (0); } int FC2() { int l_ord_total_0; int l_cmd_8; double ld_12; int li_20; int li_24; if (gi_780) { l_ord_total_0 = OrdersTotal(); for (int l_pos_4 = l_ord_total_0 - 1; l_pos_4 >= 0; l_pos_4--) { OrderSelect(l_pos_4, SELECT_BY_POS); l_cmd_8 = OrderType(); if (l_cmd_8 == OP_BUY && OrderMagicNumber() == gi_1208 && OrderProfit() + OrderSwap() + OrderCommission() > 0.0) { ld_12 = OrderProfit() + OrderSwap() + OrderCommission(); if (li_20 == 0) li_24 = li_24 + ld_12; } } } for (gi_908 = 1; gi_908 < Bars; gi_908++) { if (iFractals(NULL, PERIOD_M15, MODE_LOWER, gi_908) != 0.0) { g_ifractals_2044 = iFractals(NULL, PERIOD_M15, MODE_LOWER, gi_908); gd_unused_2052 = Time[gi_908]; break; } } return (0); } int FC4() { int l_ord_total_0; int l_cmd_8; double ld_12; bool li_20; int li_24; if (gi_780) { l_ord_total_0 = OrdersTotal(); for (int l_pos_4 = l_ord_total_0 - 1; l_pos_4 >= 0; l_pos_4--) { OrderSelect(l_pos_4, SELECT_BY_POS); l_cmd_8 = OrderType(); if (l_cmd_8 == OP_BUY && OrderMagicNumber() == gi_1208 && OrderProfit() + OrderSwap() + OrderCommission() > 0.0) { ld_12 = OrderProfit() + OrderSwap() + OrderCommission(); li_20 = FALSE; if (li_20) li_24 = li_24 + ld_12; } } } for (gi_916 = 1; gi_916 < Bars; gi_916++) { if (iFractals(NULL, PERIOD_H1, MODE_LOWER, gi_916) != 0.0) { g_ifractals_2076 = iFractals(NULL, PERIOD_H1, MODE_LOWER, gi_916); gd_unused_2084 = Time[gi_908]; break; } } return (0); } int FC() { int l_ord_total_0; int l_cmd_8; double ld_12; bool li_20; int li_24; if (FC1() != 1) { if (FC2() != 1) { if (FC3() != 1) { if (FC4() != 1) { gi_1372 = MathRound((g_ifractals_2036 - g_ifractals_2044) / gd_764); gi_unused_1376 = MathRound((g_ifractals_2068 - g_ifractals_2076) / gd_764); gd_1524 = 0; if (gi_780) { l_ord_total_0 = OrdersTotal(); for (int l_pos_4 = l_ord_total_0 - 1; l_pos_4 >= 0; l_pos_4--) { OrderSelect(l_pos_4, SELECT_BY_POS); l_cmd_8 = OrderType(); if (l_cmd_8 == OP_BUY && OrderMagicNumber() == gi_1208 && OrderProfit() + OrderSwap() + OrderCommission() > 0.0) { ld_12 = OrderProfit() + OrderSwap() + OrderCommission(); li_20 = FALSE; if (li_20) li_24 = li_24 + ld_12; } } } gd_1524 = g_ifractals_2036 - (g_ifractals_2036 - g_ifractals_2044) / 2.0; gi_1380 = MathRound(iATR(Symbol(), PERIOD_M15, 4, 0) / gd_764); gi_1176 = FALSE; if (Close[0] <= g_ifractals_2068 && Close[0] >= g_ifractals_2076) gi_1176 = TRUE; } } } } return (0); } int Hoo15() { g_count_1328++; if (OrderType() == OP_BUY) Hoo9(); if (OrderType() == OP_SELL) Hoo10(); return (g_count_1328); } int KeluarPosisiCara2() { bool li_ret_0 = FALSE; for (int l_pos_4 = 0; l_pos_4 < OrdersTotal(); l_pos_4++) { if (OrderSelect(l_pos_4, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_1184) { if (OrderType() == OP_BUY || OrderType() == OP_SELL) { li_ret_0 = TRUE; break; } } } } return (li_ret_0); } bool HOO() { int l_ord_total_0; int l_cmd_8; double ld_12; bool li_20; int li_24; if (gi_780) { l_ord_total_0 = OrdersTotal(); for (int l_pos_4 = l_ord_total_0 - 1; l_pos_4 >= 0; l_pos_4--) { OrderSelect(l_pos_4, SELECT_BY_POS); l_cmd_8 = OrderType(); if (l_cmd_8 == OP_BUY && OrderMagicNumber() == gi_1208 && OrderProfit() + OrderSwap() + OrderCommission() > 0.0) { ld_12 = OrderProfit() + OrderSwap() + OrderCommission(); li_20 = FALSE; if (li_20) li_24 = li_24 + ld_12; } } } return (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_1180 || OrderMagicNumber() == g_magic_1184 || OrderMagicNumber() == g_magic_1188 || OrderMagicNumber() == g_magic_1192); } bool HOO1() { return (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_1180); } int Hoo5() { gi_1360++; g_ord_open_price_1892 = OrderOpenPrice(); return (0); } int Hoo8() { gi_1344++; g_ord_open_price_1860 = OrderOpenPrice(); return (0); } int Hoo14() { g_count_1324++; if (OrderType() == OP_BUY) Hoo7(); if (OrderType() == OP_SELL) Hoo8(); return (0); } int Hitung_Open_Order() { for (int l_pos_0 = 0; l_pos_0 < OrdersTotal(); l_pos_0++) { OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES); if (HOO()) Hoo11(); else { if (HOO1()) Hoo12(); else { if (HOO2()) Hoo13(); else { if (HOO3()) Hoo14(); else if (HOO4()) Hoo15(); } } } } return (0); } int Prosedur_Tutup_Order1() { g_bool_840 = OrderType() == OP_BUY && OrderMagicNumber() == g_magic_1180; gi_844 = Bid >= OrderOpenPrice() + gd_1468 * gd_764; g_bool_848 = OrderType() == OP_BUY && OrderMagicNumber() == g_magic_1184; gi_852 = Bid >= OrderOpenPrice() + (gd_1468 - 2.0) * gd_764; g_bool_856 = OrderType() == OP_BUY && OrderMagicNumber() == g_magic_1188; gi_860 = Bid >= OrderOpenPrice() + (gd_1468 - 1.0) * gd_764; g_bool_864 = OrderType() == OP_BUY && OrderMagicNumber() == g_magic_1192; gi_868 = Bid >= OrderOpenPrice() + (gd_1468 - 2.0) * gd_764; g_bool_872 = OrderType() == OP_SELL && OrderMagicNumber() == g_magic_1180; if (PTO2() == 1) return (0); return (0); } int Prosedur_Tutup_Order() { if (gi_1228 == TRUE) { for (int l_pos_0 = 0; l_pos_0 < OrdersTotal(); l_pos_0++) { OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES); Prosedur_Tutup_Order1(); if (g_bool_840 && gi_844) Proses_Closing_Bid(); if (g_bool_848 && gi_852) Proses_Closing_Bid(); if (g_bool_856 && gi_860) Proses_Closing_Bid(); if (g_bool_864 && gi_868) Proses_Closing_Bid(); if (g_bool_872 && gi_876) Proses_Closing_Ask(); if (g_bool_880 && gi_884) Proses_Closing_Ask(); if (g_bool_888 && gi_892) Proses_Closing_Ask(); if (g_bool_896 && gi_900) Proses_Closing_Ask(); } } return (0); } bool HOO2() { return (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_1184); } bool PBO10() { return (!KeluarPosisiCara2() && gi_1216 == TRUE); } bool PBO11() { return (DayOfWeek() == 0 || DayOfWeek() == 5 && Hour() >= 14); } bool PBO12() { return (gi_1360 < gi_1308 && gi_1244); } int Proses_Closing_Ask() { RefreshRates(); OrderClose(OrderTicket(), OrderLots(), Ask, SlipPage, Orange); return (0); } int Hoo1() { gi_1352++; g_ord_open_price_1876 = OrderOpenPrice(); return (0); } int Hoo4() { gi_1336++; g_ord_open_price_1844 = OrderOpenPrice(); return (0); } int Syarat_Profit1() { g_bool_812 = OrderType() == OP_SELL && OrderMagicNumber() == g_magic_1180 || OrderMagicNumber() == g_magic_1184 || OrderMagicNumber() == g_magic_1188 || OrderMagicNumber() == g_magic_1192; g_bool_816 = TimeCurrent() - OrderOpenTime() > 60 * gi_1424 && TimeCurrent() - OrderOpenTime() < 60 * gi_1432 && Ask <= OrderOpenPrice() - gi_1428 * gd_764; g_bool_820 = TimeCurrent() - OrderOpenTime() > 60 * gi_1432 && TimeCurrent() - OrderOpenTime() < 60 * gi_1440 && Ask <= OrderOpenPrice() - gi_1436 * gd_764; g_bool_824 = TimeCurrent() - OrderOpenTime() > 60 * gi_1440 && TimeCurrent() - OrderOpenTime() < 60 * gi_1448 && Ask <= OrderOpenPrice() - gi_1444 * gd_764; g_bool_828 = TimeCurrent() - OrderOpenTime() > 60 * gi_1448 && TimeCurrent() - OrderOpenTime() < 60 * gi_1456 && Ask <= OrderOpenPrice() + gi_1452 * gd_764; g_bool_832 = TimeCurrent() - OrderOpenTime() > 60 * gi_1456 && Ask <= OrderOpenPrice() + gi_1460 * gd_764; g_bool_836 = DayOfWeek() == 5 && Hour() >= 19; return (0); } int PTO2() { gi_876 = Ask <= OrderOpenPrice() - gd_1468 * gd_764; g_bool_880 = OrderType() == OP_SELL && OrderMagicNumber() == g_magic_1184; gi_884 = Ask <= OrderOpenPrice() - (gd_1468 - 2.0) * gd_764; g_bool_888 = OrderType() == OP_SELL && OrderMagicNumber() == g_magic_1188; gi_892 = Ask <= OrderOpenPrice() - (gd_1468 - 1.0) * gd_764; g_bool_896 = OrderType() == OP_SELL && OrderMagicNumber() == g_magic_1192; gi_900 = Ask <= OrderOpenPrice() - (gd_1468 - 2.0) * gd_764; return (1); } bool PBO22() { return (gi_1364 < gi_1308 && gi_1252); } int Hoo12() { g_count_1316++; if (OrderType() == OP_BUY) Hoo3(); if (OrderType() == OP_SELL) Hoo4(); return (0); } int Hoo13() { g_count_1320++; if (OrderType() == OP_BUY) Hoo5(); if (OrderType() == OP_SELL) Hoo6(); return (0); } int HP() { if (g_bool_784 == TRUE) { if (g_bool_788) Proses_Closing_Bid(); if (g_bool_792) Proses_Closing_Bid(); if (g_bool_796) Proses_Closing_Bid(); if (g_bool_800) Proses_Closing_Bid(); if (g_bool_804) Proses_Closing_Bid(); if (g_bool_808) Proses_Closing_Bid(); } return (0); } int Hitung_Profit() { if (gi_1268 == TRUE) { for (int l_pos_0 = 0; l_pos_0 < OrdersTotal(); l_pos_0++) { OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES); if (Syarat_Profit0() > 0) return; if (Syarat_Profit1() > 0) return; HP(); if (g_bool_812) { if (g_bool_816) Proses_Closing_Ask(); if (g_bool_820) Proses_Closing_Ask(); if (g_bool_824) Proses_Closing_Ask(); if (g_bool_828) Proses_Closing_Ask(); if (g_bool_832) Proses_Closing_Ask(); if (g_bool_836) Proses_Closing_Ask(); } } } return (0); } int MM23() { int li_0; bool l_bool_4 = gi_308 && gi_304 > 0.0 && AccountFreeMargin() > Ask * g_lots_1292 * g_lotsize_1284 / g_leverage_1288; if (l_bool_4) g_lots_1292 = NormalizeDouble(AccountFreeMargin() * gi_304 / g_lotsize_1284, gi_752); else g_lots_1292 = gd_1508; g_lots_1292 = MathMax(gd_1508, MathMin(gd_1516, NormalizeDouble(g_lots_1292 / gd_1508, 0) * gd_1508)); g_lots_1292 = NormalizeDouble(g_lots_1292 / gi_1308, gi_752); if (iBars(Symbol(), PERIOD_H4) < 100) Print(AccountNumber() + ":Bar in PERIOD H4 less then 100 bars. Need minimum 100 bars."); if (li_0 < 50) li_0 = 100; bool li_8 = g_lots_1292 > gd_772; if (li_8) g_lots_1292 = gd_772; bool li_12 = AccountFreeMargin() < Ask * g_lots_1292 * g_lotsize_1284 / g_leverage_1288; if (li_12) { Print("WARNING: Your Account Balance is Low. Lots = ", g_lots_1292, " , Free Margin = ", AccountFreeMargin()); return (1); } return (0); } int PBO14() { int l_ticket_0; g_price_1916 = 0; g_price_1924 = 0; if (gi_1228) g_price_1916 = g_ifractals_2044; g_price_1924 = Bid + gd_1476 * gd_764; if (ECN_MarketOrder) { if (Two_Direction_Trade) l_ticket_0 = OrderSend(Symbol(), OP_SELL, g_lots_1292, Bid, SlipPage, 0, 0, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1184, 0, Red); else if (gi_344 != 1) l_ticket_0 = OrderSend(Symbol(), OP_SELL, g_lots_1292, Bid, SlipPage, 0, 0, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1184, 0, Red); OrderSelect(l_ticket_0, SELECT_BY_TICKET, MODE_TRADES); OrderModify(OrderTicket(), OrderOpenPrice(), g_price_1924, g_price_1916, 0, Green); } else { if (Two_Direction_Trade) OrderSend(Symbol(), OP_SELL, g_lots_1292, Bid, SlipPage, g_price_1924, g_price_1916, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1184, 0, Red); else if (gi_344 != 0) OrderSend(Symbol(), OP_SELL, g_lots_1292, Bid, SlipPage, g_price_1924, g_price_1916, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1184, 0, Red); } gi_1248 = FALSE; gi_1244 = TRUE; return (0); } bool PBO8() { return (g_irsi_960 < 60.0 && g_irsi_960 > 40.0); } bool PBO9() { return (Valid_Trading() && gi_1372 < gi_1412 && gi_1380 < gi_1416 && g_count_1312 < Max_Open_Position && gi_1176); } bool PBO6() { return (gi_1336 < 1 && gi_1240); } int PBO7() { int l_ticket_0; g_price_1916 = 0; g_price_1924 = 0; if (!gi_1228) g_price_1916 = Bid - gd_1468 * gd_764; g_price_1924 = Bid + gd_1476 * gd_764; if (NormalizeDouble(g_lots_1292 + g_lots_1292 / gi_1308, gi_752) < gd_772) g_lots_1300 = NormalizeDouble(g_lots_1292 + g_lots_1292 / gi_1308, gi_752); else g_lots_1300 = g_lots_1292; if (ECN_MarketOrder) { if (Two_Direction_Trade) l_ticket_0 = OrderSend(Symbol(), OP_SELL, g_lots_1300, Bid, SlipPage, 0, 0, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1180, 0, Red); else if (gi_344 != 1) l_ticket_0 = OrderSend(Symbol(), OP_SELL, g_lots_1300, Bid, SlipPage, 0, 0, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1180, 0, Red); OrderSelect(l_ticket_0, SELECT_BY_TICKET, MODE_TRADES); OrderModify(OrderTicket(), OrderOpenPrice(), g_price_1924, g_price_1916, 0, Green); } else { if (Two_Direction_Trade) OrderSend(Symbol(), OP_SELL, g_lots_1300, Bid, SlipPage, g_price_1924, g_price_1916, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1180, 0, Red); else if (gi_344 != 0) OrderSend(Symbol(), OP_SELL, g_lots_1300, Bid, SlipPage, g_price_1924, g_price_1916, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1180, 0, Red); } gi_1240 = FALSE; gi_1236 = TRUE; return (0); } int PBO17() { int l_ticket_0; g_price_1916 = 0; g_price_1924 = 0; if (gi_1228) g_price_1916 = g_ifractals_2036; if (gi_1232) g_price_1924 = Ask - gi_1412 * gd_764; else g_price_1924 = Ask - gd_1476 * gd_764; if (ECN_MarketOrder) { if (Two_Direction_Trade) l_ticket_0 = OrderSend(Symbol(), OP_BUY, g_lots_1292, Ask, SlipPage, 0, 0, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1192, 0, Green); else if (gi_344 != 1) l_ticket_0 = OrderSend(Symbol(), OP_BUY, g_lots_1292, Ask, SlipPage, 0, 0, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1192, 0, Green); OrderSelect(l_ticket_0, SELECT_BY_TICKET, MODE_TRADES); OrderModify(OrderTicket(), OrderOpenPrice(), g_price_1924, g_price_1916, 0, Green); } else { if (Two_Direction_Trade) OrderSend(Symbol(), OP_BUY, g_lots_1292, Ask, SlipPage, g_price_1924, g_price_1916, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1192, 0, Green); else if (gi_344 != 1) OrderSend(Symbol(), OP_BUY, g_lots_1292, Ask, SlipPage, g_price_1924, g_price_1916, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1192, 0, Green); } gi_1260 = FALSE; gi_1264 = TRUE; return (0); } bool PBO20() { return (g_icci_976 < 50.0 && g_icci_976 > -50.0); } bool PBO21() { return (!KeluarPosisiCara3() && gi_1220 == TRUE); } int PBO18() { int l_ticket_0; g_price_1916 = 0; g_price_1924 = 0; if (gi_1228) g_price_1916 = g_ifractals_2044; if (gi_1232) g_price_1924 = Bid + gi_1412 * gd_764; else g_price_1924 = Bid + gd_1476 * gd_764; if (ECN_MarketOrder) { if (Two_Direction_Trade) l_ticket_0 = OrderSend(Symbol(), OP_SELL, g_lots_1292, Bid, SlipPage, 0, 0, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1184, 0, Red); else if (gi_344 != 1) l_ticket_0 = OrderSend(Symbol(), OP_SELL, g_lots_1300, Bid, SlipPage, 0, 0, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1180, 0, Red); OrderSelect(l_ticket_0, SELECT_BY_TICKET, MODE_TRADES); OrderModify(OrderTicket(), OrderOpenPrice(), g_price_1924, g_price_1916, 0, Green); } else { if (Two_Direction_Trade) OrderSend(Symbol(), OP_SELL, g_lots_1292, Bid, SlipPage, g_price_1924, g_price_1916, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1184, 0, Red); else if (gi_344 != 0) OrderSend(Symbol(), OP_SELL, g_lots_1292, Bid, SlipPage, g_price_1924, g_price_1916, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1184, 0, Red); } gi_1264 = FALSE; gi_1260 = TRUE; return (0); } bool PBO19() { return (gi_1340 < gi_1308 && gi_1248); } bool MulaiCek() { return (Ask - Bid > MaxSpread_Allowed * gd_764); } bool PBO23() { return (gi_1344 < gi_1308 && gi_1256); } int KeluarPosisiCara7() { bool li_ret_0 = FALSE; for (int l_pos_4 = 0; l_pos_4 < OrdersTotal(); l_pos_4++) { if (OrderSelect(l_pos_4, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_1188) { if (OrderType() == OP_BUY || OrderType() == OP_SELL) { li_ret_0 = TRUE; break; } } } } return (li_ret_0); } int PBO16() { int l_ticket_0; g_price_1916 = 0; g_price_1924 = 0; if (gi_1228) g_price_1916 = g_ifractals_2044; if (gi_1232) g_price_1924 = g_ifractals_2036 + gd_1476 * gd_764; else g_price_1924 = Bid + gd_1476 * gd_764; if (ECN_MarketOrder) { if (Two_Direction_Trade) l_ticket_0 = OrderSend(Symbol(), OP_SELL, g_lots_1292, Bid, SlipPage, 0, 0, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1184, 0, Red); else if (gi_344 != 1) l_ticket_0 = OrderSend(Symbol(), OP_SELL, g_lots_1292, Bid, SlipPage, 0, 0, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1184, 0, Red); OrderSelect(l_ticket_0, SELECT_BY_TICKET, MODE_TRADES); OrderModify(OrderTicket(), OrderOpenPrice(), g_price_1924, g_price_1916, 0, Green); } else { if (Two_Direction_Trade) OrderSend(Symbol(), OP_SELL, g_lots_1292, Bid, SlipPage, g_price_1924, g_price_1916, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1184, 0, Red); else if (gi_344 != 0) OrderSend(Symbol(), OP_SELL, g_lots_1292, Bid, SlipPage, g_price_1924, g_price_1916, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1184, 0, Red); } gi_1256 = FALSE; gi_1252 = TRUE; return (0); } bool PBO29() { return (g_irsi_960 < 60.0 && g_irsi_960 > 40.0); } int _do_thun() { if (MulaiCek()) return (0); PeriksaOrderYangAda(); Init_Var(); Functions_Calling(); FC(); Hitung_Open_Order(); Prosedur_Tutup_Order(); Hitung_Profit(); if (gi_1272 == gi_920) if (CekM5() == 0) return; if (MM23() != 1) { if (gi_920) Prosedur_Buka_Order(); return (0); } } int BSOrdersTotal(int a_magic_0, int ai_4) { int l_cmd_20; int l_ord_total_12 = OrdersTotal(); int l_count_16 = 0; l_ord_total_12 = OrdersTotal(); if (l_ord_total_12 > 0) { for (int l_pos_8 = l_ord_total_12 - 1; l_pos_8 >= 0; l_pos_8--) { OrderSelect(l_pos_8, SELECT_BY_POS, MODE_TRADES); l_cmd_20 = OrderType(); if (l_cmd_20 == OP_BUY && ai_4 == 0 && OrderMagicNumber() == a_magic_0) l_count_16++; else if (l_cmd_20 == OP_SELL && ai_4 == 1 && OrderMagicNumber() == a_magic_0) l_count_16++; } } return (l_count_16); } int KeluarPosisiCara8() { bool li_ret_0 = FALSE; for (int l_pos_4 = 0; l_pos_4 < OrdersTotal(); l_pos_4++) { if (OrderSelect(l_pos_4, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol() == Symbol() && OrderMagicNumber() == g_magic_1192) { if (OrderType() == OP_BUY || OrderType() == OP_SELL) { li_ret_0 = TRUE; break; } } } } return (li_ret_0); } int Prosedur_Buka_Order() { if (!g_bool_2356) if (checkStopTrading() == 1) return (0); if (PBO1()) { if (PBO2()) { if (PBO3()) return (0); if (FRACTALS1(gs_128, "FRACTALS", DoubleToStr(AccountNumber(), 0), 1, g_irsi_960, g_irsi_968, gd_1160, Ask, gd_764) == 1) if (PBO4()) PBO5(); if (FRACTALS1(gs_128, "FRACTALS", DoubleToStr(AccountNumber(), 0), 2, g_irsi_960, g_irsi_968, gd_1168, Bid, gd_764) == 1) if (PBO6()) PBO7(); if (PBO8()) { gi_1240 = gi_924; gi_1236 = gi_924; } } } if (PBO9()) { if (PBO10()) { if (PBO11()) return (0); if (FRACTALS2(gs_128, "FRACTALS", DoubleToStr(AccountNumber(), 0), 1, g_icci_984, g_icci_992, g_icci_976, Bid, gd_1524, gi_1420, gd_764) == 1) if (PBO12()) PBO13(); if (FRACTALS2(gs_128, "FRACTALS", DoubleToStr(AccountNumber(), 0), 2, g_icci_984, g_icci_992, g_icci_976, Ask, gd_1524, gi_1420, gd_764) == 1) if (PBO19()) PBO14(); if (PBO20()) { gi_1248 = gi_924; gi_1244 = gi_924; } } if (PBO21()) { if (DayOfWeek() == 0 || DayOfWeek() == 5 && Hour() >= 14) return (0); if (FRACTALS3(gs_128, "FRACTALS", DoubleToStr(AccountNumber(), 0), 1, g_imomentum_1096, g_icci_1000, Bid, gd_1524, gi_1420, gd_764) == 1) if (PBO22()) PBO15(); if (FRACTALS3(gs_128, "FRACTALS", DoubleToStr(AccountNumber(), 0), 2, g_imomentum_1096, g_icci_1000, Ask, gd_1524, gi_1420, gd_764) == 1) if (PBO23()) PBO16(); if (PBO24()) { gi_1256 = gi_924; gi_1252 = gi_924; } } if (PBO25()) { if (PBO26()) return (0); if (FRACTALS4(gs_128, "FRACTALS", DoubleToStr(AccountNumber(), 0), 1, g_iwpr_1016, g_ima_1128, g_ibands_1056, Ask, gd_1524, gi_1420, gd_764) == 1) if (PBO27()) PBO17(); if (FRACTALS4(gs_128, "FRACTALS", DoubleToStr(AccountNumber(), 0), 2, g_iwpr_1016, g_ima_1112, g_ibands_1040, Bid, gd_1524, gi_1420, gd_764) == 1) if (PBO28()) PBO18(); if (PBO29()) { gi_1264 = gi_924; gi_1260 = gi_924; } } } return (0); } bool PBO1() { return (Valid_Trading() && g_count_1312 < Max_Open_Position && gi_1176); } bool PBO2() { return (!KeluarPosisiCara1() && gi_1212 == TRUE); } int Hoo10() { gi_1348++; g_ord_open_price_1868 = OrderOpenPrice(); return (0); } int Hoo11() { g_count_1312++; if (OrderType() == OP_BUY) Hoo1(); if (OrderType() == OP_SELL) Hoo2(); return (0); } int PBO5() { int l_ticket_0; g_price_1916 = 0; g_price_1924 = 0; if (!gi_1228) g_price_1916 = Ask + gd_1468 * gd_764; g_price_1924 = Ask - gd_1476 * gd_764; if (NormalizeDouble(g_lots_1292 + g_lots_1292 / gi_1308, gi_752) < gd_772) g_lots_1300 = NormalizeDouble(g_lots_1292 + g_lots_1292 / gi_1308, gi_752); else g_lots_1300 = g_lots_1292; if (ECN_MarketOrder) { if (Two_Direction_Trade) l_ticket_0 = OrderSend(Symbol(), OP_BUY, g_lots_1300, Ask, SlipPage, 0, 0, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1180, 0, Green); else if (gi_344 != 1) l_ticket_0 = OrderSend(Symbol(), OP_BUY, g_lots_1300, Ask, SlipPage, 0, 0, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1180, 0, Green); OrderSelect(l_ticket_0, SELECT_BY_TICKET, MODE_TRADES); OrderModify(OrderTicket(), OrderOpenPrice(), g_price_1924, g_price_1916, 0, Green); } else { if (Two_Direction_Trade) OrderSend(Symbol(), OP_BUY, g_lots_1300, Ask, SlipPage, g_price_1924, g_price_1916, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1180, 0, Green); else if (gi_344 != 1) OrderSend(Symbol(), OP_BUY, g_lots_1300, Ask, SlipPage, g_price_1924, g_price_1916, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1180, 0, Green); } gi_1236 = FALSE; gi_1240 = TRUE; return (0); } int Proses_Closing_Bid() { RefreshRates(); OrderClose(OrderTicket(), OrderLots(), Bid, SlipPage, Orange); return (0); } void POYA3() { gd_1540++; gd_1660 += OrderProfit(); gd_1668 += (OrderOpenPrice() - MarketInfo(OrderSymbol(), MODE_ASK)) / MarketInfo(OrderSymbol(), MODE_POINT); gd_1700 += OrderLots(); } void POYA4() { gd_1556++; gd_1716 += OrderLots(); gd_1676 += OrderProfit(); } bool VT4() { return (Hour() == gi_748 - 1 && Minute() >= gi_1464); } int PeriksaOrderYangAda1() { POY(); g_lotsize_1284 = MarketInfo(Symbol(), MODE_LOTSIZE); gd_1820 = AccountBalance() / g_lotsize_1284; gd_1828 = AccountEquity() / g_lotsize_1284; gd_1932 = gd_1708; gd_1940 = gd_1716; gd_1948 = gd_1708 - gd_1716; gd_1956 = gd_1932 / gd_1828; gd_1964 = gd_1940 / gd_1828; gd_1972 = (gd_1932 + gd_1940) / gd_1828; if (gd_1708 - gd_1716 > 0.0) gd_2100 = 100.0 * ((gd_1708 - gd_1716) / gd_1828); else if (gd_1708 - gd_1716 < 0.0) gd_2100 = 100.0 * ((-1.0 * (gd_1708 - gd_1716)) / gd_1828); gd_1980 = gd_1684 + gd_1676; gd_1988 = gd_1932 + gd_1940; gd_1996 = gd_1788 / gd_1828; gd_2004 = gd_1828 / gd_1820; return (0); } int Hoo2() { gi_1332++; g_ord_open_price_1836 = OrderOpenPrice(); return (0); } int Hoo3() { gi_1356++; g_ord_open_price_1884 = OrderOpenPrice(); return (0); } int Init_Var() { g_count_1312 = 0; g_count_1316 = 0; g_count_1320 = 0; g_count_1324 = 0; g_count_1328 = 0; gd_1508 = MarketInfo(Symbol(), MODE_MINLOT); gd_1516 = MarketInfo(Symbol(), MODE_MAXLOT); g_ord_open_price_1836 = 0.0; g_ord_open_price_1844 = 0.0; g_ord_open_price_1852 = 0.0; g_ord_open_price_1860 = 0.0; g_ord_open_price_1868 = 0.0; g_ord_open_price_1876 = 0.0; g_ord_open_price_1884 = 0.0; g_ord_open_price_1892 = 0.0; g_ord_open_price_1900 = 0.0; g_ord_open_price_1908 = 0.0; gi_1308 = NormalizeDouble(Max_Open_Position / 2, 0); if (gi_1308 == 0) gi_1308 = 1; g_leverage_1288 = AccountLeverage(); g_lotsize_1284 = MarketInfo(Symbol(), MODE_LOTSIZE); g_lots_1292 = MathMin(gd_1516, MathMax(gd_1508, gd_312)); IV(); return (0); } int POY() { gd_1596 = gd_1564 + gd_1580; gd_1604 = gd_1572 + gd_1588; gd_1644 = gd_1596 + gd_1604; gd_1628 = gd_1532 + gd_1540; gd_1612 = gd_1564 + gd_1580 + gd_1532; gd_1620 = gd_1572 + gd_1588 + gd_1540; gd_1652 = gd_1628 + gd_1644; gd_1756 = gd_1724 + gd_1740; gd_1764 = gd_1732 + gd_1748; gd_1804 = gd_1756 + gd_1764; gd_1772 = gd_1724 + gd_1740 + gd_1692; gd_1780 = gd_1732 + gd_1748 + gd_1700; gd_1812 = gd_1788 + gd_1804; gd_1788 = gd_1692 + gd_1700; gd_1636 = gd_1548 + gd_1556; gd_1796 = gd_1708 + gd_1716; return (0); } int Hoo7() { gi_1364++; g_ord_open_price_1900 = OrderOpenPrice(); return (0); } int PBO15() { int l_ticket_0; g_price_1916 = 0; g_price_1924 = 0; if (gi_1228) g_price_1916 = g_ifractals_2036; if (gi_1232) g_price_1924 = g_ifractals_2044 - gd_1476 * gd_764; else g_price_1924 = Ask - gd_1476 * gd_764; if (ECN_MarketOrder) { if (Two_Direction_Trade) l_ticket_0 = OrderSend(Symbol(), OP_BUY, g_lots_1292, Ask, SlipPage, 0, 0, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1188, 0, Green); else if (gi_344 != 1) l_ticket_0 = OrderSend(Symbol(), OP_BUY, g_lots_1292, Ask, SlipPage, 0, 0, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1188, 0, Green); OrderSelect(l_ticket_0, SELECT_BY_TICKET, MODE_TRADES); OrderModify(OrderTicket(), OrderOpenPrice(), g_price_1924, g_price_1916, 0, Green); } else { if (Two_Direction_Trade) OrderSend(Symbol(), OP_BUY, g_lots_1292, Ask, SlipPage, g_price_1924, g_price_1916, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1188, 0, Green); else if (gi_344 != 1) OrderSend(Symbol(), OP_BUY, g_lots_1292, Ask, SlipPage, g_price_1924, g_price_1916, gs_fractals_368 + "-SC(Risk:" + DoubleToStr(Risk, 2) + "%/" + AccountEquity(), g_magic_1188, 0, Green); } gi_1252 = FALSE; gi_1256 = TRUE; return (0); } int Hoo6() { gi_1340++; g_ord_open_price_1852 = OrderOpenPrice(); return (0); } int FC1() { for (gi_904 = 1; gi_904 < Bars; gi_904++) { if (iFractals(NULL, PERIOD_M15, MODE_UPPER, gi_904) != 0.0) { g_ifractals_2036 = iFractals(NULL, PERIOD_M15, MODE_UPPER, gi_904); gd_unused_2060 = Time[gi_904]; break; } } return (0); } int IV() { g_price_1916 = gd_1468; g_price_1924 = 0; gi_1332 = 0.0; gi_1336 = 0.0; gi_1340 = 0.0; gi_1344 = 0.0; gi_1348 = 0.0; gi_1352 = 0.0; gi_1356 = 0.0; gi_1360 = 0.0; gi_1364 = 0.0; gi_1368 = 0.0; return (0); } bool PBO3() { return (DayOfWeek() == 0 || DayOfWeek() == 5 && Hour() >= 14); } bool PBO4() { return (gi_1356 < 1 && gi_1236); } int Syarat_Profit0() { g_bool_784 = OrderType() == OP_BUY && OrderMagicNumber() == g_magic_1180 || OrderMagicNumber() == g_magic_1184 || OrderMagicNumber() == g_magic_1188 || OrderMagicNumber() == g_magic_1192; g_bool_788 = TimeCurrent() - OrderOpenTime() > 60 * gi_1424 && TimeCurrent() - OrderOpenTime() < 60 * gi_1432 && Bid >= OrderOpenPrice() + gi_1428 * gd_764; g_bool_792 = TimeCurrent() - OrderOpenTime() > 60 * gi_1432 && TimeCurrent() - OrderOpenTime() < 60 * gi_1440 && Bid >= OrderOpenPrice() + gi_1436 * gd_764; g_bool_796 = TimeCurrent() - OrderOpenTime() > 60 * gi_1440 && TimeCurrent() - OrderOpenTime() < 60 * gi_1448 && Bid >= OrderOpenPrice() + gi_1444 * gd_764; g_bool_800 = TimeCurrent() - OrderOpenTime() > 60 * gi_1448 && TimeCurrent() - OrderOpenTime() < 60 * gi_1456 && Bid >= OrderOpenPrice() - gi_1452 * gd_764; g_bool_804 = TimeCurrent() - OrderOpenTime() > 60 * gi_1456 && Bid >= OrderOpenPrice() - gi_1460 * gd_764; g_bool_808 = DayOfWeek() == 5 && Hour() >= 19; return (0); } void validateAcc() { int l_bool_0; g_datetime_76 = TimeCurrent(); g_time2str_88 = TimeToStr(TimeCurrent(), TIME_DATE); if (gi_148 == TRUE) { if (IsTesting() == TRUE) l_bool_0 = 2; else l_bool_0 = IsDemo(); } else l_bool_0 = IsDemo(); gs_80 = FOREXPROFITMASTERY1(DoubleToStr(AccountNumber(), 0), RegisteredAccNumber, "FRACTALS", l_bool_0, Symbol(), DoubleToStr(Period(), 0), g_time2str_88, gi_140, gi_144); StringExplode("|", gs_80, gsa_124); g_str2int_136 = StrToInteger(gsa_124[0]); gs_unused_100 = gsa_124[1]; gs_std_360 = gsa_124[1]; gs_108 = gsa_124[2]; gs_unused_116 = gsa_124[3]; gs_128 = gsa_124[ArraySize(gsa_124) - 1]; if (g_str2int_136 != 1) { gi_152 = FALSE; gs_156 = gs_156 + "\n" + gs_108; return; } gi_152 = TRUE; } void checkAccount() { gs_156 = "EA had the following error(s): "; gi_152 = TRUE; if (!IsDllsAllowed()) { gs_156 = gs_156 + "\n--->Allowed DLL Function is not not checked!\n(Solution : Press \'F7\' to access the Expert Advisor properties dialog and click the \'Common\' tab, \'Allow DLL imports\' must be checked\n\'Confirm DLL function calls\' must be unchecked)"; gi_152 = FALSE; } if (!IsExpertEnabled()) { gs_156 = gs_156 + "\n---> Expert Advisors Features are not enabled!"; gs_156 = gs_156 + "\n(Solution: Click the red \'Expert Advisors\' button to enable EA processing)"; gi_152 = FALSE; } if (!IsTradeAllowed()) { gs_156 = gs_156 + "\n---> Expert Advisors Features unable to open a trade!"; gs_156 = gs_156 + "\n(Solution: Press \'F7\' to access the Expert Advisor properties dialog and click the \'Common\' tab and check \'Allow Live Trading\' parameter"; gi_152 = FALSE; } if (IsTesting() && gi_148 == FALSE) { gs_156 = gs_156 + "\n---> EA cannot be used to backtesting"; gi_152 = FALSE; } } void StringExplode(string as_0, string as_8, string &asa_16[]) { int li_20 = -1; int li_24 = 0; for (int l_index_28 = 0; li_24 != -1; l_index_28++) { li_24 = StringFind(as_8, as_0, li_20 + 1); ArrayResize(asa_16, l_index_28 + 1); asa_16[l_index_28] = ""; if (li_24 == -1) { if (li_20 + 1 != StringLen(as_8)) asa_16[l_index_28] = StringSubstr(as_8, li_20 + 1, StringLen(as_8)); } else if (li_20 + 1 != li_24) asa_16[l_index_28] = StringSubstr(as_8, li_20 + 1, li_24 - li_20 - 1); li_20 = StringFind(as_8, as_0, li_24); } } void AdjustHour() { if (IsTesting() == FALSE && IsDemo() == FALSE) { g_str2int_336 = StrToInteger(gsa_124[4]); g_str2int_340 = StrToInteger(gsa_124[5]); gs_320 = gsa_124[6]; gs_328 = gsa_124[7]; gi_744 = g_str2int_336 + Broker_OffsetHour; gi_748 = gi_744 + g_str2int_340; } } int checkStopTrading() { StopTrading_Date = StopTrading_Date + " 00:00"; ContinueTrading_Date = ContinueTrading_Date + " 23:59"; if (TimeCurrent() > StrToTime(StopTrading_Date) && TimeCurrent() < StrToTime(ContinueTrading_Date)) return (1); return (0); }