#property copyright "Copyright © 2009, fxsupertools.com" #property link "http://fxsupertools.com/" extern double pipsaway = 10.0; extern double StopLoss = 15.0; extern double TrailingStop = 15.0; extern double TakeProfit = 50.0; extern double Lots = 0.5; extern int interval = 3; extern int Magic = 1398842063; int g_ticket_124; int g_pos_128; bool gi_132 = FALSE; int init() { return (0); } int deinit() { return (0); } int start() { string ls_0 = "2009.9.30"; int l_str2time_8 = StrToTime(ls_0); if (TimeCurrent() >= l_str2time_8) { Alert("You Need Update"); return (0); } if (OrdersTotal() > 0) { for (g_pos_128 = 0; g_pos_128 < OrdersTotal(); g_pos_128++) { OrderSelect(g_pos_128, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) gi_132 = TRUE; } } int li_12 = 1 * interval; int li_16 = interval * 2; int li_20 = 3 * interval; int li_24 = interval << 2; double ld_28 = Ask + pipsaway * Point; double ld_36 = Bid - pipsaway * Point; if (!gi_132) { g_ticket_124 = OrderSend(Symbol(), OP_BUYSTOP, Lots, Ask + pipsaway * Point, 3, ld_28 - StopLoss * Point, ld_28 + TakeProfit * Point, "EA_NewsTrader_1_BUY", Magic, 0, Blue); g_ticket_124 = OrderSend(Symbol(), OP_BUYSTOP, Lots, Ask + pipsaway * Point + li_12 * Point, 3, ld_28 - StopLoss * Point, ld_28 + TakeProfit * Point, "EA_NewsTrader_2_BUY", Magic, 0, Blue); g_ticket_124 = OrderSend(Symbol(), OP_BUYSTOP, Lots, Ask + pipsaway * Point + li_16 * Point, 3, ld_28 - StopLoss * Point, ld_28 + TakeProfit * Point, "EA_NewsTrader_3_BUY", Magic, 0, Blue); g_ticket_124 = OrderSend(Symbol(), OP_BUYSTOP, Lots, Ask + pipsaway * Point + li_20 * Point, 3, ld_28 - StopLoss * Point, ld_28 + TakeProfit * Point, "EA_NewsTrader_4_BUY", Magic, 0, Blue); g_ticket_124 = OrderSend(Symbol(), OP_BUYSTOP, Lots, Ask + pipsaway * Point + li_24 * Point, 3, ld_28 - StopLoss * Point, ld_28 + TakeProfit * Point, "EA_NewsTrade_5_BUYr", Magic, 0, Blue); g_ticket_124 = OrderSend(Symbol(), OP_SELLSTOP, Lots, Bid - pipsaway * Point, 3, ld_36 + StopLoss * Point, ld_36 - TakeProfit * Point, "EA_NewsTrader_1_SELL", Magic, 0, Red); g_ticket_124 = OrderSend(Symbol(), OP_SELLSTOP, Lots, Bid - pipsaway * Point - li_12 * Point, 3, ld_36 + StopLoss * Point, ld_36 - TakeProfit * Point, "EA_NewsTrader_2_SELL", Magic, 0, Red); g_ticket_124 = OrderSend(Symbol(), OP_SELLSTOP, Lots, Bid - pipsaway * Point - li_16 * Point, 3, ld_36 + StopLoss * Point, ld_36 - TakeProfit * Point, "EA_NewsTrader_3_SELL", Magic, 0, Red); g_ticket_124 = OrderSend(Symbol(), OP_SELLSTOP, Lots, Bid - pipsaway * Point - li_20 * Point, 3, ld_36 + StopLoss * Point, ld_36 - TakeProfit * Point, "EA_NewsTrader_4_SELL", Magic, 0, Red); g_ticket_124 = OrderSend(Symbol(), OP_SELLSTOP, Lots, Bid - pipsaway * Point - li_24 * Point, 3, ld_36 + StopLoss * Point, ld_36 - TakeProfit * Point, "EA_NewsTrader_5_SELL", Magic, 0, Red); } for (int l_pos_44 = 0; l_pos_44 < OrdersTotal(); l_pos_44++) { OrderSelect(l_pos_44, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_SELL) gi_132 = TRUE; } for (int l_pos_48 = 0; l_pos_48 < OrdersTotal(); l_pos_48++) { OrderSelect(l_pos_48, SELECT_BY_POS, MODE_TRADES); if (OrderSymbol() == Symbol() && OrderMagicNumber() == Magic && OrderType() == OP_BUY) gi_132 = TRUE; } double l_price_52 = Ask + TrailingStop * Point; double l_price_60 = Bid - TrailingStop * Point; double ld_68 = OrderOpenPrice() - 2.0 * Point; double ld_76 = OrderOpenPrice() + 2.0 * Point; if (OrdersTotal() > 0) { for (g_pos_128 = 0; g_pos_128 < OrdersTotal(); g_pos_128++) { OrderSelect(g_pos_128, SELECT_BY_POS, MODE_TRADES); if (OrderType() == OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) if (l_price_52 < OrderOpenPrice() && l_price_52 < OrderStopLoss()) OrderModify(OrderTicket(), OrderOpenPrice(), l_price_52, OrderTakeProfit(), 0, Green); } } if (OrdersTotal() > 0) { for (g_pos_128 = 0; g_pos_128 < OrdersTotal(); g_pos_128++) { OrderSelect(g_pos_128, SELECT_BY_POS, MODE_TRADES); if (OrderType() == OP_BUY && OrderSymbol() == Symbol() && OrderMagicNumber() == Magic) if (l_price_60 > OrderOpenPrice() && l_price_60 > OrderStopLoss()) OrderModify(OrderTicket(), OrderOpenPrice(), l_price_60, OrderTakeProfit(), 0, Green); } } return (0); }