设为首页收藏本站

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

【系统CODE】一个可实盘交易的系统 [复制链接]

Rank: 8Rank: 8

精华
0
UID
2659
积分
6468
帖子
459
主题
209
阅读权限
100
注册时间
2008-10-26
最后登录
2009-4-7
跳转到指定楼层
1#
发表于 2009-1-20 10:45:28 |只看该作者 |倒序浏览
maharaj发自海洋论坛
寻TB的编码,现将原贴附上,看大家是否可帮他的忙:

一直做美盘,最近对国内期货有些兴趣,买了些数据来做测试。发现有一个系统在白糖上不错。这个系统是 Michael Chalek 在80 年代开发的 Dual Thrust。基本原理很简单,描述出来如下,这样不懂编程的人都可以明白:

1. 在今天的收盘,计算两个值: 最高价-收盘价, 和 收盘价-最低价。然后取这两个值较大的那个,乘以k值0.7。把结果称为 触发值。

2. 在明天的开盘,记录开盘价,然后在价格超过(开盘+触发值)时马上买入,或者价格低于(开盘-触发值)时马上卖空。

3. 没有明确止损。这个系统是反转系统,也就是说,如果在价格超过(开盘+触发值)时手头有一口空单,则买入两口。同理,如果在价格低于(开盘-触发值)时手上有一口多单,则卖出两口。

我用TradeStation测试的结果如下:

测试条件: 一口合约,已减去交易费用50元
时期: 2006-1-6 (白糖开始交易)至 2009-1-8
交易次数: 249
胜率: 48.59%
平均赢利: 223.17元
最大连亏: 5880 元

这是资金曲线图:


要求不高的话,这已经是一个可以投入实盘交易的系统了。k是唯一的参数,在大范围内变动(0.5-1.1)时,系统赢利都不错。有兴趣的同好可以试验各种滤网,看哪种滤网能显著提高绩效。如果有时间,我会在其他的品种上都测试一下。

因为交易美盘,我没法人工交易国内期货。哪位朋友可以编出TB的代码,或者有自动交易的建议,请告诉我一下。谢谢。

[ 本帖最后由 一朵祥云 于 2009-1-31 22:08 编辑 ]

Rank: 7Rank: 7Rank: 7

精华
1
UID
727
积分
3770
帖子
537
主题
55
阅读权限
80
注册时间
2007-11-11
最后登录
2015-4-8
2#
发表于 2009-1-20 15:29:52 |只看该作者
  1. Params
  2. numeric K(0.7);
  3. Vars
  4. numeric Spreadvalue;
  5. numericseries daynum;
  6. Begin
  7. spreadvalue=max(closed(1)-LowD(1),highd(1)-closed(1));
  8. if(barstatus==0)
  9. {
  10.   daynum=0;
  11. }else if(barstatus==1 and day!=day[1])
  12. {
  13.   daynum=daynum+1;
  14. }Else
  15. {
  16.   daynum=daynum[1];
  17. }
  18. if(daynum>0)
  19.   {
  20.    if(high>opend(0)+K*spreadvalue)
  21.     {
  22.      buy(0,min(opend(0)+K*spreadvalue+2*minmove*pricescale,high));
  23.     }
  24.    if(low<opend(0)-K*spreadvalue)
  25.     {
  26.      sellshort(0,max(opend(0)-k*spreadvalue-2*minmove*pricescale,low));
  27.     }
  28.   }
  29. end
复制代码
已有 2 人评分威望 收起 理由
rypan + 8
tianlan203 + 200 我很赞同

总评分: 威望 + 208   查看全部评分

TradeBlazer交流群33647992。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
1
UID
3343
积分
2805
帖子
139
主题
22
阅读权限
200
注册时间
2009-1-20
最后登录
2019-4-13
3#
发表于 2009-1-20 15:39:13 |只看该作者
感谢孤舟骑浪的分享!大家可以在不同品种和周期上回测一下,发现了什么?

欢迎继续积极讨论完善思路和实现办法!

使用道具 举报

Rank: 8Rank: 8

精华
0
UID
2659
积分
6468
帖子
459
主题
209
阅读权限
100
注册时间
2008-10-26
最后登录
2009-4-7
4#
发表于 2009-1-20 15:58:25 |只看该作者
以下是海洋论坛TTL所发,zzhang朋友编写的TB代码:
原帖及相关讨论可见http://www.hylt.net/vb/showthread.php?t=18385&page=2

Params
Numeric K1(0.5);
Numeric K2(0.5);
Numeric Mday(1);
Numeric lots(1); //交易手数

Vars
Numeric BuyRange(0);
Numeric SellRange(0);
Numeric BuyTrig(0);
Numeric SellTrig(0);
Numeric HH(0);
Numeric LL(0);
Numeric HC(0);
Numeric LC(0);
Begin
HH = Highest(HighD(1),Mday);
HC = Highest(CloseD(1),Mday);
LL = Lowest(LowD(1),Mday);
LC = Lowest(CloseD(1),Mday);

If((HH - LC) >= (HC - LL)) BuyRange = HH - LC;
else BuyRange = HC - LL;

SellRange=BuyRange;

BuyTrig = K1*BuyRange;
SellTrig = K2*SellRange;

If(MarketPosition !=1 && High>=(OpenD(0)+BuyTrig)) Buy(lots,OpenD(0)+BuyTrig); // 多头建仓
If(MarketPosition !=-1 && Low<=(OpenD(0)-SellTrig)) SellShort(lots,OpenD(0)-SellTrig); // 空头建仓

End

[ 本帖最后由 一朵祥云 于 2009-1-20 16:02 编辑 ]

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
1
UID
727
积分
3770
帖子
537
主题
55
阅读权限
80
注册时间
2007-11-11
最后登录
2015-4-8
5#
发表于 2009-1-20 20:06:10 |只看该作者
经过仔细研究,加了一点东西,但感觉还是没什么作用。或许交易的本质就是用非常大的资金,非常小的头寸,非常多的正期望值的系统,分散非常多的市场,最终忽略局部的小得失,而整体上实现了盈利。小资金和单系统,需有很好的运气(技巧性改善,就是要有坚强的耐性,等到连续亏损次数远远大于概率之外时介入,还有一丁点希望)。
  1. Params
  2. numeric K(0.7);
  3. Vars
  4. numeric Spreadvalue;
  5. numericseries daynum;
  6. boolseries btrailing(false);
  7. Begin
  8. btrailing=btrailing[1];
  9. spreadvalue=max(closed(1)-LowD(1),highd(1)-closed(1));
  10. if(barstatus==0)
  11. {
  12.   daynum=0;
  13. }else if(barstatus==1 and day!=day[1])
  14. {
  15.   daynum=daynum+1;
  16. }Else
  17. {
  18.   daynum=daynum[1];
  19. }
  20. if(daynum>0 and spreadvalue>20*minmove*pricescale)
  21.   {
  22.    if(marketposition!=1 and high>opend(0)+K*spreadvalue)
  23.     {
  24.      btrailing=false;
  25.      buy(0,min(opend(0)+K*spreadvalue+2*minmove*pricescale,high));
  26.      setglobalvar(0,opend(0));
  27.      setglobalvar(1,avgentryprice-OpenD(0));
  28.     }
  29.    if(marketposition!=-1 and low<opend(0)-K*spreadvalue)
  30.     {
  31.      btrailing=false;
  32.      sellshort(0,max(opend(0)-k*spreadvalue-2*minmove*pricescale,low));
  33.      setglobalvar(0,opend(0));
  34.      setglobalvar(1,opend(0)-avgentryprice);
  35.     }
  36.   }
  37. if(marketposition==1)
  38.   {
  39.    if(low<getglobalvar(0))
  40.     {
  41.      sell(0,getglobalvar(0)-2*minmove*pricescale);
  42.     }
  43.    if(high>AvgEntryPrice+3*getglobalvar(1))
  44.     {
  45.      btrailing=true;
  46.     }
  47.    if(btrailing==true and low<highest(high,barssinceentry)-2*getglobalvar(1))
  48.     {
  49.      sell(0,max(highest(high,barssinceentry)-2*getglobalvar(1)-2*minmove*pricescale,low));
  50.     }
  51.   }
  52. if(marketposition==-1)
  53.   {
  54.    if(high>getglobalvar(0))
  55.     {
  56.      buytocover(0,getglobalvar(0)+2*minmove*pricescale);
  57.     }
  58.    if(low<AvgEntryPrice-3*getglobalvar(1))
  59.     {
  60.      btrailing=true;
  61.     }
  62.    if(btrailing==true and high>lowest(low,barssinceentry)+2*getglobalvar(1))
  63.     {
  64.      buytocover(0,min(lowest(low,barssinceentry)+2*getglobalvar(1)+2*minmove*pricescale,high));
  65.     }
  66.   }
  67. Commentary("单手亏损量"+text(K*spreadvalue*ContractUnit/pricescale)+"元。");
  68. end
复制代码
TradeBlazer交流群33647992。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
8
UID
2300
积分
66650
帖子
1956
主题
168
阅读权限
200
注册时间
2008-9-8
最后登录
2009-11-11
6#
发表于 2009-1-21 11:48:22 |只看该作者
这个系统就是赌博。国内盘跳空那么大,会被玩死的。其实他是默认,高开一定高走,低开一定低走。 事实是这样吗?

而且还补仓对冲仓位,坦白说,那是玩火。 我认为要充分考虑国内市场的特性

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
8
UID
2300
积分
66650
帖子
1956
主题
168
阅读权限
200
注册时间
2008-9-8
最后登录
2009-11-11
7#
发表于 2009-1-21 11:57:39 |只看该作者
漏洞太多了,仅仅交易方式本身就经不住推敲

使用道具 举报

Rank: 4

精华
0
UID
11941
积分
388
帖子
98
主题
16
阅读权限
50
注册时间
2010-6-10
最后登录
2016-6-12
8#
发表于 2010-8-2 11:47:09 |只看该作者
这个系统就是赌博。国内盘跳空那么大,会被玩死的。其实他是默认,高开一定高走,低开一定低走。 事实是这样吗?

而且还补仓对冲仓位,坦白说,那是玩火。 我认为要充分考虑国内市场的特性 ...
只求薄利 发表于 2009-1-21 11:48



除非连续N天高开低收,或低开高收,否则加仓风险不大。

而且最大的好处在于,只有一个参数。

使用道具 举报

Rank: 4

精华
0
UID
6061
积分
383
帖子
100
主题
17
阅读权限
50
注册时间
2009-12-4
最后登录
2019-3-30
9#
发表于 2010-8-6 16:55:12 |只看该作者
那没有参数岂不是更好?
跳出市场看市场!

使用道具 举报

Rank: 4

精华
0
UID
11941
积分
388
帖子
98
主题
16
阅读权限
50
注册时间
2010-6-10
最后登录
2016-6-12
10#
发表于 2010-8-16 17:02:06 |只看该作者
那没有参数岂不是更好?
xiaocai550 发表于 2010-8-6 16:55


没有参数的能通过测试的系统当然是最好的!

使用道具 举报

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

bottom

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

GMT+8, 2024-5-4 02:31

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部