设为首页收藏本站

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

请问如何在日线上提取上周的最高和最低价? [复制链接]

Rank: 5Rank: 5

精华
0
UID
51247
积分
763
帖子
132
主题
39
阅读权限
60
注册时间
2011-7-3
最后登录
2022-5-5
跳转到指定楼层
1#
发表于 2011-7-28 09:43:52 |只看该作者 |倒序浏览
如题,日线有highD()函数,周线怎么办?

Rank: 10Rank: 10Rank: 10

精华
0
UID
20842
积分
931
帖子
382
主题
2
阅读权限
255
注册时间
2010-12-3
最后登录
2022-2-15
2#
发表于 2011-7-28 11:00:16 |只看该作者
本帖最后由 追涨杀跌 于 2011-7-28 11:10 编辑

回复 1# 盛世长城

可以参照HighD写个类似的HighW,呵呵
  1. Params
  2.         Numeric WeeksAgo(1);
  3. Vars
  4.         NumericSeries barCnt;
  5.         NumericSeries WeekHigh;
  6.         Numeric i;
  7.         Numeric j;
  8.         Numeric nIndex(0);
  9.         Numeric CBIndex;
  10. Begin
  11.         CBIndex = CurrentBar;
  12.         If(CBIndex == 0 || IntPart(DateDiff(19700105,Date)/7) != IntPart(DateDiff(19700105,Date[1])/7))
  13.         {
  14.                 barCnt = 1;
  15.                 WeekHigh = High;
  16.         }Else
  17.         {
  18.                 barCnt = barCnt + 1;
  19.                 If(High > WeekHigh)
  20.                         WeekHigh = High;
  21.         }
  22.        
  23.         If(WeeksAgo == 0)
  24.         {
  25.                 return WeekHigh;
  26.         }Else
  27.         {
  28.                 For i = 1 To WeeksAgo
  29.                 {
  30.                         If( i == 1)
  31.                         {       
  32.                                 j = 0;
  33.                         }Else
  34.                         {
  35.                                 j = j + BarCnt[j];
  36.                         }
  37.                         If (j > CBIndex )
  38.                                 Return InvalidNumeric;
  39.                         nIndex = nIndex + BarCnt[j];
  40.                 }
  41.                 Return WeekHigh[nIndex];
  42.         }
  43. End
复制代码

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
51247
积分
763
帖子
132
主题
39
阅读权限
60
注册时间
2011-7-3
最后登录
2022-5-5
3#
发表于 2011-7-28 11:08:43 |只看该作者
呵呵,好像不行啊,程序不认这个HighW~

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
0
UID
20842
积分
931
帖子
382
主题
2
阅读权限
255
注册时间
2010-12-3
最后登录
2022-2-15
4#
发表于 2011-7-28 11:13:45 |只看该作者
回复 3# 盛世长城

我的意思是,你自己新建一个用户函数HighW,我照葫芦画瓢写了一个,你试试吧

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
2
UID
4130
积分
20906
帖子
6519
主题
17
阅读权限
200
注册时间
2009-4-15
最后登录
2019-4-12
5#
发表于 2011-7-28 11:24:24 |只看该作者
回复 3# 盛世长城
参考一下这个:
  1. Params
  2.         Numeric weeksAgo(2);
  3. Vars
  4.         NumericSeries barCnt;
  5.         NumericSeries weekHigh;
  6.         Numeric i;
  7.         Numeric j;
  8.         Numeric nIndex(0);
  9. Begin
  10.         If (Day-Day[1]>1 Or Day-Day[1]<0)
  11.         {
  12.                 barCnt = 1;
  13.                 weekHigh = High;
  14.         }Else
  15.         {
  16.                 barCnt = barCnt[1] + 1;
  17.                 If(High > weekHigh)
  18.                         weekHigh = High;
  19.         }

  20.         If (weeksAgo == 0)
  21.         {
  22.                 Return weekHigh;
  23.         }Else
  24.         {
  25.                 For i = 1 To weeksAgo
  26.                 {
  27.                         If (i == 1)
  28.                         {
  29.                                 j = 0;
  30.                         }Else
  31.                         {
  32.                                 j = j + barCnt[j];
  33.                         }
  34.                         If (j > CurrentBar)
  35.                                 Return InvalidNumeric;
  36.                         nIndex = nIndex + barCnt[j];
  37.                 }
  38.                 Return weekHigh[nIndex];
  39.         }
  40. End
复制代码

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
51247
积分
763
帖子
132
主题
39
阅读权限
60
注册时间
2011-7-3
最后登录
2022-5-5
6#
发表于 2011-7-28 11:40:12 |只看该作者
嗯,谢谢,我试了一下追涨杀跌版主的程序,应该是可以。Ih948老师的我再去试着体会一下,想不到看似简单的一个函数还挺复杂,主要是有些地方理解起来太抽象了!

使用道具 举报

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

bottom

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

GMT+8, 2024-5-22 20:08

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部