帮忙写个3ATR跟踪止损的指标
20日均线上显示最高价-3*atr,20日均线下显示最低价+3*atr 20日均线上?
20日均线下?
这是什么意思啊? 我猜想您想要的应该是这样的东东。
[attach]626[/attach] 请先新建指标,然后设置为主图显示,并且将两条线设置为线段
代码如下:
[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] [size=5][color=Black]:lol [/color][/size]版主善解人意啊,佩服
呵呵,学习! 谢谢拉,再麻烦一下,麻烦能不能取证,比如上升趋势,价格向下取整,下降趋势,价格向上取整 好东东,atr stop loss 好东西 万分感谢 为什么线段输出了以后,感觉那么直观? 符合条件的显示画线 不符合条件的不显示画线 是不必须用 InvalidNumeric(无效值)这样的方式实现 这个是不是带函数 好东西,正学习呢 //------------------------------------------------------------------------
// 简称: 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]
