- 精华
- 0
- 在线时间
- 52 小时
- UID
- 83507
- 积分
- 207
- 帖子
- 74
- 阅读权限
- 40
- 注册时间
- 2011-12-1
- 最后登录
- 2014-2-21
- 精华
- 0
- UID
- 83507
- 积分
- 207
- 帖子
- 74
- 主题
- 22
- 阅读权限
- 40
- 注册时间
- 2011-12-1
- 最后登录
- 2014-2-21
|
If((A_TotalPosition!=InvalidNumeric && A_TotalPosition!=0) || MarketPosition!=0) //如果有持仓先进行平仓
{
If(A_TotalPosition!=InvalidNumeric && A_TotalPosition!=0)
{
buyPosition = A_BuyPosition();
sellPosition = A_SellPosition();
cangWei = A_TotalPosition();
}
Else If(MarketPosition!=0)
{
buyPosition = CurrentContracts;
sellPosition = Abs(CurrentContracts);
cangWei = MarketPosition();
}
If(sellCon && cangWei>0)
{
Sell(buyPosition,Open-offSet*MinPoint);
flag = -1;
}
If(buyCon && cangWei<0)
{
BuyToCover(sellPosition,Open+offSet*MinPoint);
flag = 1;
}
}
If((A_TotalPosition!=InvalidNumeric && A_TotalPosition!=0) || MarketPosition==0)
{
If(A_FreeMargin != InvalidNumeric) //计算实盘和模拟盘的头寸大小
{
freeMoney = A_FreeMargin();
}
Else
{
freeMoney = Portfolio_CurrentCapital();
}
lots = IntPart(freeMoney*ZiJin/(0.15*ContractUnit*CloseD(1)));
If(lots>=300) lots=300;
If(buyCon && flag!=-1)
{
Buy(lots,Open+offSet*MinPoint);
}
If(sellCon && flag!=1)
{
SellShort(lots,Open-offSet*MinPoint);
}
我扔服务器上连续运行了了几天结果是:买开46手,买平33,卖开32买平31。奇怪了
我于昨晚上关闭重开了TB。然后早晨的结果更怪异,直接不平仓直接开仓。我这个代码我看了几遍都没看出所以然来。而且历史回溯也一切正常。 |
|