开拓者期货期权程序化系统交易论坛

标题: 一个简单的破突系统 [打印本页]

作者: rookies    时间: 2012-7-20 16:59:59     标题: 一个简单的破突系统

本帖最后由 rookies 于 2013-12-20 18:20 编辑


日内加入止损和动态止盈

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
作者: rookies    时间: 2012-7-20 17:02:43

本帖最后由 rookies 于 2013-12-20 18:18 编辑

因为一些原因,源代码删除掉了,其实并不是太好的代码,过于简单。

之后我会分享一些比较有意义的代码和方法,大家敬请关注
作者: rookies    时间: 2012-7-20 17:05:44

本帖最后由 rookies 于 2012-7-21 11:14 编辑

应学友要求    加入反向平仓和二次建仓   RU000 5分测试效果如图,如果做得更细一些的话会有更好的效果  15分上效果更好一些
[attach]9809[/attach]


[attach]9810[/attach]


[attach]9811[/attach]
作者: rookies    时间: 2012-7-20 17:08:32

本帖最后由 rookies 于 2013-12-20 18:19 编辑

因为一些原因,源代码删除掉了,其实并不是太好的代码,过于简单。
作者: tufeiyige    时间: 2012-7-20 17:11:30

呵呵  沙发  刚准备 周末 研究点模型  你就来发了
作者: rookies    时间: 2012-7-20 17:15:46

tufeiyige 发表于 2012-7-20 17:11
呵呵  沙发  刚准备 周末 研究点模型  你就来发了

很老的RageBreak系统,想要提高收益还必须细化
作者: tufeiyige    时间: 2012-7-20 17:20:29

我在看  R-Breaker策略   你现在 发的 RangeBreak系统  
基本原理 以昨日震幅为基础,今日开盘价+N*昨日震幅等于上轨 今日开盘价-昨日震幅*N等于下轨,突破上轨做多突破下轨做空。

等下 把你修改了的加载了 测试下
作者: rookies    时间: 2012-7-20 17:38:31

本帖最后由 rookies 于 2012-7-20 17:40 编辑
tufeiyige 发表于 2012-7-20 17:20
我在看  R-Breaker策略   你现在 发的 RangeBreak系统  
基本原理 以昨日震幅为基础,今日开盘价+N*昨日震 ...


原理是这样的,模型还需要细化,只是因为有人要求,特发一下

R-Breaker也是一个需要细化的系统,如果只是默认原系统盈利还不行
作者: tufeiyige    时间: 2012-7-20 17:41:21

很老的RageBreak系统,想要提高收益还必须细化


我就是 在收集套系统  做细化 目前收集到  R-Breaker的 还有 RangeBreak的  还有 DUAL THRUST 的   还有很多 经典模型 是没有收集到

例如Aberration  Andronmeda Brix  STC 等的 都还没收集到  不知道楼主那里 是否有源码 供参考的

前段时间一直忙别的事情, 准备最近几个月 加大开发力度了
  
作者: ggyyff    时间: 2012-7-20 17:47:01

多谢楼主
作者: rookies    时间: 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


作者: rookies    时间: 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
作者: rookies    时间: 2012-7-20 21:28:20

tufeiyige 发表于 2012-7-20 17:20
我在看  R-Breaker策略   你现在 发的 RangeBreak系统  
基本原理 以昨日震幅为基础,今日开盘价+N*昨日震 ...

重新以隔日来做收益要好一些
作者: 趋势跟踪    时间: 2012-7-21 06:50:10

好贴,顶!
作者: 倔强    时间: 2012-7-21 09:29:10

楼主这个策略以隔夜做 应该怎么写代码?
作者: tufeiyige    时间: 2012-7-21 10:41:59

应学友要求    加入反向平仓和二次建仓   RU000 5分测试效果如图,如果做得更细一些的话会有更好的效果


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

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


作者: rookies    时间: 2012-7-21 10:56:43

