设为首页收藏本站

 找回密码
 注册
楼主: rookies
打印 上一主题 下一主题

一个简单的破突系统 [复制链接]

Rank: 5Rank: 5

精华
1
UID
42516
积分
1239
帖子
264
主题
31
阅读权限
60
注册时间
2011-5-25
最后登录
2014-9-23
11#
发表于 2012-7-20 21:08:30 |只看该作者
本帖最后由 rookies 于 2012-7-20 21:27 编辑

日内系统
Params
        Numeric PercentOfRange(0.5);     //突破系数
        Numeric ExitOnCloseMins(14.55);  //最后交易时间
        Numeric MinRange(0.002);   //开盘价的百分比
        Numeric Lots(1);  //开仓量
Vars
        Numeric MyExitPrice;
        Numeric DayOpen;
        Numeric preDayRange;
        Numeric UpperBand;    //上轨
        Numeric LowerBand;   //下轨
        Numeric MyPrice;

Begin

        DayOpen = OpenD(0);
        preDayRange = HighD(1)-LowD(1);                                           //昨日波幅
        PreDayRange = Max(PreDayRange,DayOpen*MinRange);        
        UpperBand = DayOpen+PreDayRange*PercentOfRange;          //求出上轨
        LowerBand = DayOpen-PreDayRange*PercentOfRange;           //求出下轨
        PlotNumeric("UpperBand",UpperBand);
        PlotNumeric("LowerBand",LowerBand);
               
               
       
        If(MarketPosition!=1 && High>=UpperBand && Time<ExitOnCloseMins/100)           //开多条件  价格高于上轨,时间小于0.145500
        {
                        MyPrice = Max(UpperBand,Open);
                        Buy(Lots,MyPrice);
                                Return;
         
        }

        If(MarketPosition!=-1 && Low<=LowerBand &&Time<ExitOnCloseMins/100)
        {
                        MyPrice = Min(LowerBand,Open);
                        SellShort(Lots,MyPrice);
                        Return;
        }


        If(Time==0.145500 && /*CurrentTime>0.145800 &&*/ MarketPosition<>0)  //收盘平仓用于5Min
        {
                Sell(0,Close);
                BuyToCover(0,Close);
       
        }
       
       
End

使用道具 举报

Rank: 5Rank: 5

精华
1
UID
42516
积分
1239
帖子
264
主题
31
阅读权限
60
注册时间
2011-5-25
最后登录
2014-9-23
12#
发表于 2012-7-20 21:18:49 |只看该作者
本帖最后由 rookies 于 2012-7-20 21:27 编辑



日内加入止损和动态止盈

Params
        Numeric PercentOfRange(0.5);
        Numeric ExitOnCloseMins(14.50);
        Numeric MinRange(0.002);
        Numeric Lots(1);
        Numeric StopPointUpper(1);   //多头止损系数
        Numeric StopPointLower(1);   //空头止损系数
        Numeric TakeStart(5);            //动态浮盈系数
        Numeric TakeStop(1);           //动态止损系数

Vars
        Numeric MyExitPrice;
        Numeric DayOpen;
        Numeric preDayRange;
        Numeric UpperBand;
        Numeric LowerBand;
        Numeric MyPrice;
        Numeric StopLine;
        NumericSeries HigherAfterEntry;
        NumericSeries LowerAfterEntry;
