开拓者期货期权程序化系统交易论坛

标题: 新增一个函数实现自动换月,真正实现无人值守 [打印本页]

作者: 读书山林    时间: 2012-9-1 16:46:10     标题: 新增一个函数实现自动换月,真正实现无人值守

一个函数实现自动换月,建议新增函数Main用于获得当前bar品种的主力合约代码


tb既然能拼接出主力合约连续数据,说明tb其实是知道连续数据引用的实际合约代码或者数据。
开放一个函数 获得当前连续数据品种所对应的实际合约代码。
这样就可以做到在连续数据上交易主力合约 而且不需要叠加商品,只要在交易代码中做相应控制。

当然如果要做到此点还需要开发在当前图表交易非当前图表合约,其实很简单在交易函数中引入一个参数就是交易的合约代码 默认值为当前图表合约。
说了这么多其实只要tb做到两点
1获得当前主力合约实际代码的函数Main 比如在if888中 我通过函数Main 获得代码 “if1209”
2 在当前图表交易指定合约  比如通过函数Buy(1,open,"if1209")或者Buy(lots,Myprice,Main ),增加一个参数而已;
至于具体怎么换月完全由客户自己在代码中去控制,客户可以设置自己的个性化换月规则,也省的tb出力不讨好,比开发一键换月要容易 毕竟众口难调

有需要此功能的大侠们把此贴顶起
作者: 读书山林    时间: 2012-9-1 16:57:16

自己顶一个 大家把楼盖起来

作者: 天空之城    时间: 2012-9-1 21:50:08

真正无人就算能做到自己也不是很放心,倒是对于中线测略,迟些换月影响也不大,能写出在出现下个信号的时候在新合约上开仓就好了,省去了一笔手续费。
作者: 读书山林    时间: 2012-9-1 22:46:47

你说的问题只要tb完善了我提出的两点 完全不是问题
获得当前主力合约实际代码的函数Main  完全可以做到这点,在开仓代码中永远交易的是主力合约 Buy(lots,Myprice,Main ),平仓代码中平调的自然是当前持有的合约。
作者: 迎风尿十丈    时间: 2012-9-24 22:36:49

顶起
作者: flyfish    时间: 2012-9-25 04:50:42

建议不错,可行性很高
作者: huisee    时间: 2012-9-30 23:30:11

好想法
作者: huisee    时间: 2012-10-3 01:00:54


作者: 千牛發理財工作    时间: 2012-10-14 19:54:38

本帖最后由 千牛發理財工作 于 2012-10-14 19:58 编辑
读书山林 发表于 2012-9-1 16:57
自己顶一个 大家把楼盖起来


请求“读书山林”老师帮个忙,举例来运用:引用跨周期的回溯周期值。

02.// 简称: MTRef
03.// 名称: 跨期求回溯周期
04.// 类别: 用户函数
05.// 类型: 用户函数
06.// 输出: 数值型
07.//------------------------------------------------------------------------
08.
09.Params
10.
11.        NumericSeries BarCnt(0);//目标周期内小周期的bar
12.        Numeric Length(10);// 目标周期下的回溯周期
13.Vars
14.
15.                NumericSeries mtBarCnt(1);
16.
17.        Numeric i;
18.        Numeric j(0);// 与目标周期下的回溯周期 等值的小周期回溯周期值
19.Begin
20.
21.        For i = 1 to Length
22.        {
23.                If (mtBarCnt[j] <> InvalidNumeric)
24.                {
25.
26.                        j = j + BarCnt[j];
27.                }
28.                else Break;
29.        }
30.        Return J;
31.End

作者: wanwan    时间: 2012-11-2 10:22:24

自己来写这个函数呢?
股指换月是固定的时间
商品按照成交量和持仓量来计算
不过这样还是要手动叠加数据来映射。。
作者: 读书山林    时间: 2013-1-11 22:15:33

wanwan 发表于 2012-11-2 10:22
自己来写这个函数呢?
股指换月是固定的时间
商品按照成交量和持仓量来计算

自己没法写的,需要tb放出一些数据 和功能
1连续合约上对应的主力合约代码比如 if888 当前对应的主力是if1301
2 在连续数据上交易主力合约 即在当前图表交易非当前图表合约

作者: 读书山林    时间: 2013-1-11 22:16:56

本帖最后由 读书山林 于 2013-1-11 22:18 编辑

商品是一样的 既然tb能 作出连续数据,当然可以知道当前连续数据是几月份的合约,不过增加一个属性数据
作者: 读书山林    时间: 2013-1-11 22:22:53

希望tb重视用户的需求 ,连个回应都没有
作者: zyxsir    时间: 2013-4-20 21:12:54

ddddd
作者: 大宝天天见68    时间: 2013-4-22 06:00:20

支持!
作者: sunsnake    时间: 2014-1-12 21:41:43

实在的要求,要顶
作者: vividboy    时间: 2014-1-13 14:59:38

