|
input int time1 = 4; input int time2 = 13; extern int takeprofit =30; int start() { int ticket; double ma1=iMA(NULL,0,time1,0,MODE_EMA,PRICE_CLOSE,0); double ma2=iMA(NULL,0,time2,0,MODE_EMA,PRICE_CLOSE,0); double ma11=iMA(NULL,0,time1,0,MODE_EMA,PRICE_CLOSE,1); double ma22=iMA(NULL,0,time2,0,MODE_EMA,PRICE_CLOSE,1); if (OrdersTotal() < 1) //--如果总订单数小于1 { if (ma1<ma2&&ma11>ma22 ) //--满足开空仓条件 { ticket = OrderSend(Symbol(),OP_SELL,1,Bid,3,0,0,"开空仓",12345,0,Red); if (ticket > 0) { if (OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES)) Print("SELL order opened : ", OrderOpenPrice()); } else Print("Error opening SELL order : ", GetLastError()); return (0); } if ( ma1>ma2&&ma11<ma22) //--满足开多仓条件 { ticket = OrderSend(Symbol(),OP_BUY,1,Ask,3,0,0,"开多仓",12345,0,Green); if (ticket > 0) { if (OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES)) Print("SELL order opened : ", OrderOpenPrice()); } else Print("Error opening SELL order : ", GetLastError()); return (0); } } for(int i=0;i<OrdersTotal();i++) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break; if(OrderMagicNumber()!=12345 || OrderSymbol()!=Symbol()) continue; //---- check order type if(OrderType()==OP_BUY) { if(extern int TakeProfit = 30 ) OrderClose(OrderTicket(),1,Bid,3,White);//如果持仓是多单,则发出平仓指令 break; } if(OrderType()==OP_SELL) { if(extern int TakeProfit = 30 ) OrderClose(OrderTicket(),1,Ask,3,White);//如果持仓是空单则发出平仓指令 break; |
请高手帮看下这个止盈代码对吗
回复:0 浏览:639
- 楼主admin 圈主
- 2019-05-05 10:55