求市价成交时自动添加止盈止损的脚本

 

各位大神,

求一个一键交易的脚本,点击的时候一键下单并自动根据预设的点数设置止盈止损。万分感谢!

 
void 一键做多(string 品种,double 手数,double 止损,double 止盈,int 滑点,int magic号码,string 注释)
  {
//--- 声明并初始化交易请求和交易请求结果
   MqlTradeRequest  request= {};
   MqlTradeResult   result= {};
//---填充交易参数
   request.action=TRADE_ACTION_DEAL;
   request.magic=magic号码;
   request.symbol=品种;
   request.volume=手数;
   request.sl=SymbolInfoDouble(品种,SYMBOL_ASK)-止损*Point();
   request.tp=SymbolInfoDouble(品种,SYMBOL_ASK)+止盈*Point();
   request.price=SymbolInfoDouble(品种,SYMBOL_ASK);
   request.deviation=滑点;
   request.type=ORDER_TYPE_BUY;
   request.comment=注释;
   request.type_filling=ORDER_FILLING_IOC;

//---发送交易请求
   bool X=OrderSend(request,result);
//---交易失返回代码
   if(X==false)
     {
      Print("订单发送失败代码"+IntegerToString(GetLastError()));
      Print("交易返回代码"+IntegerToString(result.retcode));
     }
  };
  
void 一键做空(string 品种,double 手数,double 止损,double 止盈,int 滑点,int magic号码,string 注释)
  {
//--- 声明并初始化交易请求和交易请求结果
   MqlTradeRequest  request= {};
   MqlTradeResult   result= {};
//---填充交易参数
   request.action=TRADE_ACTION_DEAL;
   request.magic=magic号码;
   request.symbol=品种;
   request.volume=手数;
   request.sl=SymbolInfoDouble(品种,SYMBOL_BID)+止损*Point();
   request.tp=SymbolInfoDouble(品种,SYMBOL_BID)-止盈*Point();
   request.price=SymbolInfoDouble(品种,SYMBOL_BID);
   request.deviation=滑点;
   request.type=ORDER_TYPE_SELL;
   request.comment=注释;
   request.type_filling=ORDER_FILLING_IOC;

//---发送交易请求
   bool X=OrderSend(request,result);
//---交易失返回代码
   if(X==false)
     {
      Print("订单发送失败代码"+IntegerToString(GetLastError()));
      Print("交易返回代码"+IntegerToString(result.retcode));
     }
  };