设为首页收藏本站

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

波动突破系统,遇到问题,请教大侠们 [复制链接]

Rank: 3Rank: 3

精华
0
UID
52470
积分
182
帖子
91
主题
30
阅读权限
40
注册时间
2011-7-11
最后登录
2014-4-24
跳转到指定楼层
1#
发表于 2012-7-25 23:08:58 |显示全部楼层 |倒序浏览
本帖最后由 skykisser 于 2012-7-25 23:10 编辑

自己写了一个跨周期调用ATR的波动突破系统,遇到两个问题。1,信号消失,不知道哪里写的不对了。2,我的入市信号是,无论市场上涨还是下跌相对于前一天收盘价0.7倍的最近5天的ATR,入市。但是信号出来仔细看了看并不是这样,我用的 highline=CloseD[1]+ATREntryset*ATREntryValue;  Lowline=CloseD[1]-ATREntryset*ATREntryvalue;不知道这样写对不对。

代码如下:
//------------------------------------------------------------------------
// 简称: ATR突破
// 名称:
// 类别: 公式应用
// 类型: 用户应用
// 输出:
//------------------------------------------------------------------------

Params

                             Numeric length1(5);
                Numeric Length2(20);
                Numeric Length3(50);
                             Numeric ATREntrySet(0.7);
                Numeric ATRExitSet(3);
                Numeric offset(3);
                Numeric TimeFrame(1440);
                Numeric BarsBack(1);


Vars

                Numeric Myentryprice;
                Numeric ATRFilterValue;
                            Numeric ATREntryValue;
                Numeric ATRExitValue;
                NumericSeries MtATR;
                Numeric oATRFilter;
                Numeric oATREntry;
                Numeric oATRExit;
                             NumericSeries highline;
                             NumericSeries Lowline;
                Numeric i_offset;

Begin
                i_offset = offset*MinMove*PriceScale;
               
                MtATR(TimeFrame,BarsBack,Length3,oATRFilter);
               
                MtATR(TimeFrame,BarsBack,Length1,oATREntry);
               
                MtATR(TimeFrame,BarsBack,Length2,oATRExit);
               
                ATRFilterValue=oATRFilter;
               
                ATREntryValue=oATREntry;
               
                ATRExitValue=oATRExit;
        
        highline=CloseD[1]+ATREntryset*ATREntryValue;
               
        Lowline=CloseD[1]-ATREntryset*ATREntryvalue;
        
        PlotNumeric("Highline",Highline);
                PlotNumeric("Lowline",Lowline);

                If (MarketPosition == 0 && (ATREntryValue>0.6*ATRFilterValue))
               
                {
                        If(Open>highline)
               
                        {Buy(1, Open+i_offset);
                         Myentryprice = Open;
                        }
                       
        If(Open<Lowline)
               
                        {Sellshort(1, Open-i_offset);
                        Myentryprice = Open;
                       
                        }
                }
               
                If (MarketPosition == 1)
               
                {
                {
                        If(Open<myentryprice-0.5*ATRExitValue)
                        Sell (1, Open+i_offset);
                       
                }
               
                If (MarketPosition == -1)
               
                {
                        If(Open>myentryprice+0.5*ATRExitValue)
                        BuyToCover(1,Open-i_offset);
                }
                }
End
您需要登录后才可以回帖 登录 | 注册

bottom

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

GMT+8, 2024-5-9 05:21

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部