设为首页收藏本站

 找回密码
 注册
查看: 4161|回复: 8
打印 上一主题 下一主题

Portfolio系列函数到底用于什么? [复制链接]

Rank: 5Rank: 5

精华
0
UID
15203
积分
1411
帖子
397
主题
35
阅读权限
60
注册时间
2010-8-14
最后登录
2017-12-29
跳转到指定楼层
1#
发表于 2013-2-4 10:36:00 |只看该作者 |倒序浏览
以Portfolio_InitCapital为例,起初我以为这个函数返回的是
在“全局交易设置”里面的初始资金,但测试下来不对。

后来我又以为返回的是实际账户里的资金,但今天用模拟
账户测试了一下,也不对。

所以我迷惑了,这组Portfolio函数到底是针对测试的资金还是
针对账户的资金?
知行合一
利润来自追杀

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
2#
发表于 2013-2-4 11:11:18 |只看该作者
是返回图表里全局交易设置的初始资金。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
15203
积分
1411
帖子
397
主题
35
阅读权限
60
注册时间
2010-8-14
最后登录
2017-12-29
3#
发表于 2013-2-4 11:56:40 |只看该作者
小米 发表于 2013-2-4 11:11
是返回图表里全局交易设置的初始资金。

谢谢。但我回测好像不成功啊。如果我在策略里指定了交易的手数,在全局交易设置里又设置了固定1手,策略回测时好像还是按固定1手的,要怎样才能按我指定的手数回测呢?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
4#
发表于 2013-2-4 12:57:02 |只看该作者
flyfish 发表于 2013-2-4 11:56
谢谢。但我回测好像不成功啊。如果我在策略里指定了交易的手数,在全局交易设置里又设置了固定1手,策略 ...

首先按公式里的写的手数来交易。如果公式里写为默认值0,才按全局交易设置的手数来执行。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
15203
积分
1411
帖子
397
主题
35
阅读权限
60
注册时间
2010-8-14
最后登录
2017-12-29
5#
发表于 2013-2-4 14:46:00 |只看该作者
小米 发表于 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);

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
6#
发表于 2013-2-4 15:29:26 |只看该作者
flyfish 发表于 2013-2-4 14:46
貌似还是不行啊。我的代码结构大致如下,请帮忙看看问题出在哪里?现象是回测时并不按计算出的Lots进行买 ...

你可以在条件下使用commentary输出lots看一下其值是多少?会不会是小于1的值的?

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
15203
积分
1411
帖子
397
主题
35
阅读权限
60
注册时间
2010-8-14
最后登录
2017-12-29
7#
发表于 2013-2-4 16:08:14 |只看该作者
小米 发表于 2013-2-4 15:29
你可以在条件下使用commentary输出lots看一下其值是多少?会不会是小于1的值的? ...

我试试,不过正常的话不可能小于1啊,全局设置里起始资金100w。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
8#
发表于 2013-2-4 16:53:12 |只看该作者
flyfish 发表于 2013-2-4 16:08
我试试,不过正常的话不可能小于1啊,全局设置里起始资金100w。

先测试看看吧。。。
因为要执行全局交易设置里的数量,那就是公式里为0时。。
看一下是否Lots的计算结果是零点几的,所以取整为0就显示为设置那边的值了。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
15203
积分
1411
帖子
397
主题
35
阅读权限
60
注册时间
2010-8-14
最后登录
2017-12-29
9#
发表于 2013-2-4 18:20:58 |只看该作者
找到问题了,谢谢小米。

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-12 02:23

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部