//逐K线 ,仅刷最后一个K线。
//在1分钟K线 图上
5m振幅均值:=0.19;
变数:=2;
第1峰值:=PEAK(4,5m振幅均值*变数,1 );
第1峰位置:=PEAKBARS(4,5m振幅均值*变数,1);
第2峰值:=PEAK(4,5m振幅均值*变数,2 );
第2峰位置:=PEAKBARS(4,5m振幅均值*变数,2);
第1谷值:=TROUGH(4,5m振幅均值*变数,1 );
第1谷位置:=TROUGHBARS(4,5m振幅均值*变数,1);
第2谷值:=TROUGH(4,5m振幅均值*变数,2 );
第2谷位置:=TROUGHBARS(4,5m振幅均值*变数,2);
IF (ISLASTBAR()) THEN
BEGIN
DRAWLINE(第1峰位置 ,第1峰值 ,第1谷位置 ,第1谷值 ,0 );
/// 结果:在第1根K线到第0根线之间,以第一个谷底数,画了个小横线。
DRAWLINE(第1谷位置 ,第1谷值 ,第1峰位置 ,第1峰值 ,0 );
/// 结果:在第1根K线,第一个谷底价格处,画到 到第0根线(价格是第一根峰值),画了个斜线。
END
//想画一个根从 第一个峰值 到第一个谷底的 斜线。但实际上画的结果,是备注的结果。
//怎么回事?
//谢谢。
“第一个峰值 到第一个谷底的”你是指的最近一个峰 到谷之间?
哪个峰值,不重要,主要是指某两个K线之间,如何画线。
比如第10根和第20根K线的高点,之间如何连线。
“
比如第10根和第20根K线的高点,之间如何连线。
”
这个第10个和第20个 是从当前图表历史上第一个K开始统计,还是指距离当前K位置最近的第10个和第20个。这2个是有差别的。所以我需要搞清楚这个。
5m振幅均值:=0.19;
变数:=2;
showzig:zig(4,5m振幅均值*变数);
X:=3;
Y:=1;
cdX:BARPOS=refx(DATACOUNT-TROUGHBARS(4,5m振幅均值*变数,X),DATACOUNT-BARPOS);//判断当前是否是最近第X个波谷
cdY:BARPOS=refx(DATACOUNT-PEAKBARS(4,5m振幅均值*变数,Y),DATACOUNT-BARPOS);//判断当前是否是最近第Y个波峰
DRAWLINE(cdX,H,cdY,L,0,COLORGREEN);
试下上面这种方式:
效果:
此主题相关图片如下:temp.png
这里主要是需要做一个未来判断,所以上面代码必须序列模式下。
如果必须是逐K模式,跨指标调用下上面代码里面cdx,cdy的判断就行了。
另外就是画线函数本身的情况需要注意,画线起点位置必须在画线终点位置之前。这个你注意下就行了。
[此贴子已经被作者于2020/12/28 11:17:58编辑过]
“CDX,CDY的值,都是0.”它本来就是个判断条件。不是0就是1.你要看清楚这个代码的思路。
“纵坐标为0处,画了一个横线,导致上面看不清楚。”截图看下。我本地的我上面截图了的。没有什么问题的。