- //-----------------------------------定单操作函数版本1.3------------------------------------------------------
- //m取值0、1、2、3、4、5、6、7//0-5表示定单类型//6表示所有//也可以指定某个定单号//7表示清理所有挂单
- //1.0版本 0表示多单平仓、1表示空单平仓、2表示BUYLIMIT、3表示SELLLIMIT、4表示BUYSTOP、5表示SELLSTOP
- //1.1版本 继承1.0版本所有功能,加入6删除所有挂单,平仓所有成交定单
- //1.2版本 继承1.1版本功能,加入7删除所有挂单
- //问题反馈 93334898@qq
- bool delwhat(int m)
- {
- bool trueorfalse;
- if(m > 100000)
- {
- if(OrderSelect(m,SELECT_BY_TICKET,MODE_TRADES) == true)
- {
- if(OrderType() == 0)
- {
- trueorfalse = OrderClose(OrderTicket(),OrderLots(),Bid,maxslippages,Yellow); //平仓操作
- return(trueorfalse);
- } else if(OrderType() == 1)
- {
- trueorfalse = OrderClose(OrderTicket(),OrderLots(),Ask,maxslippages,Yellow);//平仓操作
- return(trueorfalse);
- } else if(OrderType() > 1)
- {
- trueorfalse = OrderDelete(OrderTicket()); //删除挂单操作
- return(trueorfalse);
- }
- }
- else
- {
- Print("赋予删除函数的参数数值无效,请检查");
- //MT_SpeechText("赋予删除函数的参数数值无效,请检查",1);
- }
- }
- if (-1 < m < 8)
- {
- for(b=0;b 1 && m < 6 ) //抓取4种挂单
- {
- if(OrderType()>1 && OrderType() == m)
- {
- trueorfalse = OrderDelete(OrderTicket()); //删除挂单操作
- return(trueorfalse);
- } else {}
- //返回操作结果
- } else if(m == 6) //表示需要删除所有挂单,平仓所有多和空单
- {
- if(OrderType() == 0)
- {
- trueorfalse = OrderClose(OrderTicket(),OrderLots(),Bid,maxslippages,CLR_NONE);//平仓操作
- return(trueorfalse); //返回操作结果
- } else if (OrderType() == 1)
- {
- trueorfalse = OrderClose(OrderTicket(),OrderLots(),Ask,maxslippages,CLR_NONE);//平仓操作
- return(trueorfalse); //返回操作结果
- } else if(OrderType()>1)
- {
- trueorfalse = OrderDelete(OrderTicket()); //删除挂单操作
- return(trueorfalse);
- }
- } else if(m == 7)
- {
- if(OrderType()>1)
- {
- trueorfalse = OrderDelete(OrderTicket()); //删除挂单操作
- return(trueorfalse);
- } else {}
- }
- }
- }
- }//------------------------------------------------------------------------------------------------------------------------
复制代码
大家看看能不能用上~ |