extern double ProfitStopLoss = -560.0; extern double TakeProfit = 6000.0; extern bool EnableLocking = FALSE; double gd_96 = 0.0; double gd_104 = -999999.0; double gd_112 = -999999.0; double gd_120; int gi_128 = D'31.12.2009 03:30'; string gs_132 = "This ProtectEA expires for the year 2009! Contact: Trader101@optonline.net"; void CloseAll() { int l_cmd_8; bool li_12; int 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(); li_12 = FALSE; switch (l_cmd_8) { case OP_BUY: li_12 = OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_BID), 5, Red); break; case OP_SELL: li_12 = OrderClose(OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), 5, Red); break; case OP_BUYLIMIT: case OP_BUYSTOP: case OP_SELLLIMIT: case OP_SELLSTOP: li_12 = OrderDelete(OrderTicket()); } } ObjectsDeleteAll(); } int start() { bool li_0; if (TimeCurrent() >= gi_128) { Comment(gs_132); Alert(gs_132); return (0); } int l_ord_total_4 = OrdersTotal(); if (OrdersTotal() == 0) { ProfitStopLoss = -560; gd_96 = 0; gd_104 = -999999; gd_112 = -999999; } gd_96 = 0; for (int l_pos_8 = 0; l_pos_8 < l_ord_total_4; l_pos_8++) { OrderSelect(l_pos_8, SELECT_BY_POS, MODE_TRADES); gd_120 = OrderProfit() + OrderSwap(); gd_96 += gd_120; } if (gd_96 <= ProfitStopLoss || gd_96 >= TakeProfit) CloseAll(); if (EnableLocking) { if (gd_96 >= 6000.0) CloseAll(); if (gd_96 <= gd_104) CloseAll(); if (gd_96 >= 5000.0 && gd_104 == 4310.0) gd_112 = 4810; if (gd_96 >= 4600.0 && gd_104 == 4110.0) gd_112 = 4410; if (gd_96 >= 4300.0 && gd_104 == 3810.0) gd_112 = 4110; if (gd_96 >= 4000.0 && gd_104 == 3410.0) gd_112 = 3810; if (gd_96 >= 3600.0 && gd_104 == 3110.0) gd_112 = 3410; if (gd_96 >= 3300.0 && gd_104 == 2810.0) gd_112 = 3110; if (gd_96 >= 3000.0 && gd_104 == 2410.0) gd_112 = 2810; if (gd_96 >= 2600.0 && gd_104 == 2110.0) gd_112 = 2410; if (gd_96 >= 2300.0 && gd_104 == 1810.0) gd_112 = 2110; if (gd_96 >= 2000.0 && gd_104 == 1410.0) gd_112 = 1810; if (gd_96 >= 1600.0 && gd_104 == 1110.0) gd_112 = 1410; if (gd_96 >= 1300.0 && gd_104 == 810.0) gd_112 = 1110; if (gd_96 >= 1000.0 && gd_104 == 610.0) gd_112 = 810; if (gd_96 >= 700.0 && gd_104 == 410.0) gd_112 = 610; if (gd_96 >= 500.0 && gd_104 == 310.0) gd_112 = 410; if (gd_96 >= 400.0 && gd_104 == 210.0) gd_112 = 310; if (gd_96 >= 300.0 && gd_104 == 110.0) gd_112 = 210; if (gd_96 >= 200.0 && gd_104 == 75.0) gd_112 = 110; if (gd_96 >= 150.0 && gd_104 == -999999.0) gd_112 = 75; if (gd_112 > gd_104) gd_104 = gd_112; } if (gd_104 == -999999.0 || !EnableLocking) li_0 = FALSE; else li_0 = gd_104; Comment("ProfitProtect[4a] by Trader101", "\nBasket Profit = $ ", gd_96, "\nProfit Locked = $ ", li_0, "\nStop Loss = $ ", ProfitStopLoss, "\nTake Profit = $ ", TakeProfit); return (0); }