- 精华
- 0
- 在线时间
- 113 小时
- UID
- 208212
- 积分
- 2006
- 帖子
- 103
- 阅读权限
- 70
- 注册时间
- 2015-5-2
- 最后登录
- 2019-6-18
- 精华
- 0
- UID
- 208212
- 积分
- 2006
- 帖子
- 103
- 主题
- 24
- 阅读权限
- 70
- 注册时间
- 2015-5-2
- 最后登录
- 2019-6-18
|
不支持这样写CountIf(CrossUp,Counter),支持如下写法:
Params
Numeric MALength(20);
Numeric CC(30); //统计上穿下穿的时间周期
Vars
NumericSeries MA; //基准均线
Numeric Counter(0); //关于K线有多少根的计数器
BoolSeries CrossUp; //是否上穿基准均线
BoolSeries CrossDown; //是否下穿基准均线
Numeric CrossOverCon; //上穿基准均线次数
Numeric CrossUnderCon; //下穿基准均线次数
Begin
If(!CallAuctionFilter()) Return; // 集合竞价和小节休息过滤
Counter = BarCount;
MA = Average((O+H+L+C)/4,MALength); //计算基准均线值
PlotNumeric("MA",MA); //图表上输出显示均线MA
CrossUp = CrossOver(H,MA); //判断最高价是否上穿均线MA
CrossDown = CrossUnder(L,MA); //判断最低价是否下穿均线MA
//CountIf获取最近N周期条件满足的计数
If(CrossUp == True)
{
CrossOverCon = CountIf(CrossUp,CC); //High上穿MA的次数
}
If(CrossDown == True)
{
CrossUnderCon = CountIf(CrossDown,CC); //Low下穿MA的次数
}
End
|
|