- 精华
- 1
- 在线时间
- 212 小时
- UID
- 64747
- 积分
- 782
- 帖子
- 192
- 阅读权限
- 200
- 注册时间
- 2011-9-10
- 最后登录
- 2016-3-22
- 精华
- 1
- UID
- 64747
- 积分
- 782
- 帖子
- 192
- 主题
- 33
- 阅读权限
- 200
- 注册时间
- 2011-9-10
- 最后登录
- 2016-3-22
|
1.商品期货SR\CU\TA等品种的09月合约历史数据不足,最早只到2011年1月19日左右,导致连续合约888并没有介绍中的连续。
2.建议可以通过连续合约产生信号在当前主力合约发出委托,省的用户自己写代码,而且我写的代码还可能存在问题。如果TB当前版本还没有此功能,请问我们自己改如何写代码才能实现自动换月。
以下是我写的在TA中自动换月的代码。- Params
- Numeric Length1(5);
- Numeric Length2(10);
- Numeric Lots(1);
-
- Vars
- NumericSeries EMa1;
- NumericSeries EMa2;
- Begin
- EMa1=XAverage(Close[1], Length1);
- EMa2=XAverage(Close[1], Length2);
- PlotNumeric("EMa1",EMa1);
- PlotNumeric("EMa2",EMa2);
- If(CrossOver(EMa1,EMa2))
- {
- If(Data0.Vol==Data1.Vol)
- {
- Data1.Buy(Lots,Data1.Open);
- }
- If(Data0.Vol==Data2.Vol)
- {
- Data2.Buy(Lots,Data2.Open);
- }
- If(Data0.Vol==Data3.Vol)
- {
- Data3.Buy(Lots,Data3.Open);
- }
- }
- If(CrossUnder(EMa1,EMa2))
- {
- If(Data1.MarketPosition==1)
- {
- Data1.Sell(Lots,Data1.Open);
- }
- If(Data2.MarketPosition==1)
- {
- Data2.Sell(Lots,Data2.Open);
- }
- If(Data3.MarketPosition==1)
- {
- Data3.Sell(Lots,Data3.Open);
- }
- }
- End
复制代码 |
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
|