#property copyright "Copyright © 2009, Forex Spiritual Team " #property link "http://www.euro-blaster.com" extern string EA_Name = "EURO_BLASTER"; extern string Creator = "Copyright © 2009, Forex Spiritual Team"; extern int MagicNo = 773377; extern string Part1 = "=== Time Management ==="; extern bool Use_Time_Mgmt = FALSE; extern bool Trade_On_Friday = TRUE; extern string Part1_1 = "= Start-End Time ="; extern int TradeStartHour = 0; extern int TradeStartMinutes = 0; extern int TradeEndHour = 12; extern int TradeEndMinutes = 0; extern string Part1_2 = "= Start-End Time 2 ="; extern int TradeStartHour2 = 12; extern int TradeStartMinutes2 = 0; extern int TradeEndHour2 = 23; extern int TradeEndMinutes2 = 0; extern string Part2 = "=== Trading Management ==="; extern bool MM = TRUE; extern double RiskPercent = 5.0; extern double LotSize = 0.01; extern double Max_Lot_Size = 100.0; extern int MaxOrder = 5; extern double StopTime = 1.0; extern double TakeProfit = 25.0; extern double Min_Auto_TP = 10.0; extern double StopLoss = 350.0; extern double Slippage = 3.0; extern double TrailingStop = 15.0; extern bool TrailingProfit = TRUE; extern int TrailingPips = 1; extern bool Profit_Protection = FALSE; extern double Percent_Over_Balance = 5.0; extern bool BreakEven = FALSE; extern int BreakEvenPips = 5; extern bool HedgeAllowed = FALSE; extern string Wish_U_Have = "=== Good Luck ==="; int g_period_288 = 10; double gd_unused_292 = 5.0; double gd_unused_300 = 10.0; double gd_unused_308 = 22.0; double gd_unused_316 = 20.0; double gd_unused_324 = 26.0; double gd_unused_332 = 13.0; double gd_unused_340 = 15.0; double gd_unused_348 = 10.0; double gd_356; double g_minlot_364; double g_lotstep_372; double gd_380; int gi_388; double g_price_392; double gd_400; double g_point_408; int g_slippage_416; bool gi_unused_420 = FALSE; int gi_424 = 23; int gi_428 = 30; int gi_432 = 100; int gi_436 = 0; int gi_440 = 0; int init() { if (Point == 0.00001) g_point_408 = 0.0001; else { if (Point == 0.001) g_point_408 = 0.01; else g_point_408 = Point; } return (0); } int deinit() { return (0); } int Crossed(double ad_0, double ad_8) { if (ad_0 > ad_8) gi_440 = 1; if (ad_0 < ad_8) gi_440 = 2; if (gi_440 != gi_436) { gi_436 = gi_440; return (gi_436); } return (0); } double Predict() { double l_ima_4; double l_ima_28; double l_ima_36; double l_istddev_132; double ld_ret_172; double ld_44 = 0; double ld_52 = 0; double ld_68 = 0; double ld_76 = 0; double ld_unused_84 = 0; double ld_unused_92 = 0; double ld_100 = 0; double ld_108 = 0; double ld_116 = 0; double ld_124 = 0; double ld_140 = 0; double ld_unused_60 = 0; double ld_156 = 0; double ld_164 = 0; double ld_180 = 0; double ld_20 = 0; double l_ima_12 = iMA(NULL, 0, g_period_288, 0, MODE_SMA, PRICE_CLOSE, 0); for (int li_0 = 1; li_0 <= g_period_288; li_0++) { l_ima_4 = iMA(NULL, 0, g_period_288, 0, MODE_SMA, PRICE_CLOSE, li_0); l_ima_28 = iMA(NULL, 0, g_period_288, 0, MODE_SMA, PRICE_HIGH, li_0); l_ima_36 = iMA(NULL, 0, g_period_288, 0, MODE_SMA, PRICE_LOW, li_0); l_istddev_132 = iStdDev(NULL, 0, g_period_288, 0, MODE_SMA, PRICE_CLOSE, li_0); ld_44 += (High[li_0] + Low[li_0]) / 2.0; ld_52 += Close[li_0]; ld_68 += ld_44 - ld_52; ld_76 += l_ima_4; ld_124 += l_istddev_132; ld_156 += Close[li_0] - Open[li_0] - (Close[li_0 - 1] - (Open[li_0 - 1])); ld_20 = ld_20 + (l_ima_28 - l_ima_4) + (l_ima_36 - l_ima_4); } ld_100 = ld_44 / g_period_288; ld_108 = ld_52 / g_period_288; ld_116 = ld_76 / g_period_288; ld_140 = ld_124 / g_period_288; ld_180 = ld_68 / g_period_288; ld_164 = ld_156 / g_period_288; if (ld_180 > 0.0 && l_ima_12 > ld_116 && ld_164 > 0.0 && Open[0] < l_ima_12 + ld_140 && Open[0] > l_ima_12) { ld_ret_172 = 1; gd_400 = 10000.0 * (2.0 * ld_140) + Min_Auto_TP; } if (ld_180 < 0.0 && l_ima_12 < ld_116 && ld_164 < 0.0 && Open[0] > l_ima_12 - ld_140 && Open[0] < l_ima_12) { ld_ret_172 = 2; gd_400 = 10000.0 * (2.0 * ld_140) + Min_Auto_TP; } if (ld_180 > 0.0 && l_ima_12 > ld_116 && ld_164 > 0.0 && Open[0] < l_ima_12 - ld_140) { ld_ret_172 = 3; gd_400 = 10000.0 * (2.0 * ld_140) + Min_Auto_TP; } if (ld_180 < 0.0 && l_ima_12 < ld_116 && ld_164 < 0.0 && Open[0] > l_ima_12 + ld_140) { ld_ret_172 = 4; gd_400 = 10000.0 * (2.0 * ld_140) + Min_Auto_TP; } return (ld_ret_172); } double Predict2() { double ld_ret_68; double ld_28 = 0; double ld_36 = 0; double ld_44 = 0; double ld_52 = 0; double ld_60 = 0; double ld_76 = 0; double ld_100 = 0; double ld_116 = 0; double ld_132 = 0; double l_istddev_84 = 0; double ld_148 = 0; double ld_156 = 0; double ld_164 = 0; l_istddev_84 = iStdDev(NULL, 0, 10, 0, MODE_EMA, PRICE_CLOSE, 0); double l_istddev_92 = iStdDev(NULL, 0, 20, 0, MODE_EMA, PRICE_CLOSE, 0); double l_ima_4 = iMA(NULL, PERIOD_M30, 10, 0, MODE_SMA, PRICE_CLOSE, 0); double l_ima_12 = iMA(NULL, PERIOD_M30, 10, 0, MODE_SMA, PRICE_CLOSE, 1); double l_ima_20 = iMA(NULL, PERIOD_M30, 10, 0, MODE_SMA, PRICE_CLOSE, 2); for (int li_0 = 1; li_0 <= 20; li_0++) { ld_28 += Close[li_0]; ld_36 += High[li_0] - Low[li_0]; ld_44 += Close[li_0] - Open[li_0]; if (li_0 <= 10) { ld_148 += Close[li_0]; ld_156 += High[li_0] - Low[li_0]; ld_164 += Close[li_0] - Open[li_0]; } } ld_52 = ld_28 / 20.0; ld_60 = ld_36 / 20.0; ld_76 = ld_44 / 20.0; double ld_172 = ld_148 / 10.0; double ld_180 = ld_156 / 10.0; double ld_188 = ld_164 / 10.0; ld_132 = (Open[0] - ld_172) / l_istddev_84; double ld_140 = (Open[0] - ld_52) / l_istddev_92; ld_100 = ld_172 + 0.308 * ld_180; double ld_108 = ld_52 + 0.18 * ld_60; ld_116 = ld_172 - 0.308 * ld_180; double ld_124 = ld_52 - 0.18 * ld_60; if ((l_ima_4 - l_ima_20 > l_ima_12 - l_ima_20 + 0.0002 && ld_188 > 0.0 && ld_164 > 0.0 && Open[0] > ld_116 && Open[0] <= ld_172 + ld_132 * ld_188 && ld_132 < 0.0 && High[1] - Low[1] < 1.777 * ld_180) || (l_ima_4 - l_ima_20 > l_ima_12 - l_ima_20 + 0.0002 && ld_76 > 0.0 && ld_44 > 0.0 && Open[0] > ld_124 && Open[0] <= ld_52 + ld_132 * ld_76 && ld_140 < 0.0 && High[1] - Low[1] < 1.586 * ld_180)) { ld_ret_68 = 1; gd_400 = Min_Auto_TP + 10000.0 * l_istddev_92; } if ((l_ima_4 - l_ima_20 < l_ima_12 - l_ima_20 - 0.0002 && ld_188 < 0.0 && ld_164 < 0.0 && Open[0] < ld_100 && Open[0] >= ld_172 + ld_132 * ld_188 && ld_132 > 0.0 && High[1] - Low[1] < 1.777 * ld_180) || (l_ima_4 - l_ima_20 < l_ima_12 - l_ima_20 - 0.0002 && ld_76 < 0.0 && ld_44 < 0.0 && Open[0] < ld_108 && Open[0] >= ld_52 + ld_132 * ld_76 && ld_140 > 0.0 && High[1] - Low[1] < 1.586 * ld_180)) { ld_ret_68 = 2; gd_400 = Min_Auto_TP + 10000.0 * l_istddev_92; } if (l_ima_4 - l_ima_20 > l_ima_12 - l_ima_20 + 0.0002 && ld_76 > 0.0 && ld_44 > 0.0 && Open[0] > ld_124 && Open[0] <= ld_52 + ld_132 * ld_76 && ld_140 < 0.0 && High[1] - Low[1] > 1.586 * ld_180) { ld_ret_68 = 3; g_price_392 = Min_Auto_TP + 10000.0 * l_istddev_92; } if (l_ima_4 - l_ima_20 < l_ima_12 - l_ima_20 - 0.0002 && ld_76 < 0.0 && ld_44 < 0.0 && Open[0] < ld_108 && Open[0] >= ld_52 + ld_132 * ld_76 && ld_140 > 0.0 && High[1] - Low[1] > 1.586 * ld_180) { ld_ret_68 = 4; g_price_392 = Min_Auto_TP + 10000.0 * l_istddev_92; } return (ld_ret_68); } int start() { int l_ticket_4; double l_price_24; bool li_436; bool li_440; bool li_444; bool li_448; bool li_452; bool li_456; bool li_460; bool li_464; bool li_468; bool li_472; bool li_476; bool li_480; double l_price_584; double ld_592; int l_hour_12 = TimeHour(TimeCurrent()); int l_count_16 = 0; int l_count_20 = 0; string ls_32 = "2009.31.08"; int l_str2time_40 = StrToTime(ls_32); double l_high_524 = High[iHighest(NULL, 0, MODE_HIGH, gi_432, 0)]; double l_low_532 = Low[iLowest(NULL, 0, MODE_LOW, gi_432, 0)]; double l_imacd_44 = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, 0); double l_imacd_52 = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, 1); double l_imacd_60 = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, 0); double l_imacd_68 = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, 1); double l_ima_84 = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_HIGH, 0); double l_ima_156 = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_HIGH, 1); double l_ima_76 = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_LOW, 0); double l_ima_148 = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_LOW, 1); double l_ima_92 = iMA(NULL, 0, 22, 0, MODE_SMA, PRICE_CLOSE, 0); double l_ima_164 = iMA(NULL, 0, 22, 0, MODE_SMA, PRICE_CLOSE, 5); double l_ima_172 = iMA(NULL, 0, 22, 0, MODE_SMA, PRICE_CLOSE, 1); double l_ima_116 = iMA(NULL, 0, 10, 0, MODE_SMA, PRICE_CLOSE, 0); double l_ima_124 = iMA(NULL, 0, 10, 0, MODE_SMA, PRICE_CLOSE, 1); double l_ima_132 = iMA(NULL, 0, 10, 0, MODE_SMA, PRICE_CLOSE, 2); double l_ima_180 = iMA(NULL, 0, 10, 0, MODE_EMA, PRICE_CLOSE, 1); double l_ima_140 = iMA(NULL, 0, 10, 0, MODE_SMA, PRICE_CLOSE, 5); double l_ima_100 = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_CLOSE, 0); double l_ima_108 = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_CLOSE, 1); double l_ima_540 = iMA(NULL, 0, gi_432, 0, MODE_SMA, PRICE_CLOSE, 0); double l_istddev_548 = iStdDev(NULL, 0, gi_432, 0, MODE_SMA, PRICE_CLOSE, 0); double l_istddev_228 = iStdDev(NULL, 0, 20, 0, MODE_EMA, PRICE_CLOSE, 0); double l_istddev_236 = iStdDev(NULL, 0, 20, 0, MODE_EMA, PRICE_CLOSE, 1); double l_iwpr_188 = iWPR(NULL, 0, 26, 0); double l_iwpr_196 = iWPR(NULL, 0, 26, 1); double l_iwpr_204 = iWPR(NULL, 0, 26, 2); double l_iwpr_212 = iWPR(NULL, 0, 114, 0); double l_iwpr_220 = iWPR(NULL, 0, 114, 1); double l_idemarker_244 = iDeMarker(NULL, 0, 13, 0); double l_idemarker_252 = iDeMarker(NULL, 0, 13, 1); double l_idemarker_260 = iDeMarker(NULL, 0, 13, 2); double l_istochastic_268 = iStochastic(NULL, 0, 15, 6, 7, MODE_EMA, 0, MODE_MAIN, 0); double l_istochastic_276 = iStochastic(NULL, 0, 15, 6, 7, MODE_EMA, 0, MODE_MAIN, 1); double l_istochastic_284 = iStochastic(NULL, 0, 15, 6, 7, MODE_EMA, 0, MODE_SIGNAL, 0); double l_istochastic_292 = iStochastic(NULL, 0, 15, 6, 7, MODE_EMA, 0, MODE_SIGNAL, 1); if (l_istochastic_276 < l_istochastic_292 - 5.0 && l_istochastic_268 >= l_istochastic_284) li_444 = TRUE; if (l_istochastic_276 > l_istochastic_292 + 5.0 && l_istochastic_268 <= l_istochastic_284) li_448 = TRUE; if (l_istochastic_276 > l_istochastic_292 && l_istochastic_268 > l_istochastic_284) li_452 = TRUE; if (l_istochastic_276 < l_istochastic_292 && l_istochastic_268 < l_istochastic_284) li_456 = TRUE; double l_istochastic_404 = iStochastic(NULL, 0, 10, 5, 5, MODE_SMA, 0, MODE_MAIN, 0); double l_istochastic_412 = iStochastic(NULL, 0, 10, 5, 5, MODE_SMA, 0, MODE_MAIN, 1); double l_istochastic_420 = iStochastic(NULL, 0, 10, 5, 5, MODE_SMA, 0, MODE_SIGNAL, 0); double l_istochastic_428 = iStochastic(NULL, 0, 10, 5, 5, MODE_SMA, 0, MODE_SIGNAL, 1); if (l_istochastic_412 < l_istochastic_428 - 5.0 && l_istochastic_404 >= l_istochastic_420) li_460 = TRUE; if (l_istochastic_412 > l_istochastic_428 + 5.0 && l_istochastic_404 <= l_istochastic_420) li_464 = TRUE; if (l_istochastic_412 < l_istochastic_428 && l_istochastic_404 >= l_istochastic_420) li_468 = TRUE; if (l_istochastic_412 > l_istochastic_428 && l_istochastic_404 <= l_istochastic_420) li_472 = TRUE; if (l_istochastic_412 > l_istochastic_428 && l_istochastic_404 > l_istochastic_420) li_476 = TRUE; if (l_istochastic_412 < l_istochastic_428 && l_istochastic_404 < l_istochastic_420) li_480 = TRUE; double l_irsi_300 = iRSI(NULL, 0, 14, PRICE_CLOSE, 0); double l_irsi_308 = iRSI(NULL, 0, 14, PRICE_CLOSE, 1); double l_irsi_324 = iRSI(NULL, 0, 14, PRICE_CLOSE, 2); double ld_unused_316 = 0; if (l_irsi_300 < 30.0) ld_unused_316 = 1; if (l_irsi_300 > 70.0) ld_unused_316 = 2; double l_ibands_372 = iBands(NULL, 0, 20, 2, 0, PRICE_CLOSE, MODE_LOWER, 1); double l_ibands_380 = iBands(NULL, 0, 20, 2, 0, PRICE_CLOSE, MODE_LOWER, 2); double l_ibands_388 = iBands(NULL, 0, 20, 2, 0, PRICE_CLOSE, MODE_UPPER, 1); double l_ibands_396 = iBands(NULL, 0, 20, 2, 0, PRICE_CLOSE, MODE_UPPER, 2); double l_iadx_332 = iADX(NULL, 0, 14, PRICE_HIGH, MODE_MAIN, 0); double l_iadx_340 = iADX(NULL, 0, 14, PRICE_HIGH, MODE_PLUSDI, 0); double l_iadx_356 = iADX(NULL, 0, 14, PRICE_HIGH, MODE_PLUSDI, 1); double l_iadx_348 = iADX(NULL, 0, 14, PRICE_HIGH, MODE_MINUSDI, 0); double l_iadx_364 = iADX(NULL, 0, 14, PRICE_HIGH, MODE_MINUSDI, 1); if (l_iadx_340 > l_iadx_348) li_440 = TRUE; if (l_iadx_348 > l_iadx_340) li_436 = TRUE; if (l_iadx_332 < 30.0) { li_436 = FALSE; li_440 = FALSE; } if (TimeCurrent() >= l_str2time_40) { Alert("Euro Blaster... Expired!!! Please contact EB support to extend it."); return (0); } bool li_556 = FALSE; bool li_560 = FALSE; int li_564 = Crossed(l_ima_108, l_ima_172); int li_568 = MarketInfo(Symbol(), MODE_STOPLEVEL); gd_356 = MarketInfo(Symbol(), MODE_MAXLOT); g_minlot_364 = MarketInfo(Symbol(), MODE_MINLOT); g_lotstep_372 = MarketInfo(Symbol(), MODE_LOTSTEP); gd_380 = MarketInfo(Symbol(), MODE_MARGINREQUIRED) * g_lotstep_372; gi_388 = 3600 * gi_424 + 60 * gi_428; g_slippage_416 = Slippage; double l_price_572 = StopLoss; if (l_price_572 <= 0.0) l_price_572 = 0; if (Point == 0.00001 || Point == 0.001) li_568 = MarketInfo(Symbol(), MODE_STOPLEVEL) / 10.0; int l_ord_total_8 = OrdersTotal(); if (l_ord_total_8 > 0) { for (int l_pos_580 = 0; l_pos_580 < l_ord_total_8; l_pos_580++) { OrderSelect(l_pos_580, SELECT_BY_POS); if (OrderMagicNumber() == MagicNo) { if (OrderType() <= OP_SELL && OrderSymbol() == Symbol()) l_count_16++; else l_count_20++; if (OrderType() == OP_BUY && !HedgeAllowed) li_556 = TRUE; if (OrderType() == OP_SELL && !HedgeAllowed) li_560 = TRUE; } } } if (l_count_16 < MaxOrder) { if (DayOfWeek() == 5 && !Trade_On_Friday && Use_Time_Mgmt) return (0); if (Use_Time_Mgmt && !isTradeTime()) return (0); if (Bars < 100) { Print("bars less than 100"); return (0); } if (AccountFreeMargin() < 100.0 * LotsOptimized()) { Print("We have not enough money. Free Margin = ", AccountFreeMargin()); return (0); } if (l_count_16 > 0) if (TimeCurrent() - OrderOpenTime() < 60.0 * StopTime) return (0); if (li_560 == FALSE) { if ((l_ima_100 > l_ima_108 && l_ima_92 > l_ima_172 + 0.0002 && Open[0] < l_ima_92 + l_istddev_228 && (l_istochastic_404 > l_istochastic_412 && l_istochastic_420 > l_istochastic_428) || (l_istochastic_268 > l_istochastic_276 && l_istochastic_284 > l_istochastic_292) && l_iwpr_188 < -15.0 && l_iwpr_188 > l_iwpr_196 + 3.0 && li_452 && l_ima_116 > l_ima_92 && Open[0] > l_ima_100) || (l_iwpr_212 > l_iwpr_220 && l_iwpr_212 > -20.0 && l_iwpr_220 > -20.0 && l_iwpr_188 > l_iwpr_196 + 25.0 && l_iwpr_188 < -15.0 && l_iwpr_196 < l_iwpr_204 && l_istddev_228 > l_istddev_236 && l_idemarker_244 > l_idemarker_252 && l_ima_116 > l_ima_140 && li_452 && l_iadx_332 > 20.0 && Open[0] < Close[0] && Open[0] > Close[1]) || (Close[1] < l_ima_92 - 3.0 * l_istddev_236 && l_iwpr_188 > l_iwpr_196 + 3.0 && l_iwpr_188 < -75.0 && li_452 && (l_istochastic_268 >= 20.0 && l_istddev_228 > l_istddev_236) || l_iwpr_196 < l_iwpr_204) || (l_ima_84 > l_ima_116 && l_ima_84 > l_ima_156 && l_ima_156 < l_ima_116 && l_ima_92 > l_ima_164 + 0.0002 && Open[1] < Close[1] && li_452 && l_iwpr_188 > l_iwpr_196 + 7.0 && l_idemarker_244 > l_idemarker_252 && l_iadx_340 > l_iadx_348) || (l_imacd_44 > l_imacd_52 && l_imacd_44 < -0.0003 && l_imacd_44 > l_imacd_60 && l_imacd_52 < l_imacd_68 && li_452 && l_iwpr_188 > l_iwpr_196 && li_440 && l_ima_180 > l_ima_124 && Close[1] < Open[0] && Close[1] > Open[1] && l_istddev_228 > l_istddev_236)) { l_ticket_4 = OrderSend(Symbol(), OP_BUY, LotsOptimized(), Ask, g_slippage_416, 0, 0, "Euro_Blaster", MagicNo, 0, Green); if (l_ticket_4 > 0) { if (OrderSelect(l_ticket_4, SELECT_BY_TICKET, MODE_TRADES)) Print("BUY order opened : ", OrderOpenPrice()); if (l_price_572 > 0.0) l_price_572 = Ask - StopLoss * g_point_408; g_price_392 = Ask + TakeProfit * g_point_408; OrderModify(OrderTicket(), OrderOpenPrice(), l_price_572, g_price_392, 0, CLR_NONE); } else Print("Error opening BUY order : ", GetLastError()); return (0); } if ((l_iwpr_188 >= -75.0 && l_iwpr_188 > l_iwpr_196 + 9.0 && l_iwpr_196 < l_iwpr_204 - 5.0 && Open[2] < Close[2] && Open[1] > Close[2] && Open[1] < Close[1] && li_452 && l_istochastic_268 < 80.0 && l_ima_116 > l_ima_124 + 0.0005 && l_iadx_332 > 25.0 && l_iadx_340 > 25.0 && l_ima_180 > l_ima_124) || (li_564 == 1 && l_iadx_340 > 25.0 && l_iwpr_188 > l_iwpr_196 + 12.0 && l_iadx_332 > 25.0 && l_iadx_340 > l_iadx_356 || l_ima_180 > l_ima_124 && l_ima_92 >= l_ima_172 && l_ima_108 < l_ima_140 && li_452) || (Close[1] > l_ima_124 && Open[1] < l_ima_124 && l_ima_180 > l_ima_124 && l_iadx_332 > 30.0 && l_iadx_340 > 25.0 && l_ima_92 > l_ima_164 + 0.0003 && li_452 && l_istochastic_268 < 75.0 && l_iwpr_188 > l_iwpr_196 + 18.0 && l_iwpr_196 > l_iwpr_204 + 7.0) || (l_ima_100 > l_ima_108 && l_ima_116 > l_ima_124 && l_ima_92 > l_ima_172 && l_ima_92 > l_ima_164 + 0.0005 && l_ima_116 - l_ima_124 > l_ima_92 - l_ima_172 && l_ima_100 - l_ima_92 > l_ima_108 - l_ima_172 && li_452 && l_iwpr_188 < -15.0 && l_iwpr_188 > l_iwpr_196 + 15.0 && l_ima_100 > l_ima_116 && l_ima_116 > l_ima_92 && Open[0] > l_ima_100)) { l_ticket_4 = OrderSend(Symbol(), OP_BUY, LotsOptimized(), Ask, g_slippage_416, 0, 0, "Euro_Blaster", MagicNo, 0, Green); if (l_ticket_4 > 0) { if (OrderSelect(l_ticket_4, SELECT_BY_TICKET, MODE_TRADES)) Print("BUY order opened : ", OrderOpenPrice()); if (l_price_572 > 0.0) l_price_572 = Ask - StopLoss * g_point_408; g_price_392 = Ask + TakeProfit * g_point_408; OrderModify(OrderTicket(), OrderOpenPrice(), l_price_572, g_price_392, 0, CLR_NONE); } else Print("Error opening BUY order : ", GetLastError()); return (0); } if ((li_444 && l_imacd_44 > l_imacd_52 && l_imacd_44 > l_imacd_60 && l_ima_180 > l_ima_124 && li_440 && l_iwpr_188 > l_iwpr_196 + 7.0 && l_istochastic_268 > l_istochastic_276 && l_istochastic_284 > l_istochastic_292 + 1.0) || (li_444 && l_imacd_44 > l_imacd_52 && l_imacd_44 > l_imacd_60 && Open[0] > Close[1] && l_ima_116 < l_ima_124 && l_iwpr_188 > l_iwpr_196 + 9.0 && li_440 && l_ima_180 > l_ima_124) || (li_444 && l_istochastic_268 < 30.0 && Open[1] > l_ima_148 && Close[1] > l_ima_140 && Open[0] > l_ima_84 && l_ima_116 < l_ima_140 && l_ima_116 < l_ima_124 && l_iwpr_188 > l_iwpr_196 + 5.0) || (li_444 && Open[1] > l_ima_148 && Open[0] > l_ima_84 && Open[0] < Close[1] && l_iwpr_188 > l_iwpr_196 + 7.0 && l_idemarker_244 > l_idemarker_252 + 0.08 && l_istddev_228 > l_istddev_236)) { l_ticket_4 = OrderSend(Symbol(), OP_BUY, LotsOptimized(), Ask, g_slippage_416, 0, 0, "Euro_Blaster", MagicNo, 0, Green); if (l_ticket_4 > 0) { if (OrderSelect(l_ticket_4, SELECT_BY_TICKET, MODE_TRADES)) Print("BUY order opened : ", OrderOpenPrice()); if (l_price_572 > 0.0) l_price_572 = Ask - StopLoss * g_point_408; g_price_392 = Ask + TakeProfit * g_point_408; OrderModify(OrderTicket(), OrderOpenPrice(), l_price_572, g_price_392, 0, CLR_NONE); } else Print("Error opening BUY order : ", GetLastError()); return (0); } if ((Close[4] < Close[3] && Close[3] > Close[2] && Close[2] > Close[1] && Open[0] > Close[1] && High[1] - Close[1] < Open[1] - Low[1] && l_ima_116 > l_ima_140 + 0.0005 && l_iwpr_188 > l_iwpr_196 + 9.0 && l_iadx_332 > 25.0 && l_iadx_340 > 25.0 && l_iwpr_196 > l_iwpr_204) || (Open[1] < Close[1] && Close[2] < l_ima_92 && Close[1] > l_ima_92 && Open[1] > l_ima_100 && Open[0] > l_ima_84 && l_ima_92 > l_ima_164 + 0.0005 && l_iwpr_188 < -5.0 && l_iwpr_188 > l_iwpr_196 + 7.0 && l_idemarker_244 > l_idemarker_252 && l_idemarker_252 > l_idemarker_260) || (l_iadx_340 > l_iadx_356 && l_iadx_356 < l_iadx_364 && l_iadx_340 >= l_iadx_348 && l_iadx_332 >= 35.0 && l_iadx_340 > 25.0 && l_iwpr_188 > l_iwpr_196 + 15.0 && li_452) || (l_irsi_308 < l_irsi_324 && l_irsi_300 > l_irsi_308 + 5.0 && l_irsi_308 < 30.0 && l_ima_180 > l_ima_124 && l_iadx_332 > 25.0 && l_iadx_340 > 25.0)) { l_ticket_4 = OrderSend(Symbol(), OP_BUY, LotsOptimized(), Ask, g_slippage_416, 0, 0, "Euro_Blaster", MagicNo, 0, Green); if (l_ticket_4 > 0) { if (OrderSelect(l_ticket_4, SELECT_BY_TICKET, MODE_TRADES)) Print("BUY order opened : ", OrderOpenPrice()); if (l_price_572 > 0.0) l_price_572 = Ask - StopLoss * g_point_408; g_price_392 = Ask + TakeProfit * g_point_408; OrderModify(OrderTicket(), OrderOpenPrice(), l_price_572, g_price_392, 0, CLR_NONE); } else Print("Error opening BUY order : ", GetLastError()); return (0); } if ((li_460 && Open[1] > l_ima_148 && Open[0] > l_ima_84 && Open[1] < Close[1] && l_ima_92 > l_ima_172 + 0.0002 && l_iadx_332 > 25.0 && l_iadx_340 > 25.0 && l_iwpr_188 > l_iwpr_196 + 9.0 && l_ima_180 > l_ima_124) || (li_460 && l_imacd_44 > l_imacd_52 && l_imacd_44 < 0.0 && l_imacd_44 > l_imacd_60 && l_iadx_332 > 25.0 && l_iadx_340 > 25.0 && l_iwpr_188 > l_iwpr_196 + 7.0 && l_istochastic_404 > l_istochastic_412 && l_istochastic_420 > l_istochastic_428 + 1.0) || ((li_468 && l_istochastic_412 < 25.0) || (li_460 && l_istochastic_412 < 30.0) && l_ima_92 > l_ima_172 + 0.0002 && l_ima_180 > l_ima_124)) { l_ticket_4 = OrderSend(Symbol(), OP_BUY, LotsOptimized(), Ask, g_slippage_416, 0, 0, "Euro_Blaster", MagicNo, 0, Green); if (l_ticket_4 > 0) { if (OrderSelect(l_ticket_4, SELECT_BY_TICKET, MODE_TRADES)) Print("BUY order opened : ", OrderOpenPrice()); if (l_price_572 > 0.0) l_price_572 = Ask - StopLoss * g_point_408; g_price_392 = Ask + TakeProfit * g_point_408; OrderModify(OrderTicket(), OrderOpenPrice(), l_price_572, g_price_392, 0, CLR_NONE); } else Print("Error opening BUY order : ", GetLastError()); return (0); } if ((Close[2] < l_ibands_380 && Close[1] > l_ibands_372 && Open[0] > Close[1] && Open[1] < l_ibands_372 && li_476 && l_iwpr_188 > l_iwpr_196 + 9.0 && l_idemarker_244 > l_idemarker_252 && l_ima_180 > l_ima_124 && l_ima_116 < l_ima_92) || (Close[3] > l_ima_140 && Open[2] > l_ima_124 && Open[1] < Close[1] && Open[1] > Close[2] && Close[1] > l_ima_92 + 2.2 * l_istddev_236 && Open[0] > Close[1] && li_452 && l_iwpr_188 > l_iwpr_196 + 7.0 && l_iwpr_188 < -15.0 && l_idemarker_244 > l_idemarker_252) || (l_ima_124 < l_ima_132 - 0.0001 && l_ima_116 > l_ima_124 + 0.0002 && l_ima_116 > l_ima_132 + 0.0001 && l_ima_124 < l_ima_172 && li_452 || li_476 && Open[0] > Close[1] && l_ima_92 > l_ima_164) || (l_ima_172 - l_ima_540 < l_ima_92 - l_ima_540 && l_ima_92 < (l_high_524 + l_low_532) / 2.0 - 2.0 * l_istddev_548 && l_ima_92 - l_ima_540 > l_istddev_228 && li_476) || (iSAR(NULL, 0, 0.02, 0.2, 1) > Close[1] && iSAR(NULL, 0, 0.02, 0.2, 0) < Close[0] && iSAR(NULL, PERIOD_M15, 0.02, 0.2, 1) > iClose(NULL, PERIOD_M15, 1) && iSAR(NULL, PERIOD_M15, 0.02, 0.2, 0) < iOpen(NULL, PERIOD_M15, 0) && iSAR(NULL, PERIOD_M30, 0.02, 0.2, 1) > iClose(NULL, PERIOD_M30, 1) && iSAR(NULL, PERIOD_M30, 0.02, 0.2, 0) < iOpen(NULL, PERIOD_M30, 0) && (l_ima_92 > l_ima_164 && l_imacd_44 > l_imacd_52 && l_imacd_44 < -0.0003 && l_ima_100 < l_ima_108))) { l_ticket_4 = OrderSend(Symbol(), OP_BUY, LotsOptimized(), Ask, g_slippage_416, 0, 0, "Euro_Blaster", MagicNo, 0, Green); if (l_ticket_4 > 0) { if (OrderSelect(l_ticket_4, SELECT_BY_TICKET, MODE_TRADES)) Print("BUY order opened : ", OrderOpenPrice()); if (l_price_572 > 0.0) l_price_572 = Ask - StopLoss * g_point_408; g_price_392 = Ask + TakeProfit * g_point_408; OrderModify(OrderTicket(), OrderOpenPrice(), l_price_572, g_price_392, 0, CLR_NONE); } else Print("Error opening BUY order : ", GetLastError()); return (0); } if (Predict() == 1.0 || Predict2() == 1.0 || Predict2() == 3.0 && Open[0] < (l_high_524 + l_low_532) / 2.0 - l_istddev_228 && li_452 && l_istochastic_268 < 45.0 && l_iwpr_188 > -90.0) { l_ticket_4 = OrderSend(Symbol(), OP_BUY, LotsOptimized(), Ask, g_slippage_416, 0, 0, "Euro_Blaster", MagicNo, 0, Green); if (l_ticket_4 > 0) { if (OrderSelect(l_ticket_4, SELECT_BY_TICKET, MODE_TRADES)) Print("BUY order opened : ", OrderOpenPrice()); if (l_price_572 > 0.0) l_price_572 = Ask - StopLoss * g_point_408; g_price_392 = Ask + Min_Auto_TP * g_point_408; OrderModify(OrderTicket(), OrderOpenPrice(), l_price_572, g_price_392, 0, CLR_NONE); } else Print("Error opening BUY order : ", GetLastError()); return (0); } if (Predict() == 3.0 && ((l_iwpr_188 > l_iwpr_196 + 9.0 && li_476) || (l_iwpr_188 > l_iwpr_196 + 9.0 && li_452) && l_idemarker_244 > l_idemarker_252 + 0.05 && l_ima_124 < l_ima_172) || (l_istochastic_268 < 40.0 && Open[1] < l_ima_148 && l_ima_92 > l_ima_140) || (l_istochastic_412 < 40.0 && l_ima_92 > l_ima_172 && l_ima_180 > l_ima_124) || (Open[2] > l_ima_124 && Open[1] < Close[1] && Open[0] > Close[1] && li_452 && l_iwpr_188 > l_iwpr_196 + 7.0 && l_idemarker_244 > l_idemarker_252 + 0.05)) { l_ticket_4 = OrderSend(Symbol(), OP_BUY, LotsOptimized(), Ask, g_slippage_416, 0, 0, "Euro_Blaster", MagicNo, 0, Green); if (l_ticket_4 > 0) { if (OrderSelect(l_ticket_4, SELECT_BY_TICKET, MODE_TRADES)) Print("BUY order opened : ", OrderOpenPrice()); if (l_price_572 > 0.0) l_price_572 = Ask - StopLoss * g_point_408; g_price_392 = Ask + gd_400 * g_point_408; OrderModify(OrderTicket(), OrderOpenPrice(), l_price_572, g_price_392, 0, CLR_NONE); } else Print("Error opening BUY order : ", GetLastError()); return (0); } if (Predict() == 1.0 && ((l_iwpr_188 > l_iwpr_196 + 9.0 && l_istochastic_404 < 60.0 && li_476) || (l_iwpr_188 > l_iwpr_196 + 18.0 && l_istochastic_268 < 70.0 && li_452) && l_iwpr_188 < -15.0 && l_idemarker_244 > l_idemarker_252 && l_ima_124 > l_ima_172 && l_ima_92 > l_ima_172) || (l_istochastic_268 < 40.0 && Open[1] > l_ima_148 && l_ima_116 < l_ima_140 && Open[0] > Close[1]) || (l_istochastic_412 < 40.0 && l_ima_92 > l_ima_172 && l_ima_180 > l_ima_124) || (Open[2] > l_ima_124 && Open[1] < Close[1] && Open[0] > Close[1] && li_452 && l_iwpr_188 > l_iwpr_196 && l_istochastic_268 < 45.0 && l_idemarker_244 > l_idemarker_252 + 0.05)) { l_ticket_4 = OrderSend(Symbol(), OP_BUY, LotsOptimized(), Ask, g_slippage_416, 0, 0, "Euro_Blaster", MagicNo, 0, Green); if (l_ticket_4 > 0) { if (OrderSelect(l_ticket_4, SELECT_BY_TICKET, MODE_TRADES)) Print("BUY order opened : ", OrderOpenPrice()); if (l_price_572 > 0.0) l_price_572 = Ask - StopLoss * g_point_408; g_price_392 = Ask + gd_400 * g_point_408; OrderModify(OrderTicket(), OrderOpenPrice(), l_price_572, g_price_392, 0, CLR_NONE); } else Print("Error opening BUY order : ", GetLastError()); return (0); } if (Predict2() == 1.0 && l_istochastic_268 < 50.0 && l_iwpr_188 > l_iwpr_196 + 5.0 && l_idemarker_244 > l_idemarker_252 + 0.05 && Open[1] > l_ima_148 && l_ima_116 < l_ima_140 && li_452 && Open[0] > Close[1] && Open[1] > Close[1]) { l_ticket_4 = OrderSend(Symbol(), OP_BUY, LotsOptimized(), Ask, g_slippage_416, 0, 0, "Euro_Blaster", MagicNo, 0, Green); if (l_ticket_4 > 0) { if (OrderSelect(l_ticket_4, SELECT_BY_TICKET, MODE_TRADES)) Print("BUY order opened : ", OrderOpenPrice()); if (l_price_572 > 0.0) l_price_572 = Ask - StopLoss * g_point_408; g_price_392 = Ask + gd_400 * g_point_408; OrderModify(OrderTicket(), OrderOpenPrice(), l_price_572, g_price_392, 0, CLR_NONE); } else Print("Error opening BUY order : ", GetLastError()); return (0); } if (Predict2() == 1.0 && l_istochastic_268 < 50.0 && li_452 && l_iwpr_188 > l_iwpr_196 + 3.0 && l_idemarker_244 > l_idemarker_252 + 0.05 && Open[2] < Close[2] && Open[0] > Close[1] && Open[1] > Close[1]) { l_ticket_4 = OrderSend(Symbol(), OP_BUY, LotsOptimized(), Ask, g_slippage_416, 0, 0, "Euro_Blaster", MagicNo, 0, Green); if (l_ticket_4 > 0) { if (OrderSelect(l_ticket_4, SELECT_BY_TICKET, MODE_TRADES)) Print("BUY order opened : ", OrderOpenPrice()); if (l_price_572 > 0.0) l_price_572 = Ask - StopLoss * g_point_408; g_price_392 = Ask + gd_400 * g_point_408; OrderModify(OrderTicket(), OrderOpenPrice(), l_price_572, g_price_392, 0, CLR_NONE); } else Print("Error opening BUY order : ", GetLastError()); return (0); } if (Predict2() == 3.0 && Open[0] > Close[1] && Open[1] < Close[1] && l_iwpr_188 > l_iwpr_196 && li_452) { l_ticket_4 = OrderSend(Symbol(), OP_BUY, LotsOptimized(), Ask, g_slippage_416, 0, 0, "Euro_Blaster", MagicNo, 0, Green); if (l_ticket_4 > 0) { if (OrderSelect(l_ticket_4, SELECT_BY_TICKET, MODE_TRADES)) Print("BUY order opened : ", OrderOpenPrice()); if (l_price_572 > 0.0) l_price_572 = Ask - StopLoss * g_point_408; g_price_392 = Ask + gd_400 * g_point_408; OrderModify(OrderTicket(), OrderOpenPrice(), l_price_572, g_price_392, 0, CLR_NONE); } else Print("Error opening BUY order : ", GetLastError()); return (0); } } if (li_556 == FALSE) { if ((l_ima_100 < l_ima_108 && l_ima_92 < l_ima_172 - 0.0002 && Open[0] >= l_ima_92 - l_istddev_228 && (l_istochastic_404 < l_istochastic_412 && l_istochastic_420 < l_istochastic_428) || (l_istochastic_268 < l_istochastic_276 && l_istochastic_284 < l_istochastic_292) && l_iwpr_188 > -85.0 && l_iwpr_188 < l_iwpr_196 - 3.0 && li_456 && l_ima_116 < l_ima_92 && Open[0] < l_ima_100) || (l_iwpr_212 < l_iwpr_220 && l_iwpr_212 < -80.0 && l_iwpr_220 < -80.0 && l_iwpr_188 < l_iwpr_196 - 25.0 && l_iwpr_188 > -85.0 && l_iwpr_196 > l_iwpr_204 && l_istddev_228 > l_istddev_236 && l_idemarker_244 < l_idemarker_252 && l_ima_116 < l_ima_140 && li_456 && l_iadx_332 > 20.0 && Open[0] > Close[0] && Open[0] < Close[1]) || (Close[1] > l_ima_92 + 3.0 * l_istddev_236 && l_iwpr_188 < l_iwpr_196 - 3.0 && l_iwpr_188 > -25.0 && li_456 && (l_istochastic_268 <= 80.0 && l_istddev_228 > l_istddev_236) || l_iwpr_196 > l_iwpr_204) || (l_ima_76 < l_ima_116 && l_ima_76 < l_ima_148 && l_ima_148 > l_ima_116 && l_ima_92 < l_ima_164 - 0.0002 && Open[1] > Close[1] && li_456 && l_iwpr_188 < l_iwpr_196 - 7.0 && l_idemarker_244 < l_idemarker_252 && l_iadx_348 > l_iadx_340) || (l_imacd_44 < l_imacd_52 && l_imacd_44 > 0.0003 && l_imacd_44 < l_imacd_60 && l_imacd_52 > l_imacd_68 && li_456 && l_iwpr_188 < l_iwpr_196 && li_436 && l_ima_180 < l_ima_124 && Close[1] > Open[0] && Close[1] < Open[1] && l_istddev_228 > l_istddev_236)) { l_ticket_4 = OrderSend(Symbol(), OP_SELL, LotsOptimized(), Bid, g_slippage_416, 0, 0, "Euro_Blaster", MagicNo, 0, Red); if (l_ticket_4 > 0) { if (OrderSelect(l_ticket_4, SELECT_BY_TICKET, MODE_TRADES)) Print("SELL order opened : ", OrderOpenPrice()); if (l_price_572 > 0.0) l_price_572 = Bid + StopLoss * g_point_408; g_price_392 = Bid - TakeProfit * g_point_408; OrderModify(OrderTicket(), OrderOpenPrice(), l_price_572, g_price_392, 0, CLR_NONE); } else Print("Error opening SELL order : ", GetLastError()); return (0); } if ((l_iwpr_188 <= -25.0 && l_iwpr_188 < l_iwpr_196 - 9.0 && l_iwpr_196 > l_iwpr_204 + 5.0 && Open[2] > Close[2] && Open[1] < Close[2] && Open[1] > Close[1] && li_456 && l_istochastic_268 > 20.0 && l_ima_116 < l_ima_124 - 0.0005 && l_iadx_332 > 25.0 && l_iadx_348 > 25.0 && l_ima_180 < l_ima_124) || (li_564 == 2 && l_iadx_348 > 25.0 && l_iwpr_188 < l_iwpr_196 - 12.0 && l_iadx_332 > 25.0 && l_iadx_348 > l_iadx_364 || l_ima_180 < l_ima_124 && l_ima_92 <= l_ima_172 && l_ima_108 > l_ima_140 && li_456 && l_istochastic_268 > 25.0) || (Close[1] < l_ima_124 && Open[1] > l_ima_124 && l_ima_180 < l_ima_124 && l_iadx_332 > 30.0 && l_iadx_348 > 25.0 && l_ima_92 < l_ima_164 - 0.0003 && li_456 && l_istochastic_268 > 25.0 && l_iwpr_188 < l_iwpr_196 - 18.0 && l_iwpr_196 < l_iwpr_204 - 7.0) || (l_ima_100 < l_ima_108 && l_ima_116 < l_ima_124 && l_ima_92 < l_ima_172 && l_ima_92 < l_ima_164 - 0.0005 && l_ima_124 - l_ima_116 > l_ima_172 - l_ima_92 && l_ima_92 - l_ima_100 > l_ima_172 - l_ima_108 && li_456 && l_iwpr_188 > -85.0 && l_iwpr_188 < l_iwpr_196 - 15.0 && l_ima_100 < l_ima_116 && l_ima_116 < l_ima_92 && Open[0] < l_ima_100)) { l_ticket_4 = OrderSend(Symbol(), OP_SELL, LotsOptimized(), Bid, g_slippage_416, 0, 0, "Euro_Blaster", MagicNo, 0, Red); if (l_ticket_4 > 0) { if (OrderSelect(l_ticket_4, SELECT_BY_TICKET, MODE_TRADES)) Print("SELL order opened : ", OrderOpenPrice()); if (l_price_572 > 0.0) l_price_572 = Bid + StopLoss * g_point_408; g_price_392 = Bid - TakeProfit * g_point_408; OrderModify(OrderTicket(), OrderOpenPrice(), l_price_572, g_price_392, 0, CLR_NONE); } else Print("Error opening SELL order : ", GetLastError()); return (0); } if ((li_448 && l_imacd_44 < l_imacd_52 && l_imacd_44 < l_imacd_60 && l_ima_180 < l_ima_124 && li_436 && l_iwpr_188 < l_iwpr_196 - 7.0 && l_istochastic_268 < l_istochastic_276 && l_istochastic_284 < l_istochastic_292 - 1.0) || (li_448 && l_imacd_44 < l_imacd_52 && l_imacd_44 < l_imacd_60 && Open[0] < Close[1] && l_ima_116 > l_ima_124 && l_iwpr_188 < l_iwpr_196 - 9.0 && li_436 && l_ima_180 < l_ima_124) || (li_448 && l_istochastic_268 > 70.0 && Open[1] < l_ima_156 && Close[1] < l_ima_140 && Open[0] < l_ima_76 && l_ima_116 > l_ima_140 && l_ima_116 > l_ima_124 && l_iwpr_188 < l_iwpr_196 - 5.0) || (li_448 && Open[1] < l_ima_156 && Open[0] < l_ima_76 && Open[0] > Close[1] && l_iwpr_188 < l_iwpr_196 - 7.0 && l_idemarker_244 < l_idemarker_252 - 0.08 && l_istddev_228 > l_istddev_236)) { l_ticket_4 = OrderSend(Symbol(), OP_SELL, LotsOptimized(), Bid, g_slippage_416, 0, 0, "Euro_Blaster", MagicNo, 0, Red); if (l_ticket_4 > 0) { if (OrderSelect(l_ticket_4, SELECT_BY_TICKET, MODE_TRADES)) Print("SELL order opened : ", OrderOpenPrice()); if (l_price_572 > 0.0) l_price_572 = Bid + StopLoss * g_point_408; g_price_392 = Bid - TakeProfit * g_point_408; OrderModify(OrderTicket(), OrderOpenPrice(), l_price_572, g_price_392, 0, CLR_NONE); } else Print("Error opening SELL order : ", GetLastError()); return (0); } if ((Close[4] > Close[3] && Close[3] < Close[2] && Close[2] < Close[1] && Open[0] > Close[1] && Close[1] - Low[1] < High[1] - Open[1] && l_ima_116 < l_ima_140 - 0.0005 && l_iwpr_188 < l_iwpr_196 - 9.0 && l_iadx_332 > 25.0 && l_iadx_348 > 25.0 && l_iwpr_196 < l_iwpr_204) || (Open[1] > Close[1] && Close[2] > l_ima_92 && Close[1] < l_ima_92 && Open[1] < l_ima_100 && Open[0] < l_ima_76 && l_ima_92 < l_ima_164 - 0.0005 && l_iwpr_188 > -95.0 && l_iwpr_188 < l_iwpr_196 - 7.0 && l_idemarker_244 < l_idemarker_252 && l_idemarker_252 < l_idemarker_260) || (l_iadx_348 > l_iadx_364 && l_iadx_356 > l_iadx_364 && l_iadx_340 <= l_iadx_348 && l_iadx_332 >= 35.0 && l_iadx_348 > 25.0 && l_iwpr_188 < l_iwpr_196 - 15.0 && li_456) || (l_irsi_308 > l_irsi_324 && l_irsi_300 < l_irsi_308 - 5.0 && l_irsi_308 > 70.0 && l_ima_180 < l_ima_124 && l_iadx_332 > 25.0 && l_iadx_348 > 25.0)) { l_ticket_4 = OrderSend(Symbol(), OP_SELL, LotsOptimized(), Bid, g_slippage_416, 0, 0, "Euro_Blaster", MagicNo, 0, Red); if (l_ticket_4 > 0) { if (OrderSelect(l_ticket_4, SELECT_BY_TICKET, MODE_TRADES)) Print("SELL order opened : ", OrderOpenPrice()); if (l_price_572 > 0.0) l_price_572 = Bid + StopLoss * g_point_408; g_price_392 = Bid - TakeProfit * g_point_408; OrderModify(OrderTicket(), OrderOpenPrice(), l_price_572, g_price_392, 0, CLR_NONE); } else Print("Error opening SELL order : ", GetLastError()); return (0); } if ((li_464 && Open[1] < l_ima_156 && Open[0] < l_ima_76 && Open[1] > Close[1] && l_ima_92 < l_ima_172 - 0.0002 && l_iadx_332 > 25.0 && l_iadx_348 > 25.0 && l_iwpr_188 < l_iwpr_196 - 9.0 && l_ima_180 < l_ima_124) || (li_464 && l_imacd_44 < l_imacd_52 && l_imacd_44 > 0.0 && l_imacd_44 < l_imacd_60 && l_iadx_332 > 25.0 && l_iadx_348 > 25.0 && l_iwpr_188 < l_iwpr_196 - 7.0 && l_istochastic_404 < l_istochastic_412 && l_istochastic_420 < l_istochastic_428 - 1.0) || ((li_472 && l_istochastic_412 > 75.0) || (li_464 && l_istochastic_412 > 705.0) && l_ima_92 < l_ima_172 - 0.0002 && l_ima_180 < l_ima_124)) { l_ticket_4 = OrderSend(Symbol(), OP_SELL, LotsOptimized(), Bid, g_slippage_416, 0, 0, "Euro_Blaster", MagicNo, 0, Red); if (l_ticket_4 > 0) { if (OrderSelect(l_ticket_4, SELECT_BY_TICKET, MODE_TRADES)) Print("SELL order opened : ", OrderOpenPrice()); if (l_price_572 > 0.0) l_price_572 = Bid + StopLoss * g_point_408; g_price_392 = Bid - TakeProfit * g_point_408; OrderModify(OrderTicket(), OrderOpenPrice(), l_price_572, g_price_392, 0, CLR_NONE); } else Print("Error opening SELL order : ", GetLastError()); return (0); } if ((Close[2] > l_ibands_396 && Close[1] < l_ibands_388 && Open[0] < Close[1] && Open[1] > l_ibands_388 && li_480 && l_iwpr_188 < l_iwpr_196 - 9.0 && l_idemarker_244 < l_idemarker_252 && l_ima_180 < l_ima_124 && l_ima_116 > l_ima_92) || (Close[3] < l_ima_140 && Open[2] < l_ima_124 && Open[1] > Close[1] && Open[1] < Close[2] && Close[1] < l_ima_92 - 2.2 * l_istddev_236 && Open[0] < Close[1] && li_456 && l_iwpr_188 < l_iwpr_196 - 7.0 && l_iwpr_188 > -85.0 && l_idemarker_244 < l_idemarker_252) || (l_ima_124 > l_ima_132 + 0.0001 && l_ima_116 < l_ima_124 - 0.0002 && l_ima_116 < l_ima_132 - 0.0001 && l_ima_124 > l_ima_172 && li_456 || li_480 && Open[0] < Close[1] && l_ima_92 < l_ima_164) || (l_ima_172 - l_ima_540 > l_ima_92 - l_ima_540 && l_ima_92 > (l_high_524 + l_low_532) / 2.0 + 2.0 * l_istddev_548 && l_ima_540 - l_ima_92 > l_istddev_228 && li_480) || (iSAR(NULL, 0, 0.02, 0.2, 1) < Close[1] && iSAR(NULL, 0, 0.02, 0.2, 0) > Close[0] && iSAR(NULL, PERIOD_M15, 0.02, 0.2, 1) < iClose(NULL, PERIOD_M15, 1) && iSAR(NULL, PERIOD_M15, 0.02, 0.2, 0) > iOpen(NULL, PERIOD_M15, 0) && iSAR(NULL, PERIOD_M30, 0.02, 0.2, 1) < iClose(NULL, PERIOD_M30, 1) && iSAR(NULL, PERIOD_M30, 0.02, 0.2, 0) > iOpen(NULL, PERIOD_M30, 0) && (l_ima_92 < l_ima_164 && l_imacd_44 < l_imacd_52 && l_imacd_44 > 0.0003 && l_ima_100 < l_ima_108))) { l_ticket_4 = OrderSend(Symbol(), OP_SELL, LotsOptimized(), Bid, g_slippage_416, 0, 0, "Euro_Blaster", MagicNo, 0, Red); if (l_ticket_4 > 0) { if (OrderSelect(l_ticket_4, SELECT_BY_TICKET, MODE_TRADES)) Print("SELL order opened : ", OrderOpenPrice()); if (l_price_572 > 0.0) l_price_572 = Bid + StopLoss * g_point_408; g_price_392 = Bid - TakeProfit * g_point_408; OrderModify(OrderTicket(), OrderOpenPrice(), l_price_572, g_price_392, 0, CLR_NONE); } else Print("Error opening SELL order : ", GetLastError()); return (0); } if (Predict() == 2.0 || Predict2() == 2.0 || Predict2() == 4.0 && Open[0] > (l_high_524 + l_low_532) / 2.0 + l_istddev_228 && li_456 && l_istochastic_268 > 55.0 && l_iwpr_188 < -20.0) { l_ticket_4 = OrderSend(Symbol(), OP_SELL, LotsOptimized(), Bid, g_slippage_416, 0, 0, "Euro_Blaster", MagicNo, 0, Red); if (l_ticket_4 > 0) { if (OrderSelect(l_ticket_4, SELECT_BY_TICKET, MODE_TRADES)) Print("SELL order opened : ", OrderOpenPrice()); if (l_price_572 > 0.0) l_price_572 = Bid + StopLoss * g_point_408; g_price_392 = Bid - Min_Auto_TP * g_point_408; OrderModify(OrderTicket(), OrderOpenPrice(), l_price_572, g_price_392, 0, CLR_NONE); } else Print("Error opening SELL order : ", GetLastError()); return (0); } if (Predict() == 4.0 && ((l_iwpr_188 < l_iwpr_196 - 9.0 && li_480) || (l_iwpr_188 < l_iwpr_196 - 9.0 && li_456) && l_idemarker_244 < l_idemarker_252 - 0.05 && l_ima_124 > l_ima_172) || (l_istochastic_268 > 60.0 && Open[1] > l_ima_156 && l_ima_92 < l_ima_140) || (l_istochastic_412 > 60.0 && l_ima_92 < l_ima_172 && l_ima_180 < l_ima_124) || (Open[2] < l_ima_124 && Open[1] > Close[1] && Open[0] < Close[1] && li_456 && l_iwpr_188 < l_iwpr_196 - 7.0 && l_idemarker_244 < l_idemarker_252 - 0.05)) { l_ticket_4 = OrderSend(Symbol(), OP_SELL, LotsOptimized(), Bid, g_slippage_416, 0, 0, "Euro_Blaster", MagicNo, 0, Red); if (l_ticket_4 > 0) { if (OrderSelect(l_ticket_4, SELECT_BY_TICKET, MODE_TRADES)) Print("SELL order opened : ", OrderOpenPrice()); if (l_price_572 > 0.0) l_price_572 = Bid + StopLoss * g_point_408; g_price_392 = Bid - gd_400 * g_point_408; OrderModify(OrderTicket(), OrderOpenPrice(), l_price_572, g_price_392, 0, CLR_NONE); } else Print("Error opening SELL order : ", GetLastError()); return (0); } if (Predict() == 2.0 && ((l_iwpr_188 < l_iwpr_196 - 9.0 && l_istochastic_404 > 40.0 && li_480) || (l_iwpr_188 < l_iwpr_196 - 18.0 && l_istochastic_268 > 30.0 && li_456) && l_iwpr_188 > -85.0 && l_idemarker_244 < l_idemarker_252 && l_ima_124 < l_ima_172 && l_ima_92 < l_ima_172) || (l_istochastic_268 > 60.0 && Open[1] < l_ima_156 && l_ima_116 > l_ima_140 && Open[0] < Close[1]) || (l_istochastic_412 > 60.0 && l_ima_92 < l_ima_172 && l_ima_180 < l_ima_124) || (Open[2] < l_ima_124 && Open[1] > Close[1] && Open[0] < Close[1] && li_456 && l_iwpr_188 < l_iwpr_196 && l_istochastic_268 > 55.0 && l_idemarker_244 < l_idemarker_252 - 0.05)) { l_ticket_4 = OrderSend(Symbol(), OP_SELL, LotsOptimized(), Bid, g_slippage_416, 0, 0, "Euro_Blaster", MagicNo, 0, Red); if (l_ticket_4 > 0) { if (OrderSelect(l_ticket_4, SELECT_BY_TICKET, MODE_TRADES)) Print("SELL order opened : ", OrderOpenPrice()); if (l_price_572 > 0.0) l_price_572 = Bid + StopLoss * g_point_408; g_price_392 = Bid - gd_400 * g_point_408; OrderModify(OrderTicket(), OrderOpenPrice(), l_price_572, g_price_392, 0, CLR_NONE); } else Print("Error opening SELL order : ", GetLastError()); return (0); } if (Predict2() == 2.0 && l_istochastic_268 > 50.0 && l_iwpr_188 < l_iwpr_196 - 5.0 && l_idemarker_244 < l_idemarker_252 - 0.05 && Open[1] < l_ima_156 && l_ima_116 > l_ima_140 && li_456 && Open[0] < Close[1] && Open[1] < Close[1]) { l_ticket_4 = OrderSend(Symbol(), OP_SELL, LotsOptimized(), Bid, g_slippage_416, 0, 0, "Euro_Blaster", MagicNo, 0, Red); if (l_ticket_4 > 0) { if (OrderSelect(l_ticket_4, SELECT_BY_TICKET, MODE_TRADES)) Print("SELL order opened : ", OrderOpenPrice()); if (l_price_572 > 0.0) l_price_572 = Bid + StopLoss * g_point_408; g_price_392 = Bid - gd_400 * g_point_408; OrderModify(OrderTicket(), OrderOpenPrice(), l_price_572, g_price_392, 0, CLR_NONE); } else Print("Error opening SELL order : ", GetLastError()); return (0); } if (Predict2() == 2.0 && li_456 && l_istochastic_268 > 50.0 && l_iwpr_188 < l_iwpr_196 - 3.0 && l_idemarker_244 < l_idemarker_252 - 0.05 && Open[2] > Close[2] && Open[0] < Close[1] && Open[1] < Close[1]) { l_ticket_4 = OrderSend(Symbol(), OP_SELL, LotsOptimized(), Bid, g_slippage_416, 0, 0, "Euro_Blaster", MagicNo, 0, Red); if (l_ticket_4 > 0) { if (OrderSelect(l_ticket_4, SELECT_BY_TICKET, MODE_TRADES)) Print("SELL order opened : ", OrderOpenPrice()); if (l_price_572 > 0.0) l_price_572 = Bid + StopLoss * g_point_408; g_price_392 = Bid - gd_400 * g_point_408; OrderModify(OrderTicket(), OrderOpenPrice(), l_price_572, g_price_392, 0, CLR_NONE); } else Print("Error opening SELL order : ", GetLastError()); return (0); } if (Predict2() == 4.0 && Open[0] < Close[1] && Open[1] > Close[1] && l_iwpr_188 < l_iwpr_196 && li_456) { l_ticket_4 = OrderSend(Symbol(), OP_SELL, LotsOptimized(), Bid, g_slippage_416, 0, 0, "Euro_Blaster", MagicNo, 0, Red); if (l_ticket_4 > 0) { if (OrderSelect(l_ticket_4, SELECT_BY_TICKET, MODE_TRADES)) Print("SELL order opened : ", OrderOpenPrice()); if (l_price_572 > 0.0) l_price_572 = Bid + StopLoss * g_point_408; g_price_392 = Bid - gd_400 * g_point_408; OrderModify(OrderTicket(), OrderOpenPrice(), l_price_572, g_price_392, 0, CLR_NONE); } else Print("Error opening SELL order : ", GetLastError()); return (0); } } } for (int l_pos_0 = 0; l_pos_0 < l_count_16; l_pos_0++) { if (OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES) == TRUE) { if (OrderType() <= OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNo) { l_price_584 = OrderStopLoss(); ld_592 = AccountBalance() * (Percent_Over_Balance / 100.0); if (OrderType() == OP_BUY) { if (AccountFreeMargin() <= 0.0 || (Profit_Protection && AccountProfit() >= ld_592)) { RefreshRates(); OrderClose(OrderTicket(), OrderLots(), Bid, g_slippage_416, Violet); return (0); } if (BreakEven) { if (Bid > OrderOpenPrice() + BreakEvenPips * g_point_408 && OrderStopLoss() < OrderOpenPrice()) { RefreshRates(); if (BreakEvenPips > TrailingStop && TrailingStop > 0.0) BreakEvenPips = TrailingStop; if (BreakEvenPips < li_568) BreakEvenPips = li_568; l_price_584 = Bid - g_point_408 * BreakEvenPips; OrderModify(OrderTicket(), OrderOpenPrice(), l_price_584, OrderTakeProfit(), 0, CLR_NONE); return (0); } } if (TrailingStop <= 0.0) continue; if (Bid - OrderOpenPrice() <= g_point_408 * TrailingStop) continue; if (l_price_584 >= Bid - g_point_408 * TrailingStop) continue; RefreshRates(); if (TrailingStop < li_568) TrailingStop = li_568; l_price_584 = Bid - g_point_408 * TrailingStop; l_price_24 = OrderTakeProfit(); if (l_price_584 - OrderOpenPrice() > l_istddev_228 && li_452) l_price_24 = OrderTakeProfit() + TrailingPips * g_point_408; OrderModify(OrderTicket(), OrderOpenPrice(), l_price_584, l_price_24, 0, Blue); return (0); } if (AccountFreeMargin() <= 0.0 || (Profit_Protection && AccountProfit() >= ld_592)) { RefreshRates(); OrderClose(OrderTicket(), OrderLots(), Ask, g_slippage_416, Violet); return (0); } if (BreakEven) { if (Ask < OrderOpenPrice() - BreakEvenPips * g_point_408 && OrderStopLoss() > OrderOpenPrice()) { RefreshRates(); if (BreakEvenPips > TrailingStop && TrailingStop > 0.0) BreakEvenPips = TrailingStop; if (BreakEvenPips < li_568) BreakEvenPips = li_568; l_price_584 = Ask + g_point_408 * BreakEvenPips; OrderModify(OrderTicket(), OrderOpenPrice(), l_price_584, OrderTakeProfit(), 0, CLR_NONE); return (0); } } if (TrailingStop > 0.0) { if (OrderOpenPrice() - Ask > g_point_408 * TrailingStop) { if (l_price_584 > Ask + g_point_408 * TrailingStop || l_price_584 == 0.0) { RefreshRates(); if (TrailingStop < li_568) TrailingStop = li_568; l_price_584 = Ask + g_point_408 * TrailingStop; l_price_24 = OrderTakeProfit(); if (OrderOpenPrice() - l_price_584 > l_istddev_228 && li_456) l_price_24 = OrderTakeProfit() - TrailingPips * g_point_408; OrderModify(OrderTicket(), OrderOpenPrice(), l_price_584, l_price_24, 0, Red); return (0); } } } } } } Comment("\n", " Copyright © 2009, Forex Spiritual Team", "\n", " ======================================", "\n", " Broker Time : ", TimeToStr(TimeCurrent()), "\n", "\n", " Highest Price in ", gi_432, " Bars Period : ", l_high_524, "\n", " Lowest Price in ", gi_432, " Bars Period : ", l_low_532, "\n", " Current Price -> Bid : ", Bid, " Ask : ", Ask, "\n", "\n", " Balance : ", AccountBalance(), "\n", " Equity : ", AccountEquity(), "\n", " Orders Total : ", OrdersTotal(), "\n", " Total Profit/Loss : ", AccountProfit(), "\n"); return (0); } double LotsOptimized() { if (!MM) return (LotSize); double ld_0 = StopLoss; if (ld_0 == 0.0) ld_0 = 500; double l_marginrequired_8 = MarketInfo(Symbol(), MODE_MARGINREQUIRED); if (Max_Lot_Size > 0.0 && Max_Lot_Size < gd_356) gd_356 = Max_Lot_Size; double ld_ret_16 = AccountFreeMargin() * RiskPercent / (100.0 * (MaxOrder * ld_0) / l_marginrequired_8); if (g_lotstep_372 < 0.1) ld_ret_16 = NormalizeDouble(MathFloor(ld_ret_16 / gd_380) * g_lotstep_372, 2); else ld_ret_16 = NormalizeDouble(MathFloor(ld_ret_16 / gd_380) * g_lotstep_372, 1); if (ld_ret_16 < g_minlot_364) ld_ret_16 = g_minlot_364; if (ld_ret_16 > gd_356) ld_ret_16 = gd_356; return (ld_ret_16); } bool isTradeTime() { int l_str2time_4; int l_str2time_8; int l_str2time_12; int l_str2time_16; int l_datetime_0 = TimeCurrent(); if (Use_Time_Mgmt) { l_str2time_4 = StrToTime(TradeStartHour + ":" + TradeStartMinutes); l_str2time_8 = StrToTime(TradeEndHour + ":" + TradeEndMinutes); l_str2time_12 = StrToTime(TradeStartHour2 + ":" + TradeStartMinutes2); l_str2time_16 = StrToTime(TradeEndHour2 + ":" + TradeEndMinutes2); if (l_str2time_4 < l_str2time_8 && (l_datetime_0 >= l_str2time_4 && l_datetime_0 <= l_str2time_8)) return (TRUE); if (l_str2time_12 > l_str2time_4 && l_str2time_12 >= l_str2time_8 && l_datetime_0 >= l_str2time_8) if (l_str2time_12 < l_str2time_16 && (l_datetime_0 >= l_str2time_12 && l_datetime_0 <= l_str2time_16)) return (TRUE); } return (FALSE); }