设为首页收藏本站

 找回密码
 注册
查看: 2282|回复: 6
打印 上一主题 下一主题

关于区间统计的问题 [复制链接]

Rank: 3Rank: 3

精华
0
UID
92426
积分
209
帖子
93
主题
30
阅读权限
40
注册时间
2012-1-11
最后登录
2022-3-17
跳转到指定楼层
1#
发表于 2012-12-6 11:01:35 |只看该作者 |倒序浏览
比如日内策略 第一次 突破轨道上轨 我标记一下 突破轨道这根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的值固定下来呢?

Rank: 4

精华
0
UID
112594
积分
333
帖子
281
主题
8
阅读权限
50
注册时间
2012-9-20
最后登录
2013-12-4
2#
发表于 2012-12-6 14:34:23 |只看该作者
很简单
  1. If(h>DonchianHi And CountIf(h>DonchianHi,BarsSinceToday)==0){
  2.      a=BarsSinceToday;
  3. }
复制代码

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
92426
积分
209
帖子
93
主题
30
阅读权限
40
注册时间
2012-1-11
最后登录
2022-3-17
3#
发表于 2012-12-6 15:29:12 |只看该作者
sorakiraa 发表于 2012-12-6 14:34
很简单

按你这么写 a根本就没有值啊 一直都是0

使用道具 举报

Rank: 4

精华
0
UID
112594
积分
333
帖子
281
主题
8
阅读权限
50
注册时间
2012-9-20
最后登录
2013-12-4
4#
发表于 2012-12-6 15:32:11 |只看该作者
xiaoju0427 发表于 2012-12-6 15:29
按你这么写 a根本就没有值啊 一直都是0

那就改为CountIf(h[1]>DonchianHi,BarsSincetoday-1)==0

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
5#
发表于 2012-12-6 17:18:33 |只看该作者
想要记录突破时的bar索引是容易的。但是,你想要表达第一次与第二次之间的差值则有很多变数。比如说,一天只上穿了一次呢?或比如说一天上穿了N次呢?如何定义第一次与第二次呢?

我用判断当前上穿与当天内上一次上穿的bar间隔数写了一个例子,可参考一下。其中以cs命名的。
  1. Params
  2.         Numeric boLength(20);
  3.    Vars
  4.         NumericSeries a;   
  5.         Numeric b;
  6.         NumericSeries a1;
  7.         NumericSeries cs;
  8.         NumericSeries DonchianHi;              
  9.         NumericSeries DonchianLo;
  10.         Bool crs;
  11. Begin
  12.            b = barssincetoday;
  13.         DonchianHi = HighestFC(High[1],boLength);
  14.         DonchianLo = LowestFC(Low[1],boLength);
  15.         crs = CrossOver(high,donchianhi);
  16.         If(date!=date[1])
  17.         {
  18.                 a =0;
  19.                 a1= 0;
  20.                 cs =0;
  21.         }
  22.         If(crs)
  23.         {
  24.                 a = a+1;
  25.                 a1 = b;
  26.                 If(a>1)
  27.                 {
  28.                         cs = a1-a1[1];
  29.                 }Else
  30.                 {
  31.                         cs =0;
  32.                 }
  33.         }
  34.         Commentary("a="+Text(a)+ "  ||  a1="+Text(a1)+"  ||  cs="+Text(cs));
  35. End
复制代码

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
6#
发表于 2012-12-6 17:23:40 |只看该作者
同一个内容不必要另外开贴的,方便的话麻烦删掉。谢谢

使用道具 举报

Rank: 4

精华
0
UID
113600
积分
251
帖子
192
主题
20
阅读权限
50
注册时间
2012-11-20
最后登录
2013-6-7
7#
发表于 2012-12-7 23:47:08 |只看该作者

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-20 01:12

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部