以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://weistock.com/bbs/list.asp?boardid=2) ---- 分享一些自动切换交易合约的代码,同时让专家们看看有没有问题 (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=50794) |
-- 作者:klc -- 发布时间:2013/4/8 17:24:27 -- 分享一些自动切换交易合约的代码,同时让专家们看看有没有问题 VBA部分(自定义函数):
Function GotoCode(Formula,X) End Function
Perl公式代码部分: yuefen:=month(); //12月交易1月合约,1月交易2月合约,2月交易3月合约,依此类推
以下为具体交易代码,但注意开仓的条件中,一定加入isjyhy这个条件,省略代码
问专家:我想只有无持仓的情况下,才切换,否则等平仓信号才切换,由于我的策略不可能出现持仓10日以上,因此交易次月合约的情况下不可能到交割日还不平仓。当THOLDING=0 and HOLDING=0才切换,我同时用了虚拟持仓和实际持仓,为的是避免图表上出现平仓信号,HOLDING已经是0的时候,由于执行平仓需要一个过程(例如走完K线才平仓),再加上平仓委托不一定就成交,所以我想可能THOLDING还未必是0。这样用应该没问题吧
以上逻辑就是:当图表和实际持仓均空仓的时候,检查当前交易合约的代码,如果不是次月合约,就调用GotoCode的自定义函数切换到次月合约
这里还有一个问题,就是如果平仓并反手,能不能保证平仓后,切换到新品种,再反手(走完K线的情况下,实际上两个信号是接连出线的,因为还没遇到,所以不知道实际怎么样) [此贴子已经被作者于2013-4-8 17:26:14编辑过]
|
-- 作者:王锋 -- 发布时间:2013/4/8 17:29:17 -- 很多的公式逻辑问题,只能是你自己多尝试才能知道结果了。 推荐你看看通过日志的方法,这种方法不仅可以调试你的代码,也可以了解一些金字塔的工作机理。
http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=49428 |
-- 作者:klc -- 发布时间:2013/4/8 17:33:10 -- 日志我打开了,因为新策略上线,这是必须的,但总不能代码写得一塌糊涂就拿真金白银去试 |
-- 作者:王锋 -- 发布时间:2013/4/8 22:07:08 -- 我给你的帖子链接不知道你是否有耐心的看过。 不仅仅是系统自带的日志,你的程序代码中的日志记录同样重要 |
-- 作者:klc -- 发布时间:2013/4/9 9:11:24 -- 好了,知道了 |