- 精华
- 0
- 在线时间
- 68 小时
- UID
- 2338
- 积分
- 62
- 帖子
- 29
- 阅读权限
- 30
- 注册时间
- 2008-9-13
- 最后登录
- 2021-8-31
- 精华
- 0
- UID
- 2338
- 积分
- 62
- 帖子
- 29
- 主题
- 7
- 阅读权限
- 30
- 注册时间
- 2008-9-13
- 最后登录
- 2021-8-31
|
//------------------------------------------------------------------------
// 简称: ZigZag
// 名称: 之字转向
// 类别: 公式应用
// 类型: 内建应用
//------------------------------------------------------------------------
Params
Numeric RetracePct(2);
Vars
NumericSeries SwingPrice;
Numeric SwingHighPrice;
Numeric SwingLowPrice;
NumericSeries PreBar(0);
NumericSeries UpDn(0);
Bool SaveSwing(False);
Bool NewTL(False);
Bool UpdateTL(False);
begin
If(CurrentBar == 0)
SwingPrice = Close;
SwingHighPrice = SwingHigh( 1, h, 1, 2); //求波峰点
SwingLowPrice = SwingLow ( 1, l, 1, 2 );//求波谷点j
If (SwingHighPrice <> -1) //波峰点<>-1
{
If(UpDn <=0 && SwingHighPrice >= SwingPrice +RetracePct*AvgTrueRange(60)) //如果方向还是向下,且涨得比较急
{
UpDn = 1; //修改方向为向上
NewTL = True; //新的zz
SaveSwing = True; //保存什么
}Else If(UpDn == 1 && SwingHighPrice >= SwingPrice) //如果方向向上,且涨得比较急
{
UpdateTL = True; //更新zz
SaveSwing = True;//保存什么
}
If(SaveSwing) //保存
{
SwingPrice = SwingHighPrice; //拐点向上的值
PreBar = CurrentBar;//当前Bar的索引值。
}
}
Else If(SwingLowPrice <> -1) //波谷点<>-1
{
If(UpDn >=0 && SwingLowPrice <=SwingPrice-RetracePct*AvgTrueRange(60)) //如果方向还是向上,且跌得比较急
{
UpDn = -1; //向下
NewTL = True;//新的zz
SaveSwing = True;
}Else If(UpDn == -1 && SwingLowPrice <= SwingPrice)
{
UpdateTL = True; //更新zz
SaveSwing = True;//保存什么
}
If(SaveSwing ) //保存
{
SwingPrice = SwingLowPrice;//拐点向下的值
PreBar = CurrentBar;//当前Bar的索引值。
}
}
If( NewTL) //新的zz
{
PlotNumeric("ZigZag",SwingPrice,0,-1,1); //画zz
}Else If(UpdateTL) //更新zz
{
If (UpDn == UpDn[1]) //zz方向没变
{
Unplot("ZigZag",PreBar - PreBar[1]+1); //擦去之前的输出
PlotNumeric("ZigZag",SwingPrice,0,-1,1); //画zz
}Else
{
PlotNumeric("ZigZag",SwingPrice,0,-1,1); //画zz
}
}
//PlotNumeric("Zi42g5Z5a6g",wfzig(2));
End
//------------------------------------------------------------------------
// 编译版本 GS2016.06.03
// 版权所有 TradeBlazer Software 2003-2010
// 更改声明 TradeBlazer Software保留对TradeBlazer平
// 台每一版本的TradeBlazer公式修改和重写的权利
//------------------------------------------------------------------------ |
|