关于区间统计的问题 突破轨道这根K线所运行的根数为a [开拓者 TB]
- 咨询内容:
比如日内策略 第一次 突破轨道上轨 我标记一下 突破轨道这根K线所运行的根数为a 第二次突破轨道K线所运行的根数a1 该如何表述啊 我想要的是 a1-a的值
If(Date != Date[1])
{
ReBars = 0;
}Else
{
ReBars = ReBars + 1;
}
Commentary("ReBars="+Text(ReBars));
If(h>DonchianHi)
{
a=ReBars;
}
Else IF(ReBars-a < 20 And h>DonchianHi )
{
a1 = ReBars;
}
Commentary("a="+Text(a));
Commentary("a1="+Text(a1));
我这么标记 a的值 一直在变动 如何让a的值固定下来呢? - TB技术人员: 很简单
- If(h>DonchianHi And CountIf(h>DonchianHi,BarsSinceToday)==0){
- a=BarsSinceToday;
- }
- TB客服:
sorakiraa 发表于 2012-12-6 14:34
很简单
按你这么写 a根本就没有值啊 一直都是0 - 网友回复:
xiaoju0427 发表于 2012-12-6 15:29
按你这么写 a根本就没有值啊 一直都是0
那就改为CountIf(h[1]>DonchianHi,BarsSincetoday-1)==0 - 网友回复:
我用判断当前上穿与当天内上一次上穿的bar间隔数写了一个例子,可参考一下。其中以cs命名的。- Params
- Numeric boLength(20);
- Vars
- NumericSeries a;
- Numeric b;
- NumericSeries a1;
- NumericSeries cs;
- NumericSeries DonchianHi;
- NumericSeries DonchianLo;
- Bool crs;
- Begin
- b = barssincetoday;
- DonchianHi = HighestFC(High[1],boLength);
- DonchianLo = LowestFC(Low[1],boLength);
- crs = CrossOver(high,donchianhi);
- If(date!=date[1])
- {
- a =0;
- a1= 0;
- cs =0;
- }
- If(crs)
- {
- a = a+1;
- a1 = b;
- If(a>1)
- {
- cs = a1-a1[1];
- }Else
- {
- cs =0;
- }
- }
- Commentary("a="+Text(a)+ " || a1="+Text(a1)+" || cs="+Text(cs));
- End
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 262069696 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容