老师您好:
有个需求我看到论坛上已经问过好多遍了,但是至今也没有明确答案,这里我把内容详细的描述一下,看一下能否实现:
假设当前k线序号为n,指标加载为副图指标
1、如果当前k线的最高价和最低价,均高于n-1根k线的最高价和最低价,则从当前k线的最低价向最高价画柱状线stickline,红色
2、如果当前k线的最高价和最低价,均低于n-1根k线的最高价和最低价,则从当前k线的最高价向最低价画柱状线stickline,绿色
3、如果当前k线的最高价高于n-1根k线的最高价并且当前k线的最低价低于n-1根k线的最低价,此时观察第n-2根k线的颜色。
如果第n-2根k线为红色,则从当前k线的最高价向第n-1根k线的最低价画柱状线stickline,红色。
如果第n-2根k线为绿色,则从当前k线的最低价向第n-1根k线的最高价画柱状线stickline,绿色。
4、如果当前k线的最高价低于n-1根k线的最高价并且当前k线的最低价高于n-1根k线的最低价,此时观察第n-2根k线的颜色。
如果第n-2根k线为红色,则从当前k线的最低价向第n-1根k线的最高价画柱状线stickline,红色。
如果第n-2根k线为绿色,则从当前k线的最高价向第n-1根k线的最低价画柱状线stickline,绿色。
标注:第n-2根k线的颜色,是本指标在前面已经画出的stickline的颜色,而非主图中k线自身的颜色。
这个是死循环,定义3,4需要先判断两根k线前的3,4
如果第n-2根k线为红色,则从当前k线的最高价向第n-1根k线的最低价画柱状线stickline,红色。
这是把n和n-1这两根k线合并成一根画红线?
不要合并,是两根线,幅图指标stickline与主图K线一一对应,只不过stickline划线的点位从“当前k线的最高价到n-1根k线的最低价”
画柱线需要两个价格垂直划线,上面就是与之对应的起始于终止的点位。
variable:n=1;
if barpos<=2 then n:=1;
if barpos>=3 and h>ref(h,1) and l>ref(l,1) then n:=1;//红
if barpos>=3 and h<ref(h,1) and l<ref(l,1) then n:=0;//绿
if barpos>=3 and h>ref(h,1) and l<ref(l,1) and mod(ref(n,2),2)=1 then n:=3;//红
if barpos>=3 and h>ref(h,1) and l<ref(l,1) and mod(ref(n,2),2)=0 then n:=2;//绿
if barpos>=3 and h<ref(h,1) and l>ref(l,1) and mod(ref(n,2),2)=1 then n:=5;//红
if barpos>=3 and h<ref(h,1) and l>ref(l,1) and mod(ref(n,2),2)=0 then n:=4;
stickline(n=1,h,l,10,1),colorred;
stickline(n=3,h,ref(l,1),10,1),colorred;
stickline(n=5,ref(h,1),l,10,1),colorred;
stickline(n=0,h,l,10,0),colorcyan;
stickline(n=2,ref(h,1),l,10,0),colorcyan;
stickline(n=4,h,ref(l,1),10,0),colorcyan;