设为首页收藏本站

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

请教AverageD的问题 [复制链接]

Rank: 2

精华
0
UID
85848
积分
67
帖子
40
主题
11
阅读权限
30
注册时间
2011-12-11
最后登录
2017-8-8
跳转到指定楼层
1#
发表于 2012-10-15 23:06:06 |只看该作者 |倒序浏览
本帖最后由 kakagoal 于 2012-10-15 23:33 编辑

Params
    Numeric length(5);
Vars
      NumericSeries avg;
      NumericSeries line;
      NumericSeries Open1;
Begin
      Open1=OpenD(0);
      avg=AverageD(3,length)-AverageD(4,length);
      line=Open1+avg;
      PlotNumeric("line",line);
      End
    这里的line每日是移动的,不是固定的,原因是当天实时的价格创新高或者新低使得avg的数值有所变动,因为averaeD的计算是把当天的数值也考虑在内的,我想要把line每日固定下来,AverageD(3,length)-AverageD(4,length)不把当天的最高最低价计算在内,而是从前一天开始算,也就是取前5天的每天最高价的平均-前5天的每天最低价的平均。该如何编写?
   请教一下论坛的朋友们,谢谢了!

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
2#
发表于 2012-10-16 10:31:25 |只看该作者
此公式应用的图表周期是什么的?日线还是其它的周期?

使用道具 举报

Rank: 4

精华
0
UID
112594
积分
333
帖子
281
主题
8
阅读权限
50
注册时间
2012-9-20
最后登录
2013-12-4
3#
发表于 2012-10-16 11:58:23 |只看该作者
像这样?
avg=AverageFC(HighD(1),5)-AverageFC(LowD(1),5);

使用道具 举报

Rank: 2

精华
0
UID
85848
积分
67
帖子
40
主题
11
阅读权限
30
注册时间
2011-12-11
最后登录
2017-8-8
4#
发表于 2012-10-16 21:09:36 |只看该作者
      应用在小时线和分钟线周期。
    昨晚睡前想到了一个思路,我先定义到开盘第一根K线,再求前一天收盘时刻K线之前length天的AverageD,然后每天第一根K线的值赋值到当天剩余的K线上,代码如下,line是固定下来了,但是这样写的话,计算有些多,载入公式应用明显感觉太慢了。
    Params
    Numeric length(5);
Vars
      NumericSeries avg;
      NumericSeries line;
      NumericSeries Open1;
          NumericSeries value1;
          NumericSeries value2;
Begin
      Open1=OpenD(0);
          value1=AverageD(3,length);
          value2=AverageD(4,length);
          If(Date!=Date[1])
          {
          avg=value1[1]-value2[1];
          }Else
          {
          avg=avg[1];
          }
      
      line=Open1+avg;
      PlotNumeric("line",line);
      End

小米大哥,有没有更好的写法啊? 楼下sorakiraa同学这样写,字面上感觉是对的,但是我载入公式应用在图表上看了,发现不对,他这样写哪里错了?请小米大哥说一下,谢谢啦!

使用道具 举报

Rank: 2

精华
0
UID
85848
积分
67
帖子
40
主题
11
阅读权限
30
注册时间
2011-12-11
最后登录
2017-8-8
5#
发表于 2012-10-16 21:52:03 |只看该作者
sorakiraa 发表于 2012-10-16 11:58
像这样?
avg=AverageFC(HighD(1),5)-AverageFC(LowD(1),5);

字面上感觉是对的,但我载入公式应用看了下,发现不对,每天开盘之后的五根K线的line是变动的,剩余K线的line固定,但是所有的line的数值求的都不对。有意思的是如果把5换成6,那么就是开盘后的6根K线的line是变动的,AverageFC(HighD(1),5)的计算机制不是咱俩想的这个样子的啊。

使用道具 举报

Rank: 4

精华
0
UID
112594
积分
333
帖子
281
主题
8
阅读权限
50
注册时间
2012-9-20
最后登录
2013-12-4
6#
发表于 2012-10-17 07:06:43 |只看该作者
kakagoal 发表于 2012-10-16 21:52
字面上感觉是对的,但我载入公式应用看了下,发现不对,每天开盘之后的五根K线的line是变动的,剩余K线的 ...

4L应该是对的
Average和AverageFc是之前N个Bar的数据求平均

使用道具 举报

Rank: 2

精华
0
UID
85848
积分
67
帖子
40
主题
11
阅读权限
30
注册时间
2011-12-11
最后登录
2017-8-8
7#
发表于 2012-10-17 12:38:11 |只看该作者
sorakiraa 发表于 2012-10-17 07:06
4L应该是对的
Average和AverageFc是之前N个Bar的数据求平均

4楼就是楼主。。。
Average和AverageFc是之前N个Bar的数据求平均,但是AverageFC(HighD(1),5)这么写就不是了,因为如果只是简单的求之前的5根Bar的平均的话,那么line的值应该固定,但实际上每天开盘后的5根K线line的值是变化的。所以AverageFC(HighD(1),5)的逻辑肯定是另外的一个意思。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
8#
发表于 2012-10-17 13:59:33 |只看该作者
kakagoal 发表于 2012-10-16 21:09
应用在小时线和分钟线周期。
    昨晚睡前想到了一个思路,我先定义到开盘第一根K线,再求前一天收盘 ...


我不太清楚自己对你的问题理解 得对不对,先写了段代码,你试试
  1. Params
  2.         Numeric length(5);
  3. vars
  4.     Numeric avg;
  5.         NumericSeries myprice;
  6.         NumericSeries line;
  7.         Numeric open1;
  8. begin
  9.     open1 = OpenD(0);
  10.         avg = AverageD(3,length)- AverageD(4,length);
  11.        
  12.         if(date!=date[-1] && date[-1]!=InvalidNumeric)
  13.         {
  14.                 myprice = avg;
  15.         }
  16.         If(date!=date[1])
  17.         {
  18.                 line = open1+myprice[1];
  19.         }
  20.         Commentary("line=="+Text(line));
  21.         //PlotNumeric("line",line);
  22.    
  23. end
复制代码

使用道具 举报

Rank: 2

精华
0
UID
85848
积分
67
帖子
40
主题
11
阅读权限
30
注册时间
2011-12-11
最后登录
2017-8-8
9#
发表于 2012-10-17 15:24:05 |只看该作者
小米 发表于 2012-10-17 13:59
我不太清楚自己对你的问题理解 得对不对,先写了段代码,你试试

我载入看了,是对的,您是直接定义到前一天最后一根K线求出avg,这个思路更直接,十分感谢!

使用道具 举报

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

bottom

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

GMT+8, 2024-5-10 04:58

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部