CloseAll
CloseAll
它执行满仓的部分平仓。
virtual bool CloseAll(
double lot // 手数
)参数
- lot
[输入] 减仓的手数。
返回值
true 如果交易操作已被执行, 否则 false。
注释
在“单边持仓”模式,使用CExpertTrade::Buy或CExpertTrade::Sell 类函数来平仓。在“锁仓持仓”模式,则使用CTrade::PositionClose 类函数,它也可以用于单边模式下的账户。DeleteOrders()类函数用于删除订单。
实现
//+------------------------------------------------------------------+
//| 平仓并删除订单 |
//| 输入: 手数 - 平仓交易量。 |
//| OUTPUT: true-if trade operation processed, false otherwise. |
//| 备注: 无。 |
//+------------------------------------------------------------------+
bool CExpert::CloseAll(double lot)
{
bool result;
//--- 检查平仓操作
if(m_position.PositionType()==POSITION_TYPE_BUY) result=m_trade.Sell(lot,0,0,0);
else result=m_trade.Buy(lot,0,0,0);
result|=DeleteOrders();
//---
return(result);
}