设为首页收藏本站

 找回密码
 注册
楼主: 穿堂风
打印 上一主题 下一主题

国外成熟策略R-Breaker分享,提供翻译后的TB源码,日内系统 [复制链接]

Rank: 5Rank: 5

精华
0
UID
15958
积分
1290
帖子
155
主题
22
阅读权限
60
注册时间
2010-9-9
最后登录
2021-1-25
21#
发表于 2011-7-13 12:31:39 |只看该作者
问一个细节性的问题,我想该模型就是利用前天的最高、最低、和收盘来确定今天交易的两个上下限。为啥上下限 ...
selffinder 发表于 2011-7-13 10:28



    算法上可以自己去改,这个系统在SP上很有名,算法是根据SP的特性统计的,生搬可能不好,知道大致原理再引申吧.

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
15958
积分
1290
帖子
155
主题
22
阅读权限
60
注册时间
2010-9-9
最后登录
2021-1-25
22#
发表于 2011-7-13 12:32:50 |只看该作者
顶了再学
谢lz
lz在哪看的策略
cntxp 发表于 2011-7-11 19:38



    群里一个人提供的,他叫来刀刀,我翻成了TB

使用道具 举报

Rank: 1

精华
0
UID
49394
积分
34
帖子
21
主题
0
阅读权限
10
注册时间
2011-6-24
最后登录
2021-3-8
23#
发表于 2011-7-15 16:06:08 |只看该作者
根据R_breaker模型做了些修改,但运行时开仓与我的意思不同,比如很多时候都是在刚开盘就建仓,但我的意思是想当其价格突破前日波动幅度后建仓。不知道程序哪里出了错误。请各路大虾特别是穿堂风帮忙诊断一下。程序如下:
Params
        Numeric PercentOfRange1(0.5);
                Numeric PercentOfRange2(0.4);//突破参数N
        Numeric ExitOnCloseMins(14.45);//平仓时间
        Numeric MinRange(0.004);//最小Range - 0.2%
        Numeric LastTradeMins(14.00);//最后交易时间
        Numeric BeginTradeMins(9.00);
        Numeric Lots(1);
               Numeric reverse(0.01);
               
               
Vars
        NumericSeries DayOpen;
                NumericSeries hightoday;
                NumericSeries lowtoday;
        NumericSeries preDayRange;
                   Numeric MaxProfit;
                Numeric UpperBand1;
                Numeric UpperBand2;
        Numeric LowerBand1;
                Numeric LowerBand2;
        Numeric MyPrice;
             Numeric i_reverse;
               
               
Begin
        i_reverse=reverse*OpenD(0)/100;
                       
               
        If(Date != Date[1])      
                {
                        //startnow=startnow+1;
                                DayOpen = OpenD(0);
                preDayRange = HighD(1) - LowD(1);
                //如果昨日振幅过小,则取设置的最小振幅
                preDayRange = max(preDayRange, DayOpen* MinRange);
                                UpperBand1= DayOpen + preDayRange* PercentOfRange1;
                                UpperBand2= DayOpen + preDayRange* PercentOfRange2;
                            LowerBand1 = Dayopen - preDayRange * PercentOfRange1;
                                LowerBand2 = Dayopen - preDayRange * PercentOfRange2;
                                hightoday=High;
                                lowtoday=low;
        }
                Else
       
        {
        DayOpen=DayOpen[1];
        preDayRange=preDayRange[1];
        If(High>hightoday)
        {
        hightoday=High;
        }
        If(Low<lowtoday)
        {
        lowtoday=low;
        }
               
                        }      
      
        //未开仓时,判断是否需要开仓
        if(MarketPosition == 0){
                //多头开仓
                If(High >= UpperBand1 && Time < LastTradeMins / 100)
                                {
                                         MyPrice= max(UpperBand1 , open);
                        Buy(Lots,MyPrice);
                                       
                                                Return;
                                               
                    
                }
               
                //空头开仓
                If(Low <= LowerBand1 && Time < LastTradeMins/100)
                                {
                        MyPrice=min(LowerBand1,open);
                                                Sellshort(Lots, MyPrice);
                                       
                                                Return;
                     
                                       
                }
                If(hightoday>=UpperBand2 And hightoday<UpperBand1 )
                {
                if(low<=Dayopen+preDayRange* PercentOfRange2*0.618)
                {
                SellShort(1,Dayopen+(UpperBand2-Dayopen)*0.618);
                Return;
                }
                }
                If(lowtoday<=LowerBand2 And LowerBand1<lowtoday )
                {
                if(High>=Dayopen-(Dayopen-LowerBand2)*0.618)
                {
                Buy(1,Dayopen-(Dayopen-LowerBand2)*0.618);
                Return;
                }
                }
                                }
        

        //多头止损
        If(MarketPosition == 1){
              If(EntryPrice-low>=preDayRange*0.618)
                          {                                   
                        Sell(Lots,Min(EntryPrice-preDayRange,low));
                                                Return;
                }
        }

        //空头止损
        If(MarketPosition == -1){               
                If(High-EntryPrice>=preDayRange){
                     
                        BuyToCover(Lots, Max(EntryPrice+preDayRange,High));
                                                Return;
                }
        }
               
               
               
        //收盘平仓
        If(Time >= ExitOnCloseMins / 100){
                Sell(Lots, Close);
                BuyToCover(Lots,Close);
        }
               

     