Begin

        DayOpen = OpenD(0);
        preDayRange = HighD(1)-LowD(1);
        PreDayRange = Max(PreDayRange,DayOpen*MinRange);
        UpperBand = DayOpen+PreDayRange*PercentOfRange;
        LowerBand = DayOpen-PreDayRange*PercentOfRange;
        PlotNumeric("UpperBand",UpperBand);
        PlotNumeric("LowerBand",LowerBand);
               
               
       
        If(MarketPosition!=1 && High>=UpperBand && Time<ExitOnCloseMins/100)
                {
                        MyPrice = Max(UpperBand,Open);
                        Buy(Lots,MyPrice);
                        Return;
         
                }
        If(MarketPosition!=-1 && Low<=LowerBand &&Time<ExitOnCloseMins/100)
                {
                        MyPrice = Min(LowerBand,Open);
                        SellShort(Lots,MyPrice);
                        Return;
               
                }
        }
                 //动态止损开始
        If(MarketPosition<>0 && BarsSinceEntry==1)
        {
                HigherAfterEntry=AvgEntryPrice;
                LowerAfterEntry=AvgEntryPrice;
        }
        Else If(BarsSinceEntry>1)
        {
                HigherAfterEntry=Max(HigherAfterEntry,High[1]);
                LowerAfterEntry=Min(LowerAfterEntry,Low[1]);
        }

        If(MarketPosition==1)
        {
                If(HigherAfterEntry>=AvgEntryPrice+DayOpen*TakeStart*0.01)
                {
                       
                        StopLine=HigherAfterEntry-DayOpen*TakeStop*0.01;
                                        }
                Else
               
                {
               
                        StopLine=UpperBand-DayOpen*StopPointUpper*0.01;
                                        }
               
                If(Low<=StopLine)
                {
                        MyExitPrice=Min(StopLine,Open);
                        Sell(Lots,MyExitPrice);
                       

                }
       
       
        }
       
       
       
       
        If(MarketPosition==-1)
        {
                If(LowerAfterEntry<=AvgEntryPrice-DayOpen*TakeStart*0.01)
                {
                        StopLine=LowerAfterEntry+DayOpen*TakeStop*0.01;
                                        }
                Else
                {
                        StopLine=LowerBand+DayOpen*StopPointLower*0.01;
                                        }

                If(High>=StopLine)
                {
                        MyExitPrice=Max(StopLine,Open);
                        BuyToCover(Lots,MyExitPrice);
                }
       
        }

        If(Time==0.145500 && /*CurrentTime>0.145800 &&*/ MarketPosition<>0)
        {
                Sell(0,Close);
                BuyToCover(0,Close);
       
        }
       
       

               

               
               


End

使用道具 举报

Rank: 5Rank: 5

精华
1
UID
42516
积分
1239
帖子
264
主题
31
阅读权限
60
注册时间
2011-5-25
最后登录
2014-9-23
13#
发表于 2012-7-20 21:28:20 |只看该作者
tufeiyige 发表于 2012-7-20 17:20
我在看  R-Breaker策略   你现在 发的 RangeBreak系统  
基本原理 以昨日震幅为基础,今日开盘价+N*昨日震 ...

重新以隔日来做收益要好一些

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
12330
积分
838
帖子
254
主题
15
阅读权限
60
注册时间
2010-6-16
最后登录
2017-4-25
14#
发表于 2012-7-21 06:50:10 |只看该作者
好贴,顶!

使用道具 举报

Rank: 2

精华
0
UID
109969
积分
72
帖子
50
主题
6
阅读权限
30
注册时间
2012-4-12
最后登录
2013-1-16
15#
发表于 2012-7-21 09:29:10 |只看该作者
楼主这个策略以隔夜做 应该怎么写代码?

使用道具 举报

Rank: 2

精华
0
UID
110162
积分
103
帖子
75
主题
4
阅读权限
30
注册时间
2012-4-23
最后登录
2013-2-13
16#
发表于 2012-7-21 10:41:59 |只看该作者
应学友要求    加入反向平仓和二次建仓   RU000 5分测试效果如图,如果做得更细一些的话会有更好的效果


看了下 你的测试 RU888  年收益380%  基本就可以直接运用到实盘了,   

只需要 在修改完善下  就可以运用到实盘了,  确实 是不错的策略   我周末 2天  在打算 完善完善   

使用道具 举报

Rank: 5Rank: 5

精华
1
UID
42516
积分
1239
帖子
264
主题
31
阅读权限
60
注册时间
2011-5-25
最后登录
2014-9-23
17#
发表于 2012-7-21 10:56:43 |只看该作者
倔强 发表于 2012-7-21 09:29
楼主这个策略以隔夜做 应该怎么写代码?

开始写的代码就是隔夜的,日内的有  If(Time>=...代码

使用道具 举报

Rank: 5Rank: 5

精华
1
UID
42516
积分
1239
帖子
264
主题
31
阅读权限
60
注册时间
2011-5-25
最后登录
2014-9-23
18#
发表于 2012-7-21 11:02:43 |只看该作者
没有时间做优化,有需要的朋友自己优化下,跑RU、CU这类趋势性比较强的品种收益还是可以的

测试用的是4%%手续费已经包含滑点

使用道具 举报

Rank: 1

精华
0
UID
111063
积分
27
帖子
7
主题
0
阅读权限
10
注册时间
2012-6-19
最后登录
2013-6-9
19#
发表于 2012-7-21 23:18:51 |只看该作者
谢谢楼主

使用道具 举报

Rank: 1

精华
0
UID
98964
积分
43
帖子
25
主题
2
阅读权限
10
注册时间
2012-2-20
最后登录
2012-12-31
20#
发表于 2012-8-1 15:03:12 |只看该作者
这个是在什么上面做的?

使用道具 举报

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

bottom

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

GMT+8, 2024-5-10 18:08

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部