系统交易论坛 - 开拓者期货自动交易平台's Archiver

losszs 发表于 2008-3-19 16:45

帮忙写个3ATR跟踪止损的指标

20日均线上显示最高价-3*atr,
20日均线下显示最低价+3*atr

海阔天空 发表于 2008-3-19 18:44

20日均线上?
20日均线下?
这是什么意思啊?

tradeblazer 发表于 2008-3-19 19:58

我猜想您想要的应该是这样的东东。
[attach]626[/attach]

tradeblazer 发表于 2008-3-19 20:00

请先新建指标,然后设置为主图显示,并且将两条线设置为线段
代码如下:
[code]
//------------------------------------------------------------------------
// 简称: MAATR
// 名称: MAATR
// 类别: 技术指标
// 类型: 其它类
// 输出:
//------------------------------------------------------------------------

Params
        Numeric length(20);
        Numeric atrSet(3);
Vars
        NumericSeries AvgValue;
        Numeric ATRValue;
        NumericSeries MyTrend(0);
        NumericSeries MyHigher;
        NumericSeries MyLower;
Begin
        If(BarStatus == 0)
        {
                MyTrend = 0;
                MyHigher = InvalidNumeric;
                MyLower = InvalidNumeric;
        }Else
        {
                MyTrend = MyTrend[1];
                If(MyHigher!=InvalidNumeric)
                        MyHigher = max(high,MyHigher[1]);       
                If(MyLower!=InvalidNumeric)
                        MyLower = min(Low,MyLower[1]);       
        }

        AvgValue = AverageFC(Close,Length);
        ATRValue = AvgTrueRange(Length);
        If(CrossOver(Close,AvgValue))
        {
                MyTrend = 1;
                MyHigher = High;
                MyLower         = InvalidNumeric;
        }
       
        If(CrossUnder(Close,AvgValue))
        {
                MyTrend = -1;
                MyHigher = InvalidNumeric;
                MyLower = Low;
        }

        If(MyTrend==1)
        {
                PlotNumeric("StopLong",MyHigher-atrSet*ATRValue);
        }Else If(MyTrend==-1)
        {
                PlotNumeric("StopShort",MyLower+atrSet*ATRValue);
        }
End

//------------------------------------------------------------------------
// 编译版本        GS2004.06.12
// 用户版本        2008/03/19 19:40
// 版权所有        tradeblazer
// 更改声明        TradeBlazer Software保留对TradeBlazer平台
//                        每一版本的TrabeBlazer公式修改和重写的权利
//------------------------------------------------------------------------
[/code]

海阔天空 发表于 2008-3-19 21:34

[size=5][color=Black]:lol [/color][/size]版主善解人意啊,佩服
呵呵,学习!

losszs 发表于 2008-3-20 11:00

谢谢拉,再麻烦一下,麻烦能不能取证,比如上升趋势,价格向下取整,下降趋势,价格向上取整

win5ms 发表于 2010-7-27 18:01

好东东,atr stop loss

speed_fj 发表于 2010-7-28 12:28

好东西 万分感谢

paozi84 发表于 2010-8-1 13:41

为什么线段输出了以后,感觉那么直观?

旅行者 发表于 2011-5-30 08:45

符合条件的显示画线 不符合条件的不显示画线 是不必须用 InvalidNumeric(无效值)这样的方式实现

红永 发表于 2011-6-2 23:13

这个是不是带函数

yaojb72 发表于 2011-6-5 15:03

好东西,正学习呢

hal5667 发表于 2011-6-5 16:36

//------------------------------------------------------------------------
// 简称: Ma_ATR
// 名称:
// 类别: 公式应用
// 类型: 用户应用
// 输出:
//------------------------------------------------------------------------

Params

        Numeric length(20);

        Numeric atrSet(3);

Vars

        NumericSeries AvgValue;

        Numeric ATRValue;

        NumericSeries MyTrend(0);

        NumericSeries highline;

        NumericSeries Lowline;
               
                NumericSeries fs;

Begin
    ATRValue=AvgTrueRange(Length);
       
        AvgValue=AverageFC(C,Length);
       
        highline=AvgValue+atrset*ATRValue;
        Lowline=AvgValue-atrset*ATRValue;
       
       

        If(Close>highline[1])
          {MyTrend=Lowline;
           fs=1;}

        If(Close<Lowline[1])
          {MyTrend=highline;
          fs=-1;}
       
   If(fs==1){          
          PlotNumeric("1",Lowline,0,Red);
          }
        If(fs==-1){          
          PlotNumeric("1",highline,0,Green);
          }
          
          Commentary(Text(fs));
          
   If(fs==1)
     {Buy(0,0);
           BuyToCover(0,0);}
        If(fs==-1)
          {Sell(0,0);
          SellShort(0,0);}
End


//------------------------------------------------------------------------
// 编译版本        GS2010.12.08
// 用户版本        2011/06/05 15:57
// 版权所有        hal5667
// 更改声明        TradeBlazer Software保留对TradeBlazer平台
//                        每一版本的TrabeBlazer公式修改和重写的权利
//------------------------------------------------------------------------

写成交易系统,效果一般;不过用来确定大方向可能还不错;

我写得比较简单点;

页: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.