绘制直线是数据处理中最必需的日常,而输出直线,对直线起点与终点的获得,通常采用的是峰谷函数,近期的评论区里对未来函数不可用的讨论此起彼伏,为了避开未来函数的争议,这里对峰与峰、谷与谷、峰与谷、谷与峰的直线输出方法,进行变通处理---用最简单和“笨”的思路,取得所需要的起点与终点的值。
思路步骤
算法建立
1.
QDH:=IF(CURRBARSCOUNT=FH,H,DRAWNULL);
QDL:=IF(CURRBARSCOUNT=FL,L,DRAWNULL);
ZDH:=IF(CURRBARSCOUNT=GH,H,DRAWNULL);
ZDL:=IF(CURRBARSCOUNT=GL,L,DRAWNULL);
2.
HH:DRAWLINE(H=QDH,H,H=ZDH,H,1);
LL:DRAWLINE(L=QDL,L,L=ZDL,L,1);
HL:DRAWLINE(H=QDH,H,L=ZDL,L,1);
LH:DRAWLINE(L=QDL,L,H=ZDH,H,1);
3.
DRAWNUMBER(ISLASTBAR,HH,HH);
DRAWNUMBER(ISLASTBAR,LL,LL);
DRAWNUMBER(ISLASTBAR,HL,HL);
DRAWNUMBER(ISLASTBAR,LH,LH);
DRAWICON(CURRBARSCOUNT=FH,H,86);
DRAWICON(CURRBARSCOUNT=FL,L,85);
DRAWICON(CURRBARSCOUNT=GH,H,86);
DRAWICON(CURRBARSCOUNT=GL,L,85);
代码流程
江丰鱼的代码
完整代码
QDH:=IF(CURRBARSCOUNT=FH,H,DRAWNULL);
QDL:=IF(CURRBARSCOUNT=FL,L,DRAWNULL);
ZDH:=IF(CURRBARSCOUNT=GH,H,DRAWNULL);
ZDL:=IF(CURRBARSCOUNT=GL,L,DRAWNULL);
HH:DRAWLINE(H=QDH,H,H=ZDH,H,1);
LL:DRAWLINE(L=QDL,L,L=ZDL,L,1);
HL:DRAWLINE(H=QDH,H,L=ZDL,L,1);
LH:DRAWLINE(L=QDL,L,H=ZDH,H,1);
DRAWNUMBER(ISLASTBAR,HH,HH);
DRAWNUMBER(ISLASTBAR,LL,LL);
DRAWNUMBER(ISLASTBAR,HL,HL);
DRAWNUMBER(ISLASTBAR,LH,LH);
DRAWICON(CURRBARSCOUNT=FH,H,86);
DRAWICON(CURRBARSCOUNT=FL,L,85);
DRAWICON(CURRBARSCOUNT=GH,H,86);
DRAWICON(CURRBARSCOUNT=GL,L,85);
效果示意
效果示意图
出人意料
在做视频的过程中,随意的调整参数以作演示,上图却出现了意料之外的收获---
这两点的小小意外,是最初避开未来函数绘制直线时所没有预料到的,而这样的结果,难能可贵而又令人惊喜不已。
我的努力只为达成你的成功,赞赏是相伴前行的动力。
江丰鱼的文章只在今日头条首发;文中代码均可运行。
留言与评论(共有 0 条评论) “” |