倔强 发表于 2012-7-21 09:29
楼主这个策略以隔夜做 应该怎么写代码?

开始写的代码就是隔夜的,日内的有  If(Time>=...代码
作者: rookies    时间: 2012-7-21 11:02:43

没有时间做优化,有需要的朋友自己优化下,跑RU、CU这类趋势性比较强的品种收益还是可以的

测试用的是4%%手续费已经包含滑点
作者: 蛙人    时间: 2012-7-21 23:18:51

谢谢楼主
作者: shufelyc    时间: 2012-8-1 15:03:12

这个是在什么上面做的?
作者: shufelyc    时间: 2012-8-1 15:06:42

这个真好
作者: A.Leng。    时间: 2012-8-8 19:35:00

学习学习~~~
作者: nikko1919    时间: 2012-8-9 01:42:13

支持楼主,支持共享.

作者: 淼淼雨    时间: 2012-8-9 09:48:43

多谢啊,我收益匪浅……
作者: 淼淼雨    时间: 2012-8-9 16:42:48

楼主,”Date!=Date[1]"是什么意思啊?
作者: skykisser    时间: 2012-8-9 21:30:16

谢谢楼主

作者: liuche001    时间: 2012-8-11 10:05:46

楼主是跟穿堂风一样德才兼备的人!
作者: try    时间: 2012-8-14 21:26:07

淼淼雨 发表于 2012-8-9 16:42
楼主,”Date!=Date[1]"是什么意思啊?

“!”是否定的意思。(日期不是前一天)
作者: aeon818    时间: 2012-8-14 23:37:08

有未来函数啊,以买入为例:当前最高价high突破上轨然后以当前K线开盘价open买入.....
作者: rookies    时间: 2012-8-17 20:48:54

本帖最后由 rookies 于 2012-8-17 20:52 编辑
aeon818 发表于 2012-8-14 23:37
有未来函数啊,以买入为例:当前最高价high突破上轨然后以当前K线开盘价open买入..... ...


Hehe,Read again ,Please!      

Buy For Max(Open,UpperBand),Not Open? Ok?





If(High>UpperBand)
{

   Buy(Lots,Max(Open,UpperBand));   

}

Can u see it?
作者: rookies    时间: 2012-8-17 20:49:31

淼淼雨 发表于 2012-8-9 16:42
楼主,”Date!=Date[1]"是什么意思啊?

Date!=Date[1]
是指在日线以下周期当天的第一根Bar
作者: kk031007    时间: 2012-8-18 16:21:02

rookies 发表于 2012-7-20 17:05
应学友要求    加入反向平仓和二次建仓   RU000 5分测试效果如图,如果做得更细一些的话会有更好的效果  15 ...

按照你这个系统,应该5分钟和15分钟效果是一样的哦。。。为什么15分钟效果会更好些呢?求解答。谢谢。
作者: aeon818    时间: 2012-8-20 08:15:48

在实盘时是可行的,但在历史测试中,你用High做判断条件,那么high的含义就是今日最高吧,也是已经走完的了,而后又用开盘价open或上边界upperband买入(历史测试中,几乎很大比例的high都是大于open和upperband的吧)。
因此,实盘无未来函数,历史测试则有未来函数,对否?
作者: rookies    时间: 2012-8-23 08:06:31

aeon818 发表于 2012-8-20 08:15
在实盘时是可行的,但在历史测试中,你用High做判断条件,那么high的含义就是今日最高吧,也是已经走完的了 ...


这关系到对历史的理解问题,从历史角度出发,如果High>UpperBand,你以Open和UpperBand的比值中取大值来进行测试本身是可行的。因为无论从历史还是实盘出发,它都只能表达一个可能即价格大于UpperBand时,以UpperBand和OPen两者之间的高值买入


High>Open,Buy(Lots,Open)与Close>Open  Buy(Lots,Open)是截然不同的,如果不明白的话,可以多看看历史交易回顾
作者: aeon818    时间: 2012-8-23 08:39:32

rookies 发表于 2012-8-23 08:06
这关系到对历史的理解问题,从历史角度出发,如果High>UpperBand,你以Open和UpperBand的比值中取大值来 ...

这不是理解的问题,是测试是否准确的问题。假设上轨是100,当前最高是105,开盘价不管是99还是104,以你的代码测试,测试结果都是不真实滴吧。
当然,实盘是没问题的。
作者: rookies    时间: 2012-8-29 14:14:47

本帖最后由 rookies 于 2012-8-29 14:20 编辑
aeon818 发表于 2012-8-23 08:39
这不是理解的问题,是测试是否准确的问题。假设上轨是100,当前最高是105,开盘价不管是99还是104,以你 ...


任何不基于数据的推论都没有太大的意义

如果测试与实盘不一致,我想我也没必要发在这里

不过还是请用数据说话,谁提出谁举证,如果您真想说明我的测试不准确,请自己测试并给出充分数据。

我说的从历史理解是按程序解读程序的理解,而不是个人单方面的理解!任何代码的执行,首先是看程序怎么执行,也就是程序怎么去理解这段代码,而当无论任何时候程序执行(理解)这段代码时只有唯一的一个结果,也就是这段代码适用于之前或之后(实盘或历史测试)。

而从任何个人的单方面的理解都是不正确的,但您说的“假设上轨是100...”这类才是您单方面的理解,您确又说这不是理解的问题,实在是有点自相矛盾   




如果真要证明是否准确,您跑一下就明白了,到时候您大可用数据说话,数据是100%准确的。

因为这个程序我跑过,所以才和您解释这么多,现在看来是被您击败了。

本贴不再讨论历史测试是否准确的问题。认为不准确又不愿意用哪怕一点点时间测试一下的话,就这么吧。


作者: rookies    时间: 2012-8-29 14:21:07

“假设上轨是100,当前最高是105,开盘价不管是99还是104,以你的代码测试,测试结果都是不真实滴吧。”  真想请您详细说明一下以您的理解,这段代码测试结果 怎么不真实。。。不过反之一想真是有点无趣啊!   



作者: aeon818    时间: 2012-8-29 15:00:05

实在太无语了......程序不是没有跑,更不是说你的代码有多大错误。仅仅是指出了历史测试中的偏差。再次强调:实盘没有任何问题。历史测试绝对有问题~你自己画个上轨,按照你的HIGH>上轨时以open或上轨买入会是什么情况,是不是不真实?以上面的上轨是100的例子,是不是你一买入就获得了6个点或1个点的利润了??不知道你是没有理解我的意思还是什么,我指出的问题是100%存在的。不行找其他人来评判吧
作者: rookies    时间: 2012-8-29 15:46:28

本帖最后由 rookies 于 2012-8-29 15:52 编辑

您花一点点时间跑一下实盘得出结果,然后再用历史测试得出结果,再比较两者不是就都出来了么?与其这里争论不如做点实事。既然您说历史测试绝对有问题,请拿出数据,不要再以您的理解说话,您自己也知道理解是一回事,实际是一回事。

任何人都没有任何义务去向您解释任何您不明白却又不愿意付出一点点努力去弄明白的问题,除了您多多学习自己弄明白。这里没有任何对您的不敬,我很喜欢不同的观点,有句话说得好争论出真知,但如果只是基于妄无的争论是愚味和无趣的。任何真知都是出自于实际的数据,没有实际的数据任何争论都只是为了自己所谓的尊严而进行的辩护而已
作者: alex647l    时间: 2012-8-29 16:24:59

rookies 发表于 2012-8-29 15:46
您花一点点时间跑一下实盘得出结果,然后再用历史测试得出结果,再比较两者不是就都出来了么?与其这里争论 ...

没有实盘,蛋疼的想了想 aeon818 说的情况,历史的时候,开仓价,我说的是开仓那根K线没有走完时的high,虽然用的high是已经走完的high作为判断,但是作为当时high都已经满足条件,之后价格走高更会满足,实盘中,出现了high之后价格也可能会下来一点,只是在一路上涨或下跌的行情上会有不同,导致和实盘的差别。
假设上轨100,high 105,open99,这时候以100开仓了,是的,已经有5个点的利润了,但是实盘的情况就有好几种了,比方说实盘high到达102,就下了一个100开仓的指令,要么滑2个点开了,要么撤单再开,撤单后又分为close低于100开仓成功,和close高于100继续撤单或者滑点开仓。只要在历史测试中加入了滑点,逻辑造成的误差就会明显减小,不知道我的想法诸位同意否
作者: tufeiyige    时间: 2012-8-29 23:23:09

呵呵  上来 随便看了下 就看 有人在较真了,  我看了这段代码  测试和实盘不会有太大误差的, 不信你可以模拟几天看看, 但代码这里 H大于上轨的时候 才触发 在测试的时候下单价格最好用上轨+0.2  实盘就会比较容易成交  和测试更接近   就这点小瑕疵,  没什么问题

我也不知道 ALE  认为 那里出了大问题  呵呵
作者: alex647l    时间: 2012-8-30 08:40:29

我没觉得问题很大。。。只是发表下观点,认为问题大的不是我哎。
作者: stewen.net    时间: 2012-8-30 08:56:33

最大亏损怎么那么大?
作者: rookies    时间: 2012-8-30 14:55:02

本帖最后由 rookies 于 2012-9-6 19:35 编辑
alex647l 发表于 2012-8-29 16:24
没有实盘,蛋疼的想了想 aeon818 说的情况,历史的时候,开仓价,我说的是开仓那根K线没有走完时的high, ...


首先If(High>AnyValue)  Or  If(Close>AnyValue) 是有很大区别的,不要不做深究就妄下定论!

If(High>AnyValue)并不是像某坛友所说偷跑赚钱!   相反的,甚至造成一买入即亏损!

先说说开多的情况,If(High>AnyValue)就能买入即赚钱??
错!!也有买入即亏钱的情况,因为Close已经生成,这时我在用AnyValue在买入。Close<AnyValue则亏钱,Close>AnyValue则赚钱,开空同理

就像我开头所说,High和Close有很大区别,决定是否赚钱的不是High而是Close,混和一谈者好自为之

从TB程序运行的机制来看解释,If(High>AnyVulae)无论实盘还是历史测试都只有一个答案,即BAR中任何时间上的价格突破AnyValue值即触发

举个例子,大家就明白了
In history
多头
Close=100
AnyVluae=110
High=150
Open=80
这根Bar必然触发BuyCondition ,开仓价为110,这时收盘为100,在历史测试中,你是在收盘之后买入,现在你的交易盈亏=Close-开仓价格=100-110=-10点

At Now   
同一根BAR,同样条件,此根Bar是刚刚开盘
Open=80   AnyValue=110

过段时间High=110触发BuyCondition

High最高达到150开始回落最后以100收盘,此BAR结束

你此时收益=Close-建仓价格=100-110=-10

这是亏损例子,盈利例子相信大家可以反推得之

这个例子充分说明在相同条件下,历史测试与实盘的结果一致性,至于个人要理解为不同那仅仅是理解问题罢了。

本来说好不就此问题做过多的“扫盲教育”,说实话这种基础知识讲起来也比较无趣!但Alex647l和tufeiyige两位好友也掺和进来了,就索性当一回小白吧!

最后还要抓住或者没弄懂那句Max(Open,AnyValue)的话,就请您高抬贵手,放过本人吧
作者: rookies    时间: 2012-8-30 14:59:18

stewen.net 发表于 2012-8-30 08:56
最大亏损怎么那么大?

这问题得问上帝
作者: alex647l    时间: 2012-8-30 15:23:49

rookies 发表于 2012-8-30 14:55
首先If(High>AnyValue)  Or  If(Close>AnyValue) 是有很大区别的,不要不做深究就妄下定论!

If(High>An ...

。。。真心不是说有问题的那个意思。。。
我说和实盘有差异是因为开出的仓位价格有可能比实际高或者低,因为实盘发指令的时候价格是会变的,历史不会哎。。。这不能归结到程序的逻辑问题上,我大概就这么个意思
作者: stewen.net    时间: 2012-8-30 15:29:44

rookies 发表于 2012-8-30 14:59
这问题得问上帝

只有上帝知道。
作者: tufeiyige    时间: 2012-8-30 22:14:50

最近 新买了台服务器 在做商品的尝试  , 到时候还的 找你 多搞搞商品的模型哦
作者: tufeiyige    时间: 2012-8-30 22:15:04

最近 新买了台服务器 在做商品的尝试  , 到时候还的 找你 多搞搞商品的模型哦
作者: rookies    时间: 2012-8-30 23:06:45

tufeiyige 发表于 2012-8-30 22:15
最近 新买了台服务器 在做商品的尝试  , 到时候还的 找你 多搞搞商品的模型哦  ...

别买服务器,自己在家架个UPS+双线吧

服务器方面有法律严令禁止做交易,所以在安全方面并没有什么保障,不如自己弄个双线
作者: rookies    时间: 2012-8-30 23:09:08

本帖最后由 rookies 于 2012-8-30 23:23 编辑
alex647l 发表于 2012-8-30 15:23
。。。真心不是说有问题的那个意思。。。
我说和实盘有差异是因为开出的仓位价格有可能比实际高或者低, ...


呵呵,这里没有针对任何人

历史测试与实盘之中如果除开滑点,结果是一致的。如果有滑点的情况,历史测试通常会优于实盘。

如果真要说实盘和历史测试的不同,那就是你说的滑点了。滑点这东西,任何系统都有的,也是一个上帝才能解决的问题,没滑点的市场流动性会很差


作者: rookies    时间: 2012-8-30 23:24:54

我收回针对任何人质疑此程序所发表的言论,我本只想针对事情做解析,不想对任何人施以口舌之能。但却时常因为蒙冤而不能自已,看来还是修行不够,还看不透佛学之中一个“嗔”字!




作者: alex647l    时间: 2012-8-31 09:18:51

rookies 发表于 2012-8-30 23:24
我收回针对任何人质疑此程序所发表的言论,我本只想针对事情做解析,不想对任何人施以口舌之能。但却时常因 ...

大神的境界就是不一样。。。心态好才能做交易啊
作者: stewen.net    时间: 2012-8-31 14:14:53

平常心、包容!
作者: 金融大亨    时间: 2012-8-31 22:52:13

请问楼主大神,这个跟踪止盈的起始点是Takestart吧?为什么默认参数才0.1,这样不是很容易就触发吗?
作者: 倔强    时间: 2012-9-1 08:07:37

实盘中。。。。 亏死偶了,测试时 有的品种不行啊   例如PTA   L 等
作者: 读书山林    时间: 2012-9-2 06:04:38

alex647l  非常蛋疼的问题 竟然需要讨论这么就 真心无语
就是简单的以上下的轨道的价格+上一定的滑点成交 如果开盘跳空突破的话以开盘价成交 实盘和测试都是基本吻合的  滑点的问题不在此讨论之内 完全没有必要认为引用的未来数据 所有的突破系统都是如此写的 high只能往更高,不能退回 退回的是close
可怜的大神发系统总被质疑如此低级的问题
作者: rookies    时间: 2012-9-6 19:24:23

倔强 发表于 2012-9-1 08:07
实盘中。。。。 亏死偶了,测试时 有的品种不行啊   例如PTA   L 等

实盘的话,请加上滑点,不然有可能不能成交,这个是很老的交易系统了,回撤比较大,如果需要减小回撤,建议用第三方数据做滤嘴,以及考虑特殊退出方案

系统是趋势性系统,最近是相对盘整行情,所以回撤相对比较大


作者: rookies    时间: 2012-9-6 19:30:54

本帖最后由 rookies 于 2012-9-6 19:34 编辑
读书山林 发表于 2012-9-2 06:04
alex647l  非常蛋疼的问题 竟然需要讨论这么就 真心无语
就是简单的以上下的轨道的价格+上一定的滑点成交  ...


呵呵,有益的讨论是有必要的,不过两个人基于面子的争论会影响自我内心的平静,也会影响论坛整体的学习气氛,其实主要还是自己因为被质疑而有点失态了。是自己修行不够,欢迎大家多多质疑,想成一个真正意义上的人,必须要允许他人质疑,并在质疑与讨论中进步,保持内心的平静

作者: 读书山林    时间: 2012-9-6 21:44:20

LZ高风亮节
作者: wilsonax    时间: 2012-9-7 08:59:11

必须支持一下楼主
作者: fengyun    时间: 2012-9-16 16:50:52

很好的策略
作者: 多多亮-亮多多    时间: 2012-9-23 22:26:45

本帖最后由 多多亮-亮多多 于 2012-9-23 22:54 编辑

楼主好人 感觉Dual Thrust 和你这策略很相似 是吗?
作者: 倔强    时间: 2012-9-27 21:56:23

rookies 发表于 2012-9-6 19:24
实盘的话,请加上滑点,不然有可能不能成交,这个是很老的交易系统了,回撤比较大,如果需要减小回撤,建 ...

第三方数据做滤嘴是什么意思 可以举个例子吗?
作者: 我们爱科学    时间: 2012-9-30 10:40:49

倔强 发表于 2012-9-27 21:56
第三方数据做滤嘴是什么意思 可以举个例子吗?

第一次发贴。
个人认为,比如资金回撤,比如成交量,比如持仓时间,都属于第三方数据吧。
作者: myangsoft    时间: 2012-10-6 21:23:29

好东西 谢谢分享
作者: JPMorgan    时间: 2012-10-7 13:15:16

谢谢楼主的分享及解答,这是一个很好的思路
作者: CenyLee    时间: 2012-10-8 14:46:22

这里是未来函数的问题。不是滑点的问题。滑点实盘肯定有的,只是多少的问题。假如某根K线波动很大,在一根K线内,它同时突破上下轨,你是开多单还是空单呢?跑测试的话它只会显示最后突破方向的信号,但是实盘的话自然会以第一次突破信号开仓。这样实盘和测试就有出入了。
作者: 股缠者∮    时间: 2012-10-9 23:20:35

太好了!
作者: win5ms    时间: 2012-10-14 23:39:13

盈损收益率降低
作者: zbh0912    时间: 2012-10-15 10:24:12

rookies 发表于 2012-9-6 19:24
实盘的话,请加上滑点,不然有可能不能成交,这个是很老的交易系统了,回撤比较大,如果需要减小回撤,建 ...

rookies老兄,你说的第三方数据做滤嘴,能不能给扫下盲,细说一下,拜谢!
作者: butterfly    时间: 2012-10-15 22:05:10

高手对话。。。
作者: 巴伊老爷-CYY    时间: 2012-11-22 03:15:57

顶,乐于分享
作者: 乌鸦的一生    时间: 2012-12-2 22:55:30

rookies 发表于 2012-8-29 14:14
任何不基于数据的推论都没有太大的意义

如果测试与实盘不一致,我想我也没必要发在这里

问题在于,5分钟的bar很容易出现一根bar直接穿透上下限的情况
作者: eyemooneye    时间: 2012-12-5 16:37:50

好帖要顶
作者: 洪涛股份    时间: 2012-12-5 19:07:02

mark





欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2