extern double ProfitStopLoss = -56.0; extern double TakeProfit = 600.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 = -56; 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 >= 600.0) CloseAll(); if (gd_96 <= gd_104) CloseAll(); if (gd_96 >= 450.0 && gd_104 == 385.0) gd_112 = 435; if (gd_96 >= 400.0 && gd_104 == 335.0) gd_112 = 385; if (gd_96 >= 350.0 && gd_104 == 285.0) gd_112 = 335; if (gd_96 >= 300.0 && gd_104 == 235.0) gd_112 = 285; if (gd_96 >= 250.0 && gd_104 == 185.0) gd_112 = 235; if (gd_96 >= 200.0 && gd_104 == 135.0) gd_112 = 185; if (gd_96 >= 150.0 && gd_104 == 105.0) gd_112 = 135; if (gd_96 >= 120.0 && gd_104 == 85.0) gd_112 = 105; if (gd_96 >= 100.0 && gd_104 == 75.0) gd_112 = 85; if (gd_96 >= 90.0 && gd_104 == 65.0) gd_112 = 75; if (gd_96 >= 80.0 && gd_104 == 51.0) gd_112 = 65; if (gd_96 >= 70.0 && gd_104 == 41.0) gd_112 = 51; if (gd_96 >= 60.0 && gd_104 == 31.0) gd_112 = 41; if (gd_96 >= 50.0 && gd_104 == 21.0) gd_112 = 31; if (gd_96 >= 40.0 && gd_104 == 16.0) gd_112 = 21; if (gd_96 >= 30.0 && gd_104 == -999999.0) gd_112 = 16; if (gd_112 > gd_104) gd_104 = gd_112; } if (gd_104 == -999999.0 || !EnableLocking) li_0 = FALSE; else li_0 = gd_104; Comment("mProfitProtect[4a] by Trader101", "\nBasket Profit = $ ", gd_96, "\nProfit Locked = $ ", li_0, "\nStop Loss = $ ", ProfitStopLoss, "\nTake Profit = $ ", TakeProfit); return (0); }