End

使用道具 举报

Rank: 4

精华
0
UID
14533
积分
403
帖子
73
主题
7
阅读权限
50
注册时间
2010-7-18
最后登录
2017-11-2
24#
发表于 2011-7-17 12:14:07 |只看该作者
最好有注释,照顾下低水平的同学

使用道具 举报

Rank: 4

精华
0
UID
9625
积分
268
帖子
11
主题
4
阅读权限
50
注册时间
2010-5-4
最后登录
2019-3-30
25#
发表于 2011-7-18 10:20:08 |只看该作者
有opend;
这块主要是保持原有系统框架,运行一次也会满足,大于等于2,等于2也成立啊. ...
穿堂风 发表于 2011-7-8 18:15


运行一次startnow的值等于1吧?这时这个条件不满足啊···

使用道具 举报

Rank: 4

精华
0
UID
6842
积分
450
帖子
66
主题
10
阅读权限
50
注册时间
2010-2-2
最后登录
2019-3-30
26#
发表于 2011-7-19 09:21:56 |只看该作者
startnow=startnow+1

使用道具 举报

Rank: 2

精华
0
UID
34474
积分
78
帖子
18
主题
3
阅读权限
30
注册时间
2011-4-21
最后登录
2012-7-31
27#
发表于 2011-8-2 09:08:17 |只看该作者
是个过滤器
activeTrader

使用道具 举报

Rank: 4

精华
0
UID
27396
积分
284
帖子
22
主题
7
阅读权限
50
注册时间
2011-3-3
最后登录
2011-9-25
28#
发表于 2011-8-11 22:37:41 |只看该作者
最好有注释,照顾下低水平的同学
仔细聆听,大自然的声音是如此美妙……

使用道具 举报

Rank: 4

精华
0
UID
27619
积分
307
帖子
45
主题
4
阅读权限
50
注册时间
2011-3-5
最后登录
2013-3-15
29#
发表于 2011-8-12 22:21:41 |只看该作者
唔,先自己研究看看

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
4647
积分
1403
帖子
432
主题
31
阅读权限
60
注册时间
2009-6-16
最后登录
2019-10-27
30#
发表于 2011-8-14 07:20:53 |只看该作者
这个系统本身是用在SP上,多次出现在实盘赛的前列。
我觉得这个系统的构架和思维非常好,直接拿着套国内商品可能表现很差, ...穿堂风 发表于 2011-6-27 16:43


为什么“直接拿着套国内商品可能表现很差”?有人深入探究过吗?
此外,用“区间参数拟合”的办法也许可以做出很好的测试结果,但实战中不可行,有时会输得很惨。
但在SP上有时表现却很好(据楼主介绍),为什么?

使用道具 举报

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

bottom

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

GMT+8, 2024-4-20 11:05

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部