一、首先我们来看下修改订单函数
int OrderModify(ulong ticket,double tpp,double slp)
{
//--- 准备请求
MqlTradeRequest request= {};
request.action=TRADE_ACTION_SLTP; // 设置
// request.symbol=symbol;
// request.type = type;
request.position =ticket;
request.sl=slp; // 止损价
request.tp=tpp; // 止盈价
//--- 发送交易请求
MqlTradeResult result= {0};
bool res=OrderSend(request,result);
if(!res)
msgbox(GetLastError());
return(0);
}
需要注意的是结构体request的元素action的值应该是TRADE_ACTION_SLTP
request.action=TRADE_ACTION_SLTP;
如何使用以上函数来修改订单的止损止盈呢?看例子,跟MT4很相似。
for(int i=0; i<PositionsTotal(); i++)
{
ulong ticket=PositionGetTicket(i);
string ordsymbol = PositionGetString(POSITION_SYMBOL);
string ordcom = PositionGetString(POSITION_COMMENT);