- 精华
- 20
- 在线时间
- 2981 小时
- UID
- 4
- 积分
- 22709
- 帖子
- 4802
- 阅读权限
- 255
- 注册时间
- 2007-7-20
- 最后登录
- 2024-1-15
- 精华
- 20
- UID
- 4
- 积分
- 22709
- 帖子
- 4802
- 主题
- 64
- 阅读权限
- 255
- 注册时间
- 2007-7-20
- 最后登录
- 2024-1-15
|
发表于 2007-8-25 20:13:05
|显示全部楼层
功能已经实现,只是在实现N天,N周,N月时发现需要增加求两个日期的间隔日期函数,旧版本暂不支持该函数,理论上用户函数也可以写出来,但效率比较低,考虑还是用系统函数实现。下个版本就可以所有的跨周期数据引用啦。
V3.0.6版本已经可以实现N分钟的数据,按1楼的第一种方式实现的,现贴出来!
代码如下:
新建用户函数ToMins,返回值为数值型。
- Params
- NumericSeries Price(0); // 数据源
- Numeric nPeriodNums; // 目标周期数目,和类型组合成 3Min,5Day,2Week,2Month等值
- String strDataType("close"); // 转换的类型,分为High,Low,Open,Close,Vol,OpenInt六种类型
- Vars
- NumericSeries nNext(-1);
- NumericSeries returnValue;
- Numeric nCur;
- String strTmp;
- Begin
- strTmp = Lower(strDataType);
- If(BarType == 1 && BarInterval > nPeriodNums ) // 当前数据周期是分钟线
- Return InvalidNumeric;
-
- If(BarType == 0 || BarType == 4 || BarType == 5)
- Return InvalidNumeric;
- If(nPeriodNums <= 0) Return InvalidNumeric;
-
- If(strTmp != "open" && strTmp != "high" && strTmp != "low" &&
- strTmp != "close" && strTmp != "vol" && strTmp != "openint")
- Return InvalidNumeric;
- nCur = (Hour*60+Minute)/nPeriodNums;
- If (BarStatus() == 0 )
- {
- nNext = nCur + 1;
- returnValue = Price;
- }Else
- {
- If(Date == Date[1] && nCur < nNext[1])
- {
- nNext = nNext[1];
- If(strTmp=="open")
- {
- returnValue = returnValue[1];
- }Else if(strTmp =="high")
- {
- returnValue = max(returnValue[1],Price);
- }Else if(strTmp =="low")
- {
- returnValue = min(returnValue[1],Price);
- }Else if(strTmp =="close" || strTmp== "openInt")
- {
- returnValue = Price;
- }Else if(strTmp =="vol")
- {
- returnValue = returnValue[1]+Price;
- }
- }Else
- {
- nNext = nCur + 1;
- returnValue = Price;
- }
- }
-
- Return returnValue;
- End
复制代码
新建一个技术指标,Demo,输出4条线:
- Params
- Numeric N(3);
- Begin
- PlotNumeric("Open",ToMins(Open,N,"Open"));
- PlotNumeric("High",ToMins(High,N,"High"));
- PlotNumeric("Low",ToMins(Low,N,"Low"));
- PlotNumeric("Close",ToMins(Close,N,"Close"));
- End
复制代码
下图是在1Min图上用指标画3Min数据:
[ 本帖最后由 nopain 于 2007-8-25 20:17 编辑 ] |
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
|