#property copyright "MT4Íâ»ã¸úµ¥ÏµÍ³(www.fx789.com)" #property link "http://www.fx789.com" extern string Tips="www.fx789.comÕвÙÅÌÊÖ"; extern string Tips1="MT4±¾µØÍâ»ã×Ô¶¯¸úµ¥ÏµÍ³"; extern string Tips2="Ìṩº°µ¥·þÎñQQ:278118436"; ObjectCreate("label_object_B1", OBJ_LABEL, 0, 0, 0); ObjectSetText("label_object_B1","MT4±¾µØÍâ»ã×Ô¶¯¸úµ¥ÏµÍ³Ãâ·ÑÊÔÓà £ºwww.fx789.com/gendan.rar ",9,"Arial",Yellow); ObjectSet("label_object_B1", OBJPROP_XDISTANCE, 5); ObjectSet("label_object_B1", OBJPROP_YDISTANCE, 10); extern double TakeProfit = 40; extern double StopLoss = 20; extern double StopAndReverseOnLossOf = 100; extern int MinimumToContinue = 100; // pips the daily bar must have extern double LotSize = 0.1; extern double Slippage = 15; extern string BuyComment = "20 pips per day BUY"; extern string SellComment = "20 pips per day SELL"; extern color clOpenBuy = Blue; extern color clOpenSell = Red; static int LASTRUN_4; // verifica se uma nova bar for aberta int ticket_buy, ticket_sell = 0; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- int total_orders = OrdersTotal(); /*if (total_orders>=1) { OrderSelect(ticket_buy,SELECT_BY_TICKET); if (OrderType()==OP_BUY) { // you'll need to add a code section for sell also... if (BidOrderOpenPrice()-StopAndReverseOnLossOf) { OrderClose(OrderTicket(), LotSize, Ask, Slippage, CLR_NONE); ticket_buy = OrderSend(Symbol(),OP_BUY,LotSize,Ask,Slippage,0,Ask+(TakeProfit*Point),BuyComment,0,0,clOpenBuy); if (ticket_buy < 0) { Alert(GetLastError()); } } } }*/ if (LASTRUN_4==Time[0]) return(0); LASTRUN_4 = Time[0]; Alert("EA Start 20-pips-per-day:", LASTRUN_4); double curr_open = iOpen(NULL, 0, 0); double last_high = iHigh(NULL, 0, 1); double last_low = iLow(NULL, 0, 1); double last_close = iClose(NULL, 0, 1); // creio que é bigode, mas por enquanto só encontrei esta maneira string str_last_close = DoubleToStr(last_close, Digits); string str_last_high = DoubleToStr(last_high, Digits); string str_last_low = DoubleToStr(last_low, Digits); string substr0 = ""; string substr1 = ""; substr0 = StringSubstr(str_last_close, 0, 3); substr1 = StringSubstr(str_last_close, 4, 5); str_last_close = StringConcatenate(substr0, substr1); substr0 = StringSubstr(str_last_high, 0, 3); substr1 = StringSubstr(str_last_high, 4, 5); str_last_high = StringConcatenate(substr0, substr1); substr0 = StringSubstr(str_last_low, 0, 3); substr1 = StringSubstr(str_last_low, 4, 5); str_last_low = StringConcatenate(substr0, substr1); int int_last_low = StrToInteger(str_last_low); int int_last_high = StrToInteger(str_last_high); int int_last_close = StrToInteger(str_last_close); int is_able_to_continue = int_last_high - int_last_low; Print("is_able_to_continue: ", is_able_to_continue); if (is_able_to_continue < MinimumToContinue) { return(0); } //if (total_orders == 0) { StopLoss = Ask-(StopLoss*Point); ticket_buy = OrderSend(Symbol(),OP_BUY,LotSize,Ask,Slippage,StopLoss,Ask+(TakeProfit*Point),BuyComment,0,0,clOpenBuy); if (ticket_buy < 0) { Alert(GetLastError()); } StopLoss = Bid-(StopLoss*Point); ticket_sell = OrderSend(Symbol(),OP_SELL,LotSize,Bid,Slippage,StopLoss,Bid-(TakeProfit*Point),SellComment,0,0,clOpenSell); if (ticket_sell < 0) { Alert(GetLastError()); } //} //---- return(0); } //+------------------------------------------------------------------+