#property copyright "Forex Hacked Version 1.0" #property link "http://www.forexhacked.com" #import "wininet.dll" int InternetOpenA(string a0, int a1, string a2, string a3, int a4); int InternetOpenUrlA(int a0, string a1, string a2, int a3, int a4, int a5); int InternetReadFile(int a0, string a1, int a2, int& a3[]); int InternetCloseHandle(int a0); #import extern string User = "Your ForexHacked.com Username"; extern string MagicNumberWarning = "Magic Number Must be UNIQUE for each chart!"; extern int MagicNumber = 133714; extern double Lots = 0.1; extern double TakeProfit = 45.0; extern double Booster = 1.8; extern int PipStarter = 45; double gd_124 = 0.0; int gi_132 = 0; extern int MaxTradesPerChart = 8; extern int StartHour = 0; extern int StopHour = 24; int gi_148 = 55; extern int StartingTradeDay = 0; extern int EndingTradeDay = 5; extern int slippage = 3; double g_lots_164; int g_period_172 = 7; int gi_176 = 0; int g_ma_method_180 = MODE_LWMA; int g_applied_price_184 = PRICE_WEIGHTED; double gd_188 = 0.25; double gd_196 = 0.2; extern bool SupportECN = TRUE; int gi_208; bool gi_unused_212 = FALSE; string gs_dummy_216; int gi_224; int gi_228; int gi_232 = 0; int gi_236 = 1; int gi_unused_240 = 3; int gi_244 = 250; string gs_248; int hSession(bool ai_0) { string ls_4; if (gi_224 == 0) { ls_4 = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Q312461)"; gi_224 = InternetOpenA(ls_4, gi_232, "0", "0", 0); gi_228 = InternetOpenA(ls_4, gi_236, "0", "0", 0); } if (ai_0) return (gi_228); return (gi_224); } int GrabWeb(string as_0, string &as_8) { int lia_24[] = {1}; string ls_28 = "x"; int li_16 = InternetOpenUrlA(hSession(0), as_0, "0", 0, -2080374528, 0); if (li_16 == 0) return (0); int li_20 = InternetReadFile(li_16, ls_28, gi_244, lia_24); if (li_20 == 0) return (0); int li_36 = lia_24[0]; for (as_8 = StringSubstr(ls_28, 0, lia_24[0]); lia_24[0] != 0; as_8 = as_8 + StringSubstr(ls_28, 0, lia_24[0])) { li_20 = InternetReadFile(li_16, ls_28, gi_244, lia_24); if (lia_24[0] == 0) break; li_36 += lia_24[0]; } li_20 = InternetCloseHandle(li_16); if (li_20 == 0) return (0); return (1); } int deinit() { return (0); } int init() { if (Digits == 3) { gd_124 = 10.0 * TakeProfit; gi_132 = 10.0 * PipStarter; } else { if (Digits == 5) { gd_124 = 10.0 * TakeProfit; gi_132 = 10.0 * PipStarter; } else { gd_124 = TakeProfit; gi_132 = PipStarter; } } gi_208 = MathRound((-MathLog(MarketInfo(Symbol(), MODE_LOTSTEP))) / 2.302585093); GrabWeb("http://www.forexhacked.com/query.php?accountnumber=" + AccountNumber() + "&login=" + User, gs_248); Print("init is done"); return (0); } int IsTradeTime() { if (StartHour < StopHour && TimeHour(TimeCurrent()) < StartHour || TimeHour(TimeCurrent()) >= StopHour) return (0); if (StartHour > StopHour && (TimeHour(TimeCurrent()) < StopHour && TimeHour(TimeCurrent()) >= StopHour)) return (0); if (StopHour == 0) StopHour = 24; if (Hour() == StopHour - 1 && Minute() >= gi_148) return (0); return (1); } void OpenBuy() { int l_ticket_0; if (!GlobalVariableCheck("OpenTrade")) { GlobalVariableSet("OpenTrade", TimeCurrent()); if (SupportECN && IsTradeTime() == 1 && DayOfWeek() >= StartingTradeDay && DayOfWeek() <= EndingTradeDay) l_ticket_0 = OrderSend(Symbol(), OP_BUY, g_lots_164, Ask, slippage, 0, 0, "ForexHackedBuy™", MagicNumber, 0, Green); else if (IsTradeTime() == 1 && DayOfWeek() >= StartingTradeDay && DayOfWeek() <= EndingTradeDay) l_ticket_0 = OrderSend(Symbol(), OP_BUY, g_lots_164, Ask, slippage, 0, Ask + gd_124 * Point, "ForexHackedBuy™", MagicNumber, 0, Green); GlobalVariableDel("OpenTrade"); } } void OpenSell() { int l_ticket_0; if (!GlobalVariableCheck("OpenTrade")) { GlobalVariableSet("OpenTrade", TimeCurrent()); if (SupportECN && IsTradeTime() == 1 && DayOfWeek() >= StartingTradeDay && DayOfWeek() <= EndingTradeDay) l_ticket_0 = OrderSend(Symbol(), OP_SELL, g_lots_164, Bid, slippage, 0, 0, "ForexHackedSell™", MagicNumber, 0, Pink); else if (IsTradeTime() == 1 && DayOfWeek() >= StartingTradeDay && DayOfWeek() <= EndingTradeDay) l_ticket_0 = OrderSend(Symbol(), OP_SELL, g_lots_164, Bid, slippage, 0, Bid - gd_124 * Point, "ForexHackedSell™", MagicNumber, 0, Pink); GlobalVariableDel("OpenTrade"); } } void ManageBuy() { int l_datetime_0 = 0; double l_ord_open_price_4 = 0; double l_ord_lots_12 = 0; double l_ord_takeprofit_20 = 0; int l_cmd_28 = -1; int l_ticket_32 = 0; int l_pos_36 = 0; for (l_pos_36 = 0; l_pos_36 < OrdersTotal(); l_pos_36++) { OrderSelect(l_pos_36, SELECT_BY_POS, MODE_TRADES); if (OrderMagicNumber() != MagicNumber || OrderType() != OP_BUY) continue; if (OrderOpenTime() > l_datetime_0 && IsTradeTime() == 1) { l_datetime_0 = OrderOpenTime(); l_ord_open_price_4 = OrderOpenPrice(); l_cmd_28 = OrderType(); l_ticket_32 = OrderTicket(); l_ord_takeprofit_20 = OrderTakeProfit(); } if (OrderLots() > l_ord_lots_12) l_ord_lots_12 = OrderLots(); } double l_isar_40 = iSAR(NULL, 0, gd_188, gd_196, 0); double l_ima_48 = iMA(NULL, 0, g_period_172, gi_176, g_ma_method_180, g_applied_price_184, 0); int li_56 = MathRound(MathLog(l_ord_lots_12 / Lots) / MathLog(Booster)) + 1.0; if (li_56 < 0) li_56 = 0; g_lots_164 = NormalizeDouble(Lots * MathPow(Booster, li_56), gi_208); if ((li_56 == 0 && l_isar_40 < l_ima_48 && DayOfWeek() < EndingTradeDay) || (li_56 == 0 && l_isar_40 < l_ima_48 && DayOfWeek() >= StartingTradeDay && DayOfWeek() <= EndingTradeDay)) OpenBuy(); if (l_ord_open_price_4 - Ask > gi_132 * Point && li_56 < MaxTradesPerChart) { OpenBuy(); return; } for (l_pos_36 = 0; l_pos_36 < OrdersTotal(); l_pos_36++) { OrderSelect(l_pos_36, SELECT_BY_POS, MODE_TRADES); if (OrderMagicNumber() != MagicNumber || OrderType() != OP_BUY || OrderTakeProfit() == l_ord_takeprofit_20 || l_ord_takeprofit_20 == 0.0) continue; OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), l_ord_takeprofit_20, 0, Pink); } } void ManageSell() { int l_datetime_0 = 0; double l_ord_open_price_4 = 0; double l_ord_lots_12 = 0; double l_ord_takeprofit_20 = 0; int l_cmd_28 = -1; int l_ticket_32 = 0; int l_pos_36 = 0; for (l_pos_36 = 0; l_pos_36 < OrdersTotal(); l_pos_36++) { OrderSelect(l_pos_36, SELECT_BY_POS, MODE_TRADES); if (OrderMagicNumber() != MagicNumber || OrderType() != OP_SELL) continue; if (OrderOpenTime() > l_datetime_0 && IsTradeTime() == 1) { l_datetime_0 = OrderOpenTime(); l_ord_open_price_4 = OrderOpenPrice(); l_cmd_28 = OrderType(); l_ticket_32 = OrderTicket(); l_ord_takeprofit_20 = OrderTakeProfit(); } if (OrderLots() > l_ord_lots_12) l_ord_lots_12 = OrderLots(); } double l_isar_40 = iSAR(NULL, 0, gd_188, gd_196, 0); double l_ima_48 = iMA(NULL, 0, g_period_172, gi_176, g_ma_method_180, g_applied_price_184, 0); int li_56 = MathRound(MathLog(l_ord_lots_12 / Lots) / MathLog(Booster)) + 1.0; if (li_56 < 0) li_56 = 0; g_lots_164 = NormalizeDouble(Lots * MathPow(Booster, li_56), gi_208); if ((li_56 == 0 && l_isar_40 > l_ima_48 && DayOfWeek() < EndingTradeDay) || (li_56 == 0 && l_isar_40 > l_ima_48 && DayOfWeek() >= StartingTradeDay && DayOfWeek() <= EndingTradeDay)) OpenSell(); if (Bid - l_ord_open_price_4 > gi_132 * Point && l_ord_open_price_4 > 0.0 && li_56 < MaxTradesPerChart) { OpenSell(); return; } for (l_pos_36 = 0; l_pos_36 < OrdersTotal(); l_pos_36++) { OrderSelect(l_pos_36, SELECT_BY_POS, MODE_TRADES); if (OrderMagicNumber() != MagicNumber || OrderType() != OP_SELL || OrderTakeProfit() == l_ord_takeprofit_20 || l_ord_takeprofit_20 == 0.0) continue; OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), l_ord_takeprofit_20, 0, Pink); } } int start() { if (gs_248 != "approved") { Comment("Access denied!", "\nMake you inputed your correct forexhacked.com username into the EA paramaters", "\nMake sure you login to http://www.forexhacked.com/membership/login.php and input your forex account number in your profile settings"); return (0); } if (SupportECN) { for (int l_pos_0 = 0; l_pos_0 < OrdersTotal(); l_pos_0++) { if (OrderSelect(l_pos_0, SELECT_BY_POS)) { if (OrderMagicNumber() == MagicNumber) { if (OrderTakeProfit() == 0.0) { if (OrderType() == OP_BUY) OrderModify(OrderTicket(), 0, OrderStopLoss(), OrderOpenPrice() + gd_124 * Point, 0, White); else if (OrderType() == OP_SELL) OrderModify(OrderTicket(), 0, OrderStopLoss(), OrderOpenPrice() - gd_124 * Point, 0, White); } } } } } if (Check() != 0) { ManageBuy(); ManageSell(); ChartComment(); return (0); } return (0); } void ChartComment() { string l_dbl2str_0 = DoubleToStr(balanceDeviation(2), 2); Comment(" \nForexHacked V1.0™ ", "\nAccount Leverage : " + "1 : " + AccountLeverage(), "\nAccount Type : " + AccountServer(), "\nServer Time : " + TimeToStr(TimeCurrent(), TIME_SECONDS), "\nAccount Equity = ", AccountEquity(), "\nFree Margin = ", AccountFreeMargin(), "\nDrawdown : ", l_dbl2str_0, "%\n"); } int Check() { return (1); } double balanceDeviation(int ai_0) { double ld_ret_4; if (ai_0 == 2) { ld_ret_4 = (AccountEquity() / AccountBalance() - 1.0) / (-0.01); if (ld_ret_4 > 0.0) return (ld_ret_4); return (0); } if (ai_0 == 1) { ld_ret_4 = 100.0 * (AccountEquity() / AccountBalance() - 1.0); if (ld_ret_4 > 0.0) return (ld_ret_4); return (0); } return (0.0); }