- 精华
- 0
- 在线时间
- 743 小时
- UID
- 15203
- 积分
- 1411
- 帖子
- 397
- 阅读权限
- 60
- 注册时间
- 2010-8-14
- 最后登录
- 2017-12-29
- 精华
- 0
- UID
- 15203
- 积分
- 1411
- 帖子
- 397
- 主题
- 35
- 阅读权限
- 60
- 注册时间
- 2010-8-14
- 最后登录
- 2017-12-29
|
小米 发表于 2013-2-4 12:57
首先按公式里的写的手数来交易。如果公式里写为默认值0,才按全局交易设置的手数来执行。 ...
貌似还是不行啊。我的代码结构大致如下,请帮忙看看问题出在哪里?现象是回测时并不按计算出的Lots进行买卖,而是按全局交易设置里的设置进行买卖。
if(date <> date[1]) //每天的第一个bar
{
Lots=IntPart(Portfolio_CurrentCapital/300000); //计算可交易手数
if(Lots > getglobalvar(1)) //本日可交易手数大于上一次的计算结果
setglobalvar(1, Lots);
...
}
if(currentbar ==0) //起始BAR
{
Lots = IntPart(Portfolio_InitCapital/300000); //计算可交易手数,为起始资金/30万
setglobalvar(1, Lots); //将手数记入全局变量
...
}
if(做多条件)
buy(Lots, price);
if(做空条件)
sellshort(Lots, price);
|
|