设为首页收藏本站

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

跨周期情况下的均线计算。 [复制链接]

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
跳转到指定楼层
1#
发表于 2008-3-31 18:08:15 |只看该作者 |正序浏览
使用环境:
基本数据源为1分钟,通过DataConvert可以转化为对应的5分钟数据,有些朋友希望能够在1分钟图里面取道5分钟的数据的均线,效果要和单独使用5分钟的均线一样。为此,提供以下函数。

1、新建一个用户函数,TransMinsData,返回值为数值型。
参数1:要计算的数据源。
参数2:想按N分钟来处理,本例是5分钟,不能大于60。
参数3:希望取多少个N分钟前的数据。
  1. Params
  2.         NumericSeries Price(1);
  3.         Numeric nMinSet(5);
  4.         Numeric MinsAgo(2);
  5. Vars
  6.         NumericSeries barCnt;
  7.         NumericSeries MinData;
  8.         Numeric i;
  9.         Numeric j;
  10.         Numeric nIndex(0);
  11. Begin
  12.         If(IntPart(Minute%nMinSet)==0)
  13.         {
  14.                 barCnt = 1;
  15.         }Else
  16.         {
  17.                 barCnt = barCnt[1] + 1;
  18.         }
  19.         MinData = Price;
  20.                
  21.         If(MinsAgo == 0)
  22.         {
  23.                 return MinData;
  24.         }Else
  25.         {
  26.                 For i = 1 To MinsAgo
  27.                 {
  28.                         If( i == 1)
  29.                         {       
  30.                                 j = 0;
  31.                         }Else
  32.                         {
  33.                                 j = j + BarCnt[j];                               
  34.                         }
  35.                         If (j > CurrentBar ) Return InvalidNumeric;
  36.                         nIndex = nIndex + BarCnt[j];
  37.                 }
  38.                 Return MinData[nIndex];
  39.         }
  40. End
复制代码
2、新建一个技术指标,用来举例说明如何使用该函数。
本例是取5分钟的均值((O+H+L+C)/4)的10周期移动平均。
  1. Params
  2.         Numeric Length(10);
  3. Vars
  4.         Numeric MyOpen;
  5.         Numeric MyHigh;
  6.         Numeric MyLow;
  7.         Numeric MyClose;
  8.         NumericSeries MyAvgPrice;
  9.        
  10.         Numeric SumValue(0);
  11.         Numeric Value1;
  12.         Numeric i;
  13. Begin
  14.         MyOpen = DataConvert(Open,"min",5,"Open");
  15.         MyHigh = DataConvert(High,"min",5,"High");
  16.         MyLow = DataConvert(Low,"min",5,"Low");
  17.         MyClose = DataConvert(Close,"min",5,"Close");
  18.         MyAvgPrice = (MyOpen+MyHigh+MyLow+MyClose)*0.25;
  19.        
  20.         For i = Length-1 DownTo 0
  21.         {
  22.                 Value1 = TransMinsData(MyAvgPrice,5,i);
  23.                 SumValue = SumValue + Value1;
  24.         }
  25.         PlotNumeric("AvgPrice",SumValue/Length);
  26. End
复制代码
已有 2 人评分威望 收起 理由
ruric173 + 1 很给力!
china_lizhi + 4 赞一个!

总评分: 威望 + 5   查看全部评分

Rank: 1

精华
0
UID
265259
积分
18
帖子
12
主题
6
阅读权限
10
注册时间
2018-5-8
最后登录
2019-7-8
95#
发表于 2019-5-22 23:20:16 |只看该作者
哎!翻了10页看看,初学者真难啊,估计我这个也是不会有人理了,说真的不如文化,文化半小时解决不解决都有人处理,可是文化用不起啊

使用道具 举报

Rank: 1

精华
0
UID
265259
积分
18
帖子
12
主题
6
阅读权限
10
注册时间
2018-5-8
最后登录
2019-7-8
94#
发表于 2019-5-22 22:55:46 |只看该作者
这个5分钟周期30日均线怎么就算不出来,5日均线10日均线都算的出来,到30日均线就显示不出来,等半天也没反应,还有指标只计算当天的,以前的也显示不出来要怎么处理

使用道具 举报

Rank: 4

精华
0
UID
265766
积分
266
帖子
125
主题
67
阅读权限
50
注册时间
2018-5-22
最后登录
2022-8-21
93#
发表于 2018-7-2 18:29:37 |只看该作者
编译不通过?

使用道具 举报

Rank: 1

精华
0
UID
256802
积分
30
帖子
26
主题
4
阅读权限
10
注册时间
2017-9-18
最后登录
2017-12-7
92#
发表于 2017-11-4 20:55:01 |只看该作者
比如我的策略运行在1小时K线周期里面,但是我想调用日线周期里面的5日、10日、20日均线,代码怎么写

使用道具 举报

Rank: 1

精华
0
UID
256802
积分
30
帖子
26
主题
4
阅读权限
10
注册时间
2017-9-18
最后登录
2017-12-7
91#
发表于 2017-11-4 20:51:10 |只看该作者
破论坛,连个跨周期怎么写都搜索不到完整的答案,这个论坛有人管?

使用道具 举报

Rank: 1

精华
0
UID
251145
积分
38
帖子
26
主题
12
阅读权限
10
注册时间
2017-5-12
最后登录
2019-8-12
90#
发表于 2017-9-3 11:27:47 |只看该作者
用户函数总过不了,                return 返回类型和声明类型不匹配,

使用道具 举报

Rank: 1

精华
0
UID
251247
积分
24
帖子
16
主题
6
阅读权限
10
注册时间
2017-5-15
最后登录
2022-1-2
89#
发表于 2017-7-19 17:11:14 |只看该作者
程序是死的,人是活的,跟踪程序每条指令的执行过程,没有搞不明白的程序代码。但要独立做出这么设计精巧,逻辑缜密的程序,确实需要专业知识和智慧

使用道具 举报

Rank: 6Rank: 6

精华
0
UID
208212
积分
2006
帖子
103
主题
24
阅读权限
70
注册时间
2015-5-2
最后登录
2019-6-18
88#
发表于 2016-12-7 15:43:14 |只看该作者
cjqh60004924 发表于 2016-12-7 00:27
是的 我真是服了  对于我们这些初学者   管理员只要在后面加上一些中文注释  我们就能稍微看明白  就这点 ...


哈哈,我是功德无量喽,其实我们应该感谢楼主nopain

使用道具 举报

Rank: 1

精华
0
UID
229582
积分
25
帖子
21
主题
3
阅读权限
10
注册时间
2016-3-9
最后登录
2016-12-7
87#
发表于 2016-12-7 00:27:32 |只看该作者
china_lizhi 发表于 2016-10-27 22:50
//------------------------------------------------------------------------
// 简称: Test_TransMinsDa ...

是的 我真是服了  对于我们这些初学者   管理员只要在后面加上一些中文注释  我们就能稍微看明白  就这点  都懒得写   这一下 我就明白了   毕竟我们都是消费者  对我们耐心些   开拓者的跨周期 这么复杂   既然不封装一个函数   那就把每个周期的例子都例举一遍 我们学着 也不费事    我就想在1分钟引用15分钟的数据  快2年了  都没弄明白   发帖也没人回复   心里好冷

使用道具 举报

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

bottom

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

GMT+8, 2024-5-19 04:41

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部