交易是一个连续的过程,而合约却有期限限制。
如何平衡这两者的矛盾,我支持lz 的建议。
作者: wfwf1977    时间: 2014-1-23 04:00:12

这个必须有
作者: jesonli20    时间: 2014-3-3 23:28:39

支持
作者: cf_660169    时间: 2015-3-25 09:43:48

支持
作者: 读书山林    时间: 2015-4-3 18:50:57

这么好的建议应该采纳 ,指数测试数据太失真,连续合约的每个bar有对应的主力合约代码,这样可从连续合约上获得换合约的时间,对中长线测试会准确很多
作者: 读书山林    时间: 2015-4-3 19:05:14



文华的效果图
tb v5可以查取最新的主力合约代码,有进步,希望每一个bar可以有一个对应的数据

作者: faruto    时间: 2015-4-3 21:06:54

强烈支持。
作者: gghhgg    时间: 2015-4-5 17:19:11

TB 超级图表的愚蠢设计,想实现自动换月,是非常非常不容易的。
作者: cf_660169    时间: 2015-4-17 15:40:16

总结了下要实现楼主的自动换月需要做到一下几点 ,感觉技术上不是很困难

1 用户可在代码中调用指定合约数据 (换月发生后不急于移仓,可继续获取老合约的数据)
2 用户可在代码中交易指定合约       (这样就可以在连续上合约上交易了)
3 连续合约bar上对应的主力合约代码(为了获取换月的时点)



作者: luxiaoguang    时间: 2015-9-20 16:11:25

坚决支持,不知道MC有否此功能?
作者: topgun0791    时间: 2016-7-28 16:24:00

这么好的建议应该采纳 ,指数测试数据太失真,连续合约的每个bar有对应的主力合约代码,这样可从连续合约上获得换合约的时间,对中长线测试会准确很多
作者: TB20140603    时间: 2017-1-18 16:52:55

指数,连续,对于期货纯属扯淡的东西,真想连续,就去玩儿股票好了。弄他妈一堆自欺欺人的连续图好看吗?楼主建议很好,但估计TB要从架构上从新设计了。现在创建图表必须指定合约代码,创建之前还要去用文华或其它软件查找主力合约代码,这就是个笑话!!好多年了,哈哈。如果改成输入商品代码,图表直接显示当前主力合约,这样用户直接加载策略就可以交易了!如果图表主力合约已经换月,持仓还是老主力合约,直接跟随图表平仓换月。或许牵一发而动全身TB会辛苦些,但TB现在的操作真心复杂了。吐槽一下极速版,不过就是照葫芦画了个新瓢而已。。改进有限。操作一样复杂不人性化。
作者: TB20140603    时间: 2017-1-18 17:14:29

建议TB默认页面直接显示主力合约排名,双[attach]35049[/attach]击直接打开K线图,用户直接加载策略就可以交易,多省事啊。极速版弄一堆方块菜单,很好看吗?
作者: bigzhang    时间: 2017-1-26 13:54:27

貌似5年了,这个功能还是没有实现。。。。
作者: TBzhanghu888    时间: 2018-7-29 17:06:43

TB是想把我们都弄成程序猿
作者: BMW888    时间: 2018-7-29 17:31:00

顶一个
作者: cjjjskt    时间: 2018-12-5 10:24:41

现在应该有这函数了吧
作者: alang2005    时间: 2018-12-27 13:02:57

不知道现在实现了没有?
作者: stoune    时间: 2019-3-21 17:05:22

都多少年了tb还没解决这问题,楼主想法和我一样!
作者: SPH9926    时间: 2019-5-31 10:38:51

刚看到这帖,12年到现在,7年,TB怎么连个回复都没有,这不是能力问题,这是态度问题

作者: hlp0410    时间: 2019-5-31 17:07:37

SPH9926 发表于 2019-5-31 10:38
刚看到这帖,12年到现在,7年,TB怎么连个回复都没有,这不是能力问题,这是态度问题
...

图表上指数映射到主力合约的,主力更换后能自动映射到新主力上
账户中如果有旧主力持仓的需要自己手工切换,或者利用监控器查询到不匹配之后进行一键同步
作者: TB20140603    时间: 2019-6-9 08:52:03

SPH9926 发表于 2019-5-31 10:38
刚看到这帖,12年到现在,7年,TB怎么连个回复都没有,这不是能力问题,这是态度问题
...

不光是态度问题,真的很怀疑是他们能力有限,交易中很重要的开仓均价函数都搞不定。推卸责任说是结算方式问题。结算方式导致原始开仓价格消失?如果没有其它软件,俺就真信了,呵呵。。
作者: TB20140603    时间: 2019-6-9 08:54:03

hlp0410 发表于 2019-5-31 17:07
图表上指数映射到主力合约的,主力更换后能自动映射到新主力上
账户中如果有旧主力持仓的需要自己手工切 ...

需要手工切换,也叫自动换月?映射好用的话,用户还反映个鸟儿?




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2