设为首页收藏本站

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

自动换月代码实现问题。 [复制链接]

Rank: 8Rank: 8

精华
1
UID
64747
积分
782
帖子
192
主题
33
阅读权限
200
注册时间
2011-9-10
最后登录
2016-3-22
跳转到指定楼层
1#
发表于 2012-2-9 08:53:45 |只看该作者 |倒序浏览
Data0为TA连续,Data1为TA01合约,Data2为TA05合约,Data3为TA09合约。
用Data0产生交易信号,对应当前主力合约发出委托,代码如下。
  1. Params
  2.         Numeric Lots(1);
  3.         Numeric Slippage(0);
  4.         Numeric Length1(10);
  5.         Numeric Length2(20);
  6.        
  7. Vars
  8.         NumericSeries EMa1;
  9.         NumericSeries EMa2;
  10. Begin
  11.         EMa1=XAverage(Close, Length1);
  12.         EMa2=XAverage(Close, Length2);
  13.         PlotNumeric("EMa1",EMa1);
  14.         PlotNumeric("EMa2",EMa2);
  15.         If(CrossOver(EMa1[1],EMa2[1]))
  16.         {
  17.                 If(Data0.Vol==Data1.Vol)
  18.                 {
  19.                         Data1.Buy(Lots,Data1.Open+Slippage);
  20.                 }
  21.                 If(Data0.Vol==Data2.Vol)
  22.                 {
  23.                         Data2.Buy(Lots,Data2.Open+Slippage);
  24.                 }
  25.                 If(Data0.Vol==Data3.Vol)
  26.                 {
  27.                         Data3.Buy(Lots,Data3.Open+Slippage);
  28.                 }
  29.         }
  30.         If(CrossUnder(EMa1[1],EMa2[1]))
  31.         {
  32.                 If(Data1.MarketPosition==1)
  33.                 {
  34.                         Data1.Sell(Lots,Data1.Open-Slippage);
  35.                 }
  36.                 If(Data2.MarketPosition==1)
  37.                 {
  38.                         Data2.Sell(Lots,Data2.Open-Slippage);
  39.                 }
  40.                 If(Data3.MarketPosition==1)
  41.                 {
  42.                         Data3.Sell(Lots,Data3.Open-Slippage);
  43.                 }
  44.         }

  45. End
复制代码


盘中测试当前主力合约05月份正常开平仓,但09合约每次开仓信号跟随开仓,但不跟随平仓。
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
量化交易群:186100158
QQ:55297268

Rank: 5Rank: 5

精华
1
UID
30159
积分
1116
帖子
280
主题
23
阅读权限
60
注册时间
2011-3-23
最后登录
2019-3-21
2#
发表于 2012-2-9 11:40:59 |只看该作者
好东西必须顶起来

使用道具 举报

Rank: 5Rank: 5

精华
1
UID
30159
积分
1116
帖子
280
主题
23
阅读权限
60
注册时间
2011-3-23
最后登录
2019-3-21
3#
发表于 2012-2-9 11:46:06 |只看该作者
09合约每次开仓信号跟随开仓,这是什么原因呢,不解决还是不能实现自动换月啊

使用道具 举报

Rank: 8Rank: 8

精华
1
UID
64747
积分
782
帖子
192
主题
33
阅读权限
200
注册时间
2011-9-10
最后登录
2016-3-22
4#
发表于 2012-2-10 15:44:16 |只看该作者
等待管理员解释。
量化交易群:186100158
QQ:55297268

使用道具 举报

Rank: 8Rank: 8

精华
1
UID
64747
积分
782
帖子
192
主题
33
阅读权限
200
注册时间
2011-9-10
最后登录
2016-3-22
5#
发表于 2012-2-11 14:30:02 |只看该作者
回复 3# 读书山林
代码写的看上去没有逻辑错误,但是还是出现这种情况,怀疑是TB运行机制导致的,最终解释留给管理员来。

使用道具 举报

Rank: 4

精华
0
UID
23646
积分
442
帖子
64
主题
13
阅读权限
50
注册时间
2011-1-10
最后登录
2014-2-11
6#
发表于 2012-2-12 23:11:44 |只看该作者
用持仓量判断交割会不会好点阿

使用道具 举报

Rank: 9Rank: 9Rank: 9

精华
0
UID
4790
积分
16241
帖子
401
主题
73
阅读权限
150
注册时间
2009-7-5
最后登录
2020-1-2
7#
发表于 2012-2-13 09:03:43 |只看该作者
这种方法感觉不是很可靠,即使实现不是还得更换叠加新的合约吗。我在想,如果把所有商品的主力合约数据的传送方式改为全推,应该可以通过函数后台获取到当前商品的主力合约代码,再通过交易系统直接指定代码下单,应该可以实现无人值守的自动换月吧?

使用道具 举报

Rank: 8Rank: 8

精华
1
UID
64747
积分
782
帖子
192
主题
33
阅读权限
200
注册时间
2011-9-10
最后登录
2016-3-22
8#
发表于 2012-2-13 09:34:35 |只看该作者
回复 7# fybhwsx
这些活应该是TB公司做做吧。

使用道具 举报

Rank: 8Rank: 8

精华
1
UID
64747
积分
782
帖子
192
主题
33
阅读权限
200
注册时间
2011-9-10
最后登录
2016-3-22
9#
发表于 2012-2-13 09:35:36 |只看该作者
回复 6# wanyg
Bar的基本信息中包含有持仓量数据吗?

使用道具 举报

Rank: 8Rank: 8

精华
1
UID
64747
积分
782
帖子
192
主题
33
阅读权限
200
注册时间
2011-9-10
最后登录
2016-3-22
10#
发表于 2012-2-13 09:41:34 |只看该作者
我找到了函数OpenInt;
同时用OpenInt和Vol来判断是否换月可能更精准。其实只用一个来判断就可以了,两个合约交替的时候成交量相等的概率太低了,历史中就没有过。
量化交易群:186100158
QQ:55297268

使用道具 举报

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

bottom

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

GMT+8, 2024-4-20 08:07

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部