参考:
VV:="DAY$1$V";//框线是什么框线
//1MIN,3MIN,5MIN,10MIN,15MIN,30MIN,1HOUR,2HOUR,3HOUR,4HOUR,DAY,WEEK,MONTH。
XX:=BARSLAST(VV<>REF(VV,1))+1;
SP:=ISLASTBAR||REFX(XX=1,1);
OO:=REF(O,XX-1);
DRAWSL(SP&&C>OO,OO,0,-XX+1,0,COLORRED);
DRAWSL(SP&&C<OO,OO,0,-XX+1,0,COLORBLUE);
DRAWSL(SP&&C>OO,C,0,-XX+1,0,COLORRED);
DRAWSL(SP&&C<OO,C,0,-XX+1,0,COLORBLUE);
DRAWLINE(SP&&C>OO,C,1,OO,COLORRED);
DRAWLINE3(SP&&C>OO,C,XX-1,1,OO,XX-1,0),COLORRED;
DRAWLINE3(SP&&C>OO,HHV(H,XX),XX/2-1,1,C,XX/2-1,0),COLORRED;
DRAWLINE3(SP&&C>OO,LLV(L,XX),XX/2-1,1,OO,XX/2-1,0),COLORRED;
DRAWLINE(SP&&C<OO,C,1,OO,COLORBLUE);
DRAWLINE3(SP&&C<OO,C,XX-1,1,OO,XX-1,0),COLORBLUE;
DRAWLINE3(SP&&C<OO,HHV(H,XX),XX/2-1,1,OO,XX/2-1,0),COLORBLUE;
DRAWLINE3(SP&&C<OO,LLV(L,XX),XX/2-1,1,C,XX/2-1,0),COLORBLUE;
2楼编写就是小周期绘制大周期K线,您看下效果
//周:
XX:=BARSLAST(WEEKDAY<REF(WEEKDAY,1))+1;
SP:=ISLASTBAR||REFX(XX=1,1);
OO:=REF(O,XX-1);
DRAWSL(SP&&C>OO,OO,0,-XX+1,0,COLORRED);
DRAWSL(SP&&C<OO,OO,0,-XX+1,0,COLORBLUE);
DRAWSL(SP&&C>OO,C,0,-XX+1,0,COLORRED);
DRAWSL(SP&&C<OO,C,0,-XX+1,0,COLORBLUE);
DRAWLINE(SP&&C>OO,C,1,OO,COLORRED);
DRAWLINE3(SP&&C>OO,C,XX-1,1,OO,XX-1,0),COLORRED;
DRAWLINE3(SP&&C>OO,HHV(H,XX),XX/2-1,1,C,XX/2-1,0),COLORRED;
DRAWLINE3(SP&&C>OO,LLV(L,XX),XX/2-1,1,OO,XX/2-1,0),COLORRED;
DRAWLINE(SP&&C<OO,C,1,OO,COLORBLUE);
DRAWLINE3(SP&&C<OO,C,XX-1,1,OO,XX-1,0),COLORBLUE;
DRAWLINE3(SP&&C<OO,HHV(H,XX),XX/2-1,1,OO,XX/2-1,0),COLORBLUE;
DRAWLINE3(SP&&C<OO,LLV(L,XX),XX/2-1,1,C,XX/2-1,0),COLORBLUE;
//月
XX:=BARSLAST(MONTH<>REF(MONTH,1))+1;
SP:=ISLASTBAR||REFX(XX=1,1);
OO:=REF(O,XX-1);
DRAWSL(SP&&C>OO,OO,0,-XX+1,0,COLORRED);
DRAWSL(SP&&C<OO,OO,0,-XX+1,0,COLORBLUE);
DRAWSL(SP&&C>OO,C,0,-XX+1,0,COLORRED);
DRAWSL(SP&&C<OO,C,0,-XX+1,0,COLORBLUE);
DRAWLINE(SP&&C>OO,C,1,OO,COLORRED);
DRAWLINE3(SP&&C>OO,C,XX-1,1,OO,XX-1,0),COLORRED;
DRAWLINE3(SP&&C>OO,HHV(H,XX),XX/2-1,1,C,XX/2-1,0),COLORRED;
DRAWLINE3(SP&&C>OO,LLV(L,XX),XX/2-1,1,OO,XX/2-1,0),COLORRED;
DRAWLINE(SP&&C<OO,C,1,OO,COLORBLUE);
DRAWLINE3(SP&&C<OO,C,XX-1,1,OO,XX-1,0),COLORBLUE;
DRAWLINE3(SP&&C<OO,HHV(H,XX),XX/2-1,1,OO,XX/2-1,0),COLORBLUE;
DRAWLINE3(SP&&C<OO,LLV(L,XX),XX/2-1,1,C,XX/2-1,0),COLORBLUE;
//季
XX:=BARSLAST(QUARTER<>REF(QUARTER,1))+1;
SP:=ISLASTBAR||REFX(XX=1,1);
OO:=REF(O,XX-1);
DRAWSL(SP&&C>OO,OO,0,-XX+1,0,COLORRED);
DRAWSL(SP&&C<OO,OO,0,-XX+1,0,COLORBLUE);
DRAWSL(SP&&C>OO,C,0,-XX+1,0,COLORRED);
DRAWSL(SP&&C<OO,C,0,-XX+1,0,COLORBLUE);
DRAWLINE(SP&&C>OO,C,1,OO,COLORRED);
DRAWLINE3(SP&&C>OO,C,XX-1,1,OO,XX-1,0),COLORRED;
DRAWLINE3(SP&&C>OO,HHV(H,XX),XX/2-1,1,C,XX/2-1,0),COLORRED;
DRAWLINE3(SP&&C>OO,LLV(L,XX),XX/2-1,1,OO,XX/2-1,0),COLORRED;
DRAWLINE(SP&&C<OO,C,1,OO,COLORBLUE);
DRAWLINE3(SP&&C<OO,C,XX-1,1,OO,XX-1,0),COLORBLUE;
DRAWLINE3(SP&&C<OO,HHV(H,XX),XX/2-1,1,OO,XX/2-1,0),COLORBLUE;
DRAWLINE3(SP&&C<OO,LLV(L,XX),XX/2-1,1,C,XX/2-1,0),COLORBLUE;
//年:
XX:=BARSLAST(YEAR<>REF(YEAR,1))+1;
SP:=ISLASTBAR||REFX(XX=1,1);
OO:=REF(O,XX-1);
DRAWSL(SP&&C>OO,OO,0,-XX+1,0,COLORRED);
DRAWSL(SP&&C<OO,OO,0,-XX+1,0,COLORBLUE);
DRAWSL(SP&&C>OO,C,0,-XX+1,0,COLORRED);
DRAWSL(SP&&C<OO,C,0,-XX+1,0,COLORBLUE);
DRAWLINE(SP&&C>OO,C,1,OO,COLORRED);
DRAWLINE3(SP&&C>OO,C,XX-1,1,OO,XX-1,0),COLORRED;
DRAWLINE3(SP&&C>OO,HHV(H,XX),XX/2-1,1,C,XX/2-1,0),COLORRED;
DRAWLINE3(SP&&C>OO,LLV(L,XX),XX/2-1,1,OO,XX/2-1,0),COLORRED;
DRAWLINE(SP&&C<OO,C,1,OO,COLORBLUE);
DRAWLINE3(SP&&C<OO,C,XX-1,1,OO,XX-1,0),COLORBLUE;
DRAWLINE3(SP&&C<OO,HHV(H,XX),XX/2-1,1,OO,XX/2-1,0),COLORBLUE;
DRAWLINE3(SP&&C<OO,LLV(L,XX),XX/2-1,1,C,XX/2-1,0),COLORBLUE;
6楼不支持阴影填充的方式,阴影填充需要知道每个框线内具体的K线根数,但框线内K线根数是不确定的。
2楼编写方式参考,需要您手动修改部分参数:
KV1:="MIN$5$V";//预期叠加到什么周期上
XX:=5;//加载和跨周期相差倍数
AA:BARSLAST(KV1<>REF(KV1,1))+1,NODRAW;
XXX:=INTPART(XX/2);//手动替换下边全部XXX为这里计算出来的XXX数值
STICKLINE1(AA=XXX+1&&REFX1(C,XXX)>REF(O,XXX),REFX1(C,XXX),REF(O,XXX),XX*4,0),RGB(111,0,0);
STICKLINE1(AA=XXX+1&&REFX1(C,XXX)<REF(O,XXX),REFX1(C,XXX),REF(O,XXX),XX*4,0),RGB(0,111,0);
STICKLINE1(AA=XXX+1&&REFX1(C,XXX)>REF(O,XXX),REFX(HHV(H,XX),XXX),REFX(LLV(L,XX),XXX),4,0),RGB(111,0,0);
STICKLINE1(AA=XXX+1&&REFX1(C,XXX)<REF(O,XXX),REFX(HHV(H,XX),XXX),REFX(LLV(L,XX),XXX),4,0),RGB(0,111,0);
DRAWKLINE1(H,O,L,C);
//5分钟框线,1分钟周期加载
KV1:="MIN$5$V";//预期叠加到什么周期上
XX:=5;//加载和跨周期相差倍数
AA:BARSLAST(KV1<>REF(KV1,1))+1,NODRAW;
XXX:=INTPART(XX/2);//手动替换下边部分XXX
STICKLINE1(AA=2+1&&REFX1(C,2)>REF(O,2),REFX1(C,2),REF(O,2),XX*4,0),COLORRED;
STICKLINE1(AA=2+1&&REFX1(C,2)<REF(O,2),REFX1(C,2),REF(O,2),XX*4,0),COLORBLUE;
STICKLINE1(AA=2+1&&REFX1(C,2)>REF(O,2),REFX(HHV(H,XX),2),REFX(LLV(L,XX),2),4,0),COLORRED;
STICKLINE1(AA=2+1&&REFX1(C,2)<REF(O,2),REFX(HHV(H,XX),2),REFX(LLV(L,XX),2),4,0),COLORBLUE;
DRAWKLINE1(H,O,L,C);
需要您量化出4个档位对应4种宽度
另外,新的问题请重新发帖提问,感谢您的配合。