设为首页收藏本站

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

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

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: 8Rank: 8

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

使用道具 举报

Rank: 8Rank: 8

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

使用道具 举报

Rank: 8Rank: 8

精华
1
UID
64747
积分
782
帖子
192
主题
33
阅读权限
200
注册时间
2011-9-10
最后登录
2016-3-22
7#
发表于 2012-2-17 09:19:27 |显示全部楼层
回复 12# fybhwsx
有道理

使用道具 举报

Rank: 8Rank: 8

精华
1
UID
64747
积分
782
帖子
192
主题
33
阅读权限
200
注册时间
2011-9-10
最后登录
2016-3-22
8#
发表于 2012-4-12 15:20:18 |显示全部楼层
代码未作任何修改,在4.2.5版本中做回测,达到理想效果,实盘表现还未知。

使用道具 举报

Rank: 8Rank: 8

精华
1
UID
64747
积分
782
帖子
192
主题
33
阅读权限
200
注册时间
2011-9-10
最后登录
2016-3-22
9#
发表于 2012-7-27 14:04:02 |显示全部楼层
有好方法,欢迎来晒一晒

使用道具 举报

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

bottom

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

GMT+8, 2024-5-3 12:08

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部