指定日期取值

2023-04-26 18:22:52来源:江丰鱼

借由网友的思路需求,本文讨论的是对REFDATE函数的应用,请看留言截图内容:


(资料图)

网友的留言

留言的思路是说: 建立一个数据筛选算法

1、指定某个日期; 2、当日最高价到今天,一直是最高价;

(一)、思路步骤:

1.添加参数M,用于给定确定的日期;

2.DATE与M给定的日期进行对应(这里是相等),用作条件;

3.使用BARSLAST函数限定时间区间;

4.计算时间区间内最高价的最大值;

5.计算时间区间“日前”最高价的最大值;

6.通过上述“4.”与“5.”中得到的最大值“相等”进行数据的筛选。

(二)、算法建立过程:

1.条件判断

M1:=IF(M=0,DATE,M);

2.时间区间的限定

FW:=CONST(BARSLAST(DATE=M1));

3.时间区间内的最大值 与 时间区间“日前”的最大值

FWH:=CONST(HHV(H,FW+1));

REFH:=CONST(REF(H,FW));

4.数据筛选逻辑

FWH=REFH;

(三)、数据筛选的完整代码:

代码流程1

M1:=IF(M=0,DATE,M);

FW:=CONST(BARSLAST(DATE=M1));

FWH:=CONST(HHV(H,FW+1));

REFH:=CONST(REF(H,FW));

FWH=REFH;

(四)、主图标注算法的完整代码:

代码流程2

M1:=IF(M=0,DATE,M);

FW:=CONST(BARSLAST(DATE=M1));

FWH:CONST(HHV(H,FW+1));

REFH:CONST(REF(H,FW));

DRAWNUMBER(DATE=M,L,M)

(五)、最后的筛选效果示意图:

示意图中给定的时期是2023.03.03

效果示意图1

效果示意图2

效果示意图3

(六)、函数的简单介绍,请注意日期的输入格式

① REFDATE---引用自1900年以来指定日期的数据。

用法:REFDATE(X,M),引用M日期的X值。

例如:REFDATE(HIGH,1230303)表示2023年3月3日的最高价。

② DATE --- 取得该周期从1900以来的的年、月、日。

用法:DATE;

例如:函数返回1000101,表示2000年1月1日;DATE+19000000后才是真正的日期值,编辑公式内容不能直接写8位长的日期数字。

标签:

今日热门
More
供应
返回顶部