今天讲述CURRBARSCOUNT函数的应用举例第二篇。
通常情况下,我们都是依据特定的条件,横向画出全长的水平直线或者射线。如果只画出特定的中间区间的水平线段,如何建立算法呢?
思路步骤
- 首先取得数据的位置;
- 依据条件取得基本数据;
- 以数据的位置作为参照的基点,向左、向右、左右双向输出水平线段。
算法建立
- 本次举例使用峰谷函数法取得数据的位置:
TE:=CONST(PEAKBARS(1,转向比/10,第几个)) 1;
TB:=CONST(TROUGHBARS(2,转向比/10,第几个)) 1;
DRAWICON(CURRBARSCOUNT=TE,H*1.008,39);
DRAWICON(CURRBARSCOUNT=TB,L*0.999,38);
2. 依据条件取得基本数据:
CONST(REF(H,TE-1));
CONST(REF(L,TB-1));
3. 向左、向右、向左右双向输出水平线段:
FZ向左:IF(RANGE(CURRBARSCOUNT,TE-1,TE 向左画),CONST(REF(H,TE-1)),DRAWNULL),COLORGREEN,DOTLINE;
GZ向左:IF(RANGE(CURRBARSCOUNT,TB-1,TB 向左画),CONST(REF(L,TB-1)),DRAWNULL),COLORRED,DOTLINE;
FZ左右:IF(RANGE(CURRBARSCOUNT,TE-左右画,TE 左右画),CONST(REF(H,TE-1)),DRAWNULL),COLORGREEN;
GZ左右:IF(RANGE(CURRBARSCOUNT,TB-左右画,TB 左右画),CONST(REF(L,TB-1)),DRAWNULL),COLORRED;
FZ向右:IF(RANGE(CURRBARSCOUNT,TE-向右画,TE 1),CONST(REF(H,TE-1)),DRAWNULL),COLORGREEN;
GZ向右:IF(RANGE(CURRBARSCOUNT,TB-向右画,TB 1),CONST(REF(L,TB-1)),DRAWNULL),COLORRED;
效果示意
五个参数以及完整代码
参数1-4
参数5
TE:=CONST(PEAKBARS(1,转向比/10,第几个)) 1;
TB:=CONST(TROUGHBARS(2,转向比/10,第几个)) 1;
DRAWICON(CURRBARSCOUNT=TE,H*1.008,39);
DRAWICON(CURRBARSCOUNT=TB,L*0.999,38);
FZ向左:IF(RANGE(CURRBARSCOUNT,TE-1,TE 向左画),CONST(REF(H,TE-1)),DRAWNULL),COLORGREEN,DOTLINE;
GZ向左:IF(RANGE(CURRBARSCOUNT,TB-1,TB 向左画),CONST(REF(L,TB-1)),DRAWNULL),COLORRED,DOTLINE;
FZ左右:IF(RANGE(CURRBARSCOUNT,TE-左右画,TE 左右画),CONST(REF(H,TE-1)),DRAWNULL),COLORGREEN;
GZ左右:IF(RANGE(CURRBARSCOUNT,TB-左右画,TB 左右画),CONST(REF(L,TB-1)),DRAWNULL),COLORRED;
FZ向右:IF(RANGE(CURRBARSCOUNT,TE-向右画,TE 1),CONST(REF(H,TE-1)),DRAWNULL),COLORGREEN;
GZ向右:IF(RANGE(CURRBARSCOUNT,TB-向右画,TB 1),CONST(REF(L,TB-1)),DRAWNULL),COLORRED;
计算创造价值,分享助你成功。
江丰鱼的文章只在今日头条首发,未经授权禁止引用或转载;文中代码均可运行。
,