请问如何在ea订单中添加止损

 
您好,请问想在订单开始前,把想要根据前面的K线或均线等(例如:double 止损= iMA-K线开盘价   )设置止损在订单中,还有就是利用移动止损来设置。这些都不可以,有其他方法或可以解决吗?
以下是代码:
1.
  
 void yidong() 
 {     
  double   止损=iOpen(_Symbol,PERIOD_CURRENT,1)-iClose(_Symbol,PERIOD_CURRENT,1);
  for(int i=0;i<OrdersTotal();i++)  
  {          
  if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)          
    {       
         if(OrderType()==0 && OrderSymbol()==Symbol() && OrderMagicNumber()==magic)            
         {                     
          if(OrderStopLoss()==0)               
            {                     
         OrderModify(OrderTicket(),OrderOpenPrice(),Point*止损,OrderTakeProfit(),0,Green);              
             }                 
          }                    
   }           
  }   
非常感谢
 
zhu sheng:
您好,请问想在订单开始前,把想要根据前面的K线或均线等(例如:double 止损= iMA-K线开盘价   )设置止损在订单中,还有就是利用移动止损来设置。这些都不可以,有其他方法或可以解决吗?
以下是代码:
1.
  
 void yidong() 
 {     
  double   止损=iOpen(_Symbol,PERIOD_CURRENT,1)-iClose(_Symbol,PERIOD_CURRENT,1);
  for(int i=0;i<OrdersTotal();i++)  
  {          
  if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)          
    {       
         if(OrderType()==0 && OrderSymbol()==Symbol() && OrderMagicNumber()==magic)            
         {                     
          if(OrderStopLoss()==0)               
            {                     
         OrderModify(OrderTicket(),OrderOpenPrice(),Point*止损,OrderTakeProfit(),0,Green);              
             }                 
          }                    
   }           
  }   
非常感谢

问题有点大哈。就事论事,看不到的不知道。

double   止损=iOpen(_Symbol,PERIOD_CURRENT,1)-iClose(_Symbol,PERIOD_CURRENT,1);

这个得到的是两价格的差,注意,是两价格的差,不是价格,也不是换算后的点值。

OrderModify(OrderTicket(),OrderOpenPrice(),Point*止损,OrderTakeProfit(),0,Green); 修改函数里要求的参数是止损价,注意,是止损价,是计划要修改的止损价,并且不得与原止损价相同,不是其它。