- 精华
- 0
- 在线时间
- 38 小时
- UID
- 254249
- 积分
- 53
- 帖子
- 37
- 阅读权限
- 30
- 注册时间
- 2017-7-20
- 最后登录
- 2019-2-12
- 精华
- 0
- UID
- 254249
- 积分
- 53
- 帖子
- 37
- 主题
- 14
- 阅读权限
- 30
- 注册时间
- 2017-7-20
- 最后登录
- 2019-2-12
|
Buy函数有以下特性“如果当前持仓状态为空仓,即MarketPosition = -1 时,该函数平掉所有空仓,同时按照参数进行多头建仓,两个动作同时发出。”即会先将空仓平掉,再开多仓。
SellShort则相反
我是这样一段策略:
//破上限开仓
If((Data1.Q_BidPrice-Data0.Q_AskPrice-Mean)>=K And Data0.Q_AskVol>0 And Data1.Q_BidVol>0)
{
Data0.Buy(Lots,Data0.Q_AskPrice);
Data1.SellShort(Lots,Data1.Q_BidPrice);
}
//破下限开仓
If((Data1.Q_AskPrice-Data0.Q_BidPrice-Mean)<=-K And Data0.Q_BidVol>0 And Data1.Q_AskVol>0)
{
Data0.SellShort(Lots,Data0.Q_BidPrice);
Data1.Buy(Lots,Data1.Q_AskPrice);
}
即破上限或下限时,先将持仓全平,再做同样数量的反手。
可是用模拟柜台测试时却出现了同一个合约,如c1801,同时持有多仓和空仓的情况,请问是哪里出了问题,谢谢!(历史回测时无此问题) |
|