老师,我自己编写了个指标,在5分钟周期上,显示振幅TR柱体,并对与前面7组相比最低的那个进行变色显示,
TR1 : (H-L)/MINDIFF,NODRAW;
STICKLINE(C ,0,TR1,8,1,COLORBLUE);
STICKLINE(TR1<REF(TR1,1),0,TR1,8,1),COLORblue;
极缩:=BARSCOUNT(C)>7 AND LLV(TR1,7)=TR1;
STICKLINE(极缩 and ISLASTBAR<>1 ,0,TR1,8,0,COLORYELLOW);
我的问题是,我希望在1分钟周期上,在主图上能比较5分钟周期的TR,出现极缩信号时,在主图上用蓝色空框线将该组K框起来,框线的上沿为该组K也即对应5分钟K的最高价,框线的下沿为该组K也即对应5分钟K的最低价。
你意思是要在5分钟周期范围下的1分钟 也同样标记出来?
不是,是在一分钟周期上,比较5分钟周期的TR,出现极缩信号时,将极缩的该组K用空框线框起来
对我的意思就是满足条件的五分钟周期下的1分钟周期都标记出来。
这个要用另外一段代码了。
被调用代码,也就是你现在用的这段代码。假设指标名称是AX:
TR1 : (H-L)/MINDIFF,NODRAW;
STICKLINE(C ,0,TR1,8,1,COLORBLUE);
STICKLINE(TR1<REF(TR1,1),0,TR1,8,1),COLORblue;
极缩:BARSCOUNT(C)>7 AND LLV(TR1,7)=TR1;//为了能进行调用,这里定义方式用:
STICKLINE(极缩 and ISLASTBAR<>1 ,0,TR1,8,0,COLORYELLOW);
1分钟周期上的指标代码如下。但是注意这个指标必须是序列模式。否则不行。
cd1:mod(time,500)=0,NODRAW;
cd2:ref(cd1,1),NODRAW;
cd3:"AX.极缩#MIN5";
P1:=HHV(H,5);
P2:=REFX(LLV(L,5),4);
DRAWRECT(cd2 and cd3 ,P2 ,cd1 or ISLASTBAR ,P1 ,true ,COLORYELLOW,1,vtDOT);
实际效果:
1分钟
此主题相关图片如下:temp.png
5分钟满足条件的位置 用笑脸标记下。
此主题相关图片如下:temp.png
不好意思,老师,我带入后,在1分钟周期上每个5分钟的方框都出来了,
你确定你正常调用了指标吗? 我上面代码是需要新建一个指标来进行调用的。
被调用代码,也就是你现在用的这段代码。假设指标名称是AX:
TR1 : (H-L)/MINDIFF,NODRAW;
STICKLINE(C ,0,TR1,8,1,COLORBLUE);
STICKLINE(TR1<REF(TR1,1),0,TR1,8,1),COLORblue;
极缩:BARSCOUNT(C)>7 AND LLV(TR1,7)=TR1;//为了能进行调用,这里定义方式用:
STICKLINE(极缩 and ISLASTBAR<>1 ,0,TR1,8,0,COLORYELLOW);
这部分代码是需要进行调用的,且指标名称必须和下面调用函数里保持一致。
1分钟周期上的指标代码如下。但是注意这个指标必须是序列模式。否则不行。
cd1:mod(time,500)=0,NODRAW;
cd2:ref(cd1,1),NODRAW;
cd3:"AX.极缩#MIN5";
P1:=HHV(H,5);
P2:=REFX(LLV(L,5),4);
DRAWRECT(cd2 and cd3 ,P2 ,cd1 or ISLASTBAR ,P1 ,true ,COLORYELLOW,1,vtDOT);
可以了,还有问题,仔细翻看了很多品种,比较了5分钟的TR信号,有两个问题
1、偶尔出现框内出现1到2根或3根K线的情况,
2、总感觉出现了错位,会有出现的框架明显振幅较大,而它旁边的组合K振幅明显不大。
3、有好多品种比如苹果、锰硅,硅铁等,没有任何信号出现。
1.是不是缺五分钟数据,本地没有看到没信号或者是框内不足五个K的情况。你在有问题的品种上,切换到五分钟触发下补充数据,再切回到1分钟看下情况。
2.“总感觉出现了错位,会有出现的框架明显振幅较大,而它旁边的组合K振幅明显不大。”这个就截图详细说明下吧。