就在对顶底分型的组合进行算法定义的同时,有网友留言了:
第一个,
第一道作业题
“怎么能把历史的左峰划线。同时对历史的谷、峰和顶、底价格重合价位点画粗线呢?”
“比如历史上有个峰有个谷,峰的高点和谷的低点价格相等或者接近。”
因为昨天(6月6号)已经完成了对顶底分型的独立算法的定义,这个问题变得轻而易举---首先想到的是顶底分型值的关系,即 RE与 RB 的关系。
思路步骤
算法建立
1. 当前是谷位点;
底分型:=CONST(TROUGH(2,3,1));
2. 输出左峰值;
顶分型:=PEAK(1,8,1);
3. 匹配两者的空间关系范围;
WZ:=BARSLAST(ABS(底分型/顶分型-1)<=0.05);
4.输出的优化过程
QD:=CONST(REF(BARSLAST(WZ<REF(WZ,1)),WZ)+WZ);
DRAWICON(CURRBARSCOUNT=QD+1,顶分型,86);
IF(CURRBARSCOUNT<=QD+1,CONST(REF(H,QD)),DRAWNULL),LINETHICK5;
IF(CURRBARSCOUNT<=QD+1,底分型,DRAWNULL),LINETHICK5;
DRAWNUMBER(CURRBARSCOUNT=10,(CONST(REF(H,QD))+底分型)/2*0.997,ABS((底分型/CONST(REF(H,QD))-1))*100);
DRAWTEXT(CURRBARSCOUNT=10,(CONST(REF(H,QD))+底分型)/2*0.995,' %');
DRAWTEXT(CURRBARSCOUNT=12,(CONST(REF(H,QD))+底分型)/2*0.995,'上下区间');
代码流程
江丰鱼的代码
完整代码
底分型:=CONST(TROUGH(2,3,1));
顶分型:=PEAK(1,15,1);
WZ:=BARSLAST(ABS(底分型/顶分型-1)<=0.05);
QD:=CONST(REF(BARSLAST(WZ<REF(WZ,1)),WZ)+WZ);
DRAWICON(CURRBARSCOUNT=QD+1,顶分型,86);
IF(CURRBARSCOUNT<=QD+1,CONST(REF(H,QD)),DRAWNULL),LINETHICK5;
IF(CURRBARSCOUNT<=QD+1,底分型,DRAWNULL),LINETHICK5;
DRAWNUMBER(CURRBARSCOUNT=10,(CONST(REF(H,QD))+底分型)/2*0.997,ABS((底分型/CONST(REF(H,QD))-1))*100);
DRAWTEXT(CURRBARSCOUNT=10,(CONST(REF(H,QD))+底分型)/2*0.995,' %');
DRAWTEXT(CURRBARSCOUNT=12,(CONST(REF(H,QD))+底分型)/2*0.995,'上下区间');
效果示意
底分型踏顶分型
第二个留言,
第二道作业
“能否写一个通达信的100日内创新高次数的指标公式。谢谢”
看到这道题,首先想到的是顶分型的值RE。
思路步骤
第一,输出顶分型RE的值;
第二,用函数COUNT进行统计。
完整代码
RE:=PEAK(1,3,1);
CONST(COUNT(RE>REF(RE,1),100)),NODRAW;
题目没有问连续创新高的条件,所以,一切变得更简单。
我的努力只为达成你的成功,你的赞赏是我们一起前行的动力。
江丰鱼的文章只在今日头条首发;文中代码均可运行。
联系客服