设为首页收藏本站

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

SetTBProfileString使用问题 [复制链接]

Rank: 7Rank: 7Rank: 7

精华
0
UID
7437
积分
2872
帖子
537
主题
133
阅读权限
80
注册时间
2010-3-15
最后登录
2013-11-15
跳转到指定楼层
1#
发表于 2011-2-15 13:40:17 |只看该作者 |倒序浏览
SetTBProfileString数据库记录函数,根据本人使用后的观察验证:该函数只能将公式用于一个商品合约,如:记录开仓价格时,当前一个商品开仓后再次对其它商品进行开仓时,其它商品的开仓价格又把数据库中原有记录覆盖了。该函数在实际中根本不适用。

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20901
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
2#
发表于 2011-2-15 13:45:10 |只看该作者
你其实可以将合约名作为块名,例如
SetTBProfileString(symbol,"变量","值");
这样在不同的合约中插入公式,信息就不会被重写了

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
0
UID
7437
积分
2872
帖子
537
主题
133
阅读权限
80
注册时间
2010-3-15
最后登录
2013-11-15
3#
发表于 2011-2-15 18:26:57 |只看该作者
本帖最后由 欲速不达 于 2011-2-15 18:53 编辑

回复 2# lh948

谢谢!再请教一下!
    1、如果同一公式在同一合约的不同周期上运作,这时合约名是相同的又咋办?我最近为什么想到这个问题上了,主要是因为对同一合约有时我既做日内5分钟周期又想做隔夜60分钟单,想不开多个帐户便于资金调配,就弄出一连串问题,再加上要求日内开仓时不能把隔夜的与开仓方向相反的头寸平掉,所以就必须用A函数开平仓,也就涉及开仓价格和持仓方向等信息记录。
    2、同一公式在不同帐户上涉及同一合约只要周期不同也不能使用,应该这样理解吗?

使用道具 举报

初级大户

公安部御准--超级警察 ...

Rank: 5Rank: 5

精华
0
UID
690
积分
1069
帖子
188
主题
59
阅读权限
60
注册时间
2007-11-6
最后登录
2023-1-26
4#
发表于 2011-2-15 19:31:17 |只看该作者
管理员所建议的使用合约名做块名,只是一种建议。。。。

不是说只能用合约名来做块名

如果是5min周期 橡胶 你就用“ru5min”
如果是60min周期 橡胶 你就用“ru60min”。。。。

所谓块名和键名,你理解为文件夹和文件的概念就可以了。。。。
TBProfile数据库本身就好比一个硬盘;
块就像硬盘上的一个文件夹;
键就是文件夹中的文件;

至于块名和键名,你高兴怎么取就怎么取。。。。只要你能分得清,取成1、2、3、4也是可以的

不要理解的太死板了
我知道。。。。。。我很帅!!

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1307
积分
866
帖子
134
主题
37
阅读权限
60
注册时间
2008-3-11
最后登录
2020-4-26
5#
发表于 2011-2-15 21:13:41 |只看该作者
pKey=FormulaName()+SymbolName()+Text(BarType())+Text(BarInterval());
SetTBProfileString(pKey,pKeyTradCost,Text(0));
解决

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
0
UID
7437
积分
2872
帖子
537
主题
133
阅读权限
80
注册时间
2010-3-15
最后登录
2013-11-15
6#
发表于 2011-2-16 08:25:16 |只看该作者
回复 5# CFXQM


    谢谢5楼!!

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20901
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
7#
发表于 2011-2-16 08:39:43 |只看该作者
回复 3# 欲速不达


    你可以将账户号信息和周期信息加入数据库的索引中

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
0
UID
7437
积分
2872
帖子
537
主题
133
阅读权限
80
注册时间
2010-3-15
最后登录
2013-11-15
8#
发表于 2011-2-16 12:07:52 |只看该作者
回复 7# lh948

根据上面所说将信息分开进行表达出来是基本上解决了,但无法用SetTBProfileString像全局变量那样去记录开平仓状态,用SetTBProfileString记录后由于数据库读写较全局变量延迟而不能即时反应,导致有时无休止地不停的循环开平仓,然而,全局变量记录又不能隔夜,真不知该咋办了?老师们有什么好的解决办法?

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1307
积分
866
帖子
134
主题
37
阅读权限
60
注册时间
2008-3-11
最后登录
2020-4-26
9#
发表于 2011-2-16 13:40:10 |只看该作者
难道你进行的是高频交易?一般来说数据库读写的速度已经可以了,应该在你的程序逻辑上多想想。

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
0
UID
7437
积分
2872
帖子
537
主题
133
阅读权限
80
注册时间
2010-3-15
最后登录
2013-11-15
10#
发表于 2011-2-16 14:05:10 |只看该作者
本帖最后由 欲速不达 于 2011-2-16 14:31 编辑

回复 9# CFXQM


    程序逻辑是没问题的,模型实际运行都一年多了,只不过前面是用全局变量控制在商品上运行,现在我想在股指上同一帐户同一合约的两个周期上运行,为了长短模型平仓上不冲突就想改成数据库控制,这次仅仅只是把全局变量控制改成了数据库控制,通过输出的参数看也完全符合,也不是每次都稀里哗啦地开平仓,只是有时候这样,所以我怀疑应该是数据库的问题,现在又替换回全局变量又没事了。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-9 14:35

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部