- extern double KaiShiYiDong=20;//当盈利大于多少点后,开始实施移动
- extern double HuiDiao=15;//从最高盈利回调多少点就平仓
- int init()
- {
- return(0);
- }
- int deinit()
- {
- return(0);
- }
- int start()
- {
- yidong();//直接调用这个函数就可以实现移动止损的功能很方便
- return(0);
- }
- void yidong()//移动止损通用函数,次代码会自动检测buy和sell单并对其移动止损
- {
- for(int i=0;i<OrdersTotal();i++)
- {
- if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
- {
- if(OrderType()==0 && OrderSymbol()==Symbol())
- {
- if((Bid-OrderOpenPrice()) >=Point*KaiShiYiDong)
- {
- if(OrderStopLoss()<(Bid-Point*HuiDiao) || (OrderStopLoss()==0))
- {
- OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*HuiDiao,OrderTakeProfit(),0,Green);
- }
- }
- }
- if(OrderType()==1 && OrderSymbol()==Symbol())
- {
- if((OrderOpenPrice()-Ask)>=(Point*KaiShiYiDong))
- {
- if((OrderStopLoss()>(Ask+Point*HuiDiao)) || (OrderStopLoss()==0))
- {
- OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*HuiDiao,OrderTakeProfit(),0,Red);
- }
- }
- }
- }
- }
- }
复制代码
|