ordersend()请求无效怎么解决?

 

以下是在运行中日志里显示的下单执行语句反馈记录

failed instant sell 0.01 USDJPY at 144.687 sl:200.000 [Invalid request]

以下是这个程序的下单函数。请问——哪里出了问题??怎么修改?

void trade_open(bool t,double volume=0)

  {
   MqlTradeRequest MyTrade;
   MqlTradeResult MyResult;
   MqlTick MyTick;

   SymbolInfoTick(Symbol(),MyTick);
   MyTrade.action=TRADE_ACTION_DEAL;
   MyTrade.magic=001;
   MyTrade.symbol=Symbol();
   MyTrade.volume=volume;
   if(t==true)
     {
     MyTrade.type=ORDER_TYPE_BUY;
     MyTrade.price= MyTick.ask;
     }
   else
     {
     MyTrade.type=ORDER_TYPE_SELL;
     MyTrade.price=MyTick.bid;
     }
   
   MyTrade.deviation=100;

   MyTrade.type_filling=ORDER_FILLING_FOK;
   MyTrade.comment="Test";
   MyTrade.sl=200;
   MyTrade.tp=0.0;
   
   OrderSend(MyTrade,MyResult);
   Print(MyResult.retcode," ",MyResult.ask," ",SymbolInfoInteger(Symbol(),SYMBOL_DIGITS)," ",volume);
  }



 
你将  MyTrade.magic=001; 里的001换成一个大于0的整数 试试?——本人专写MT4的,对MT5不怎么熟悉,说错了别笑话俺哦,哈哈。。。。。
 
Lin Luo #:
你将  MyTrade.magic=001; 里的001换成一个大于0的整数 试试?——本人专写MT4的,对MT5不怎么熟悉,说错了别笑话俺哦,哈哈。。。。。

我按照你的改了改,不管用,还是那个报错提示,10013.不过还是谢谢你

 
没学到位,好好学习,天天向上
 
.
 
Wen Xia Deng #:
.

?

原因: