设为首页收藏本站

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

发个系统,提供源码,效果还可以 [复制链接]

Rank: 5Rank: 5

精华
0
UID
15958
积分
1290
帖子
155
主题
22
阅读权限
60
注册时间
2010-9-9
最后登录
2021-1-25
跳转到指定楼层
1#
发表于 2011-6-16 12:38:26 |显示全部楼层 |倒序浏览
本帖最后由 穿堂风 于 2011-6-16 18:17 编辑

默认参数,试了下两个品种RB,SR,还可以,有细推敲的潜力。
SR


RB

附件: 你需要登录才可以下载或查看附件。没有帐号?注册
已有 1 人评分威望 收起 理由
leungyu + 1

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

我一生在纸上,被风吹乱

Rank: 5Rank: 5

精华
0
UID
15958
积分
1290
帖子
155
主题
22
阅读权限
60
注册时间
2010-9-9
最后登录
2021-1-25
2#
发表于 2011-6-16 12:40:27 |显示全部楼层
详细测试大家可以去试试
  1. //------------------------------------------------------------------------
  2. // 简称:
  3. // 名称:
  4. // 类别: 公式应用
  5. // 类型: 用户应用
  6. // 作者: 穿堂风
  7. // 输出: 2011.06.16
  8. //------------------------------------------------------------------------

  9. Params
  10. Numeric EntryStop(0.5);
  11. Numeric stop(0.5);
  12. Numeric malen(60);
  13. Vars
  14. Numeric ma;

  15. Begin
  16. ma = Average(open,malen);
  17. if(CurrentBar > malen)
  18. {
  19.         if(MarketPosition == 0)
  20.         {
  21.                 if(Open >= ma)
  22.                 {
  23.                         if(high/open >= 1+EntryStop/100)
  24.                         {
  25.                                 Buy(1,open*(1+EntryStop/100));
  26.                                 Return;
  27.                         }
  28.                 }
  29.                 Else
  30.                 {
  31.                         if(low/open <= 1-EntryStop/100)
  32.                         {
  33.                                 SellShort(1,open*(1-EntryStop/100));
  34.                                 Return;
  35.                         }
  36.                 }
  37.         }

  38.         if(MarketPosition == 1)
  39.         {
  40.                 if(low/open <= 1-stop/100)
  41.                 {
  42.                         sell(1,open*(1-stop/100));
  43.                         Return;
  44.                 }
  45.         }

  46.         if(MarketPosition == -1)
  47.         {
  48.                 if(High/open >= 1+stop/100)
  49.                 {
  50.                         BuyToCover(1,open*(1+stop/100));
  51.                         Return;
  52.                 }
  53.         }
  54. }
  55. End
复制代码
我一生在纸上,被风吹乱

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
15958
积分
1290
帖子
155
主题
22
阅读权限
60
注册时间
2010-9-9
最后登录
2021-1-25
3#
发表于 2011-6-16 20:20:56 |显示全部楼层
V2版,没有过度优化参数,只是引入资金管理和风险控制。
感觉提升空间不是很大
RB

SR
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
我一生在纸上,被风吹乱

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
15958
积分
1290
帖子
155
主题
22
阅读权限
60
注册时间
2010-9-9
最后登录
2021-1-25
4#
发表于 2011-6-17 13:29:25 |显示全部楼层
回复  穿堂风

该系统测试结果不真实,会有在同一bar上出现既开多又开空还平仓的条件同时满足的情况出现, ...
欲速不达 发表于 2011-6-16 22:58



    我只能说你没认真看代码,请仔细看。
一个bar上只会有一个动作,要么开仓,要么平仓;
一个bar上只会有一个方向的动作,open一出来就注定了只能开多或开空;

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
15958
积分
1290
帖子
155
主题
22
阅读权限
60
注册时间
2010-9-9
最后登录
2021-1-25
5#
发表于 2011-6-17 15:44:44 |显示全部楼层
本帖最后由 穿堂风 于 2011-6-17 15:47 编辑

根据升级后的V2改装了一个日内系统
同样使用RB,SR测试,默认参数,未作优化
RB

SR
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
我一生在纸上,被风吹乱

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
15958
积分
1290
帖子
155
主题
22
阅读权限
60
注册时间
2010-9-9
最后登录
2021-1-25
6#
发表于 2011-6-17 16:38:07 |显示全部楼层
回复  穿堂风

你实际运行后就知道了
欲速不达 发表于 2011-6-17 15:58



     代码就这几行,我实在看不出来
如果空仓,因为又if(Open >= ma)这样的条件限定,它只会开一个方向的仓,不会出现又满足开多,又满足开空,无法区分先后的问题,限定方向达到开仓要求即开仓,另一个方向就算达到要求也不会开仓,会被过滤掉,而且ma也是以open来计算的,不会闪烁
一个bar上边,不管是开还是平,只会发生一个动作,然后被return,根本不会在一个bar上边开仓后,又需要平仓,也不会平仓后在一个bar上又想开仓。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
15958
积分
1290
帖子
155
主题
22
阅读权限
60
注册时间
2010-9-9
最后登录
2021-1-25
7#
发表于 2011-6-17 16:48:35 |显示全部楼层
回复  穿堂风

你实际运行后就知道了
欲速不达 发表于 2011-6-17 15:58



    光从代码逻辑上我确实没看出来。
如果V4会有这方面的问题,那我就不知道了,这个系统我不会去用,所以也不想去实际跑
发给大家参考,或许能多个思路

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
15958
积分
1290
帖子
155
主题
22
阅读权限
60
注册时间
2010-9-9
最后登录
2021-1-25
8#
发表于 2011-6-21 08:55:00 |显示全部楼层
开平仓要用最高最低价判断,这里有未来数据的成份。
如:if(high/open >= 1+EntryStop/100)
在K线未走完时 ...
cym138 发表于 2011-6-20 21:39



    晕死了,这样做正是解决未来数据的
在一个bar上,high只会越来越高,当high收盘达到了条件,盘中肯定已经达到过条件
很多系统都会牵扯到high和low的这种写法,老兄09年注册的,挺奇怪

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
15958
积分
1290
帖子
155
主题
22
阅读权限
60
注册时间
2010-9-9
最后登录
2021-1-25
9#
发表于 2011-6-21 12:44:39 |显示全部楼层
回复  穿堂风


但等K线走完时high/open 与已触发下单价是会有差别。
cym138 发表于 2011-6-21 09:26



    恩,是会变,但不会影响它曾经到过那个点位,只要它曾经到过那个点位,就会触发成交,跟它走完时收盘价是没关系的,成交价当然是第一次到达那个点位时成交,以致后来到底行情会怎样,那是不知道的。实盘时也是这样,只要它曾经到过那个点位,肯定会发生交易。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
15958
积分
1290
帖子
155
主题
22
阅读权限
60
注册时间
2010-9-9
最后登录
2021-1-25
10#
发表于 2011-6-21 19:35:13 |显示全部楼层
这个系统如果用历史数据测试会有较大出入。
历史数据测试时:
多头开仓,开仓价其实一般都会比真正第一次的 ...
cym138 发表于 2011-6-21 16:41



    恩,是的,历史回测只是验证模型是否有可操作性,要实盘操作,还要分析很多东西,因为历史测试是以历史行情来附和现有模型。
另外,你说的其实是滑点问题,这个大家都知道的,在实盘前要做一个压力测试,双倍手续费,滑点设置为2,4……都试试,如果还表现的很健壮,又无未来数据,才可以实盘试水

使用道具 举报

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

bottom

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

GMT+8, 2024-5-10 03:20

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部