核实一下,您是需要1楼的图标改为文字标注吗?
如果是,1楼表述思路中主观判断成分比较高
需要您具体量化一下,近高近低、回抽、反弹等的是如何判断的呢?
以反弹为例:
量化的方式需要具体比如5周期下跌0.3后如果上涨0.1定义为反弹
您参考这种方式再具体说明一下
分析了一下您的1楼源码
暂时没有函数可以取到趋势线的返回值,所以这里无法自编判断是否突破趋势线
这里需要您调整一下思路
核实下思路:
1.高点低点都为本交易日的高点与低点
2.以50%为例,日内K线最低价回调至(高点+低点)*50%以上比如3个最小变动价位定义为回调
此后收盘价价格上涨标注买开
参考:
CURRBARSCOUNT:=REFX1(BARPOS,10000)-BARPOS;
QA:=REF(H,10)=HHV(H,2*10+1);
QB:=BACKSET(QA,10+1);
QC:=FILTER(QB,10) AND H=HHV(H,10+1);
QD:=BARSLAST(QC);
QE:=IF(QC,CURRBARSCOUNT,0);
QF:=IF(QD,REF(QE,QD),QE);
QG:=REFX1(QF,10000);
QH:=REF(QF,QD+1);
QW:=REFX1(QH,10000);
DRAWLINE1(CURRBARSCOUNT=QW,H,CURRBARSCOUNT=QG,H,1),COLORGREEN;
DRAWLINE1(CURRBARSCOUNT=QW,H,ISLASTBAR,REF(H,QW),1),COLOR0099FF,POINTDOT;
DRAWLINE1(CURRBARSCOUNT=QG,H,ISLASTBAR,REF(H,QG),1),COLOR0099FF,POINTDOT;
QM:=4;
QR:=REF(H,QM)=HHV(H,2*QM+1);
QT:=FILTER(QR,QM);
QY:=BACKSET(QT,QM+1);
QU:=FILTER(QY,QM);
QI:=BACKSET(ISLASTBAR,BARSLAST(QU)+1);
QP:=QI>REF(QI,1);
QUU:=BACKSET(QP,SUMBARS(QU,2));
DRAWLINE1(QUU>REF(QUU,1),H,QP,H,1),COLORRED;
QA1:=REF(L,8)=LLV(L,2*8+1);
QB1:=BACKSET(QA1,8+1);
QC1:=FILTER(QB1,8) AND L=LLV(L,8+1);
QD1:=BARSLAST(QC1);
QE1:=IF(QC1,CURRBARSCOUNT,0);
QF1:=IF(QD1,REF(L,QD1),L);
QG1:=IF(QD1,REF(QE1,QD1),QE1);
QH1:=REFX1(QG1,10000);
QW1:=REF(QF1,QD1+1);
QM1:=REF(QG1,QD1+1);
QR1:=REFX1(QM1,10000);
DRAWLINE1(CURRBARSCOUNT=QR1,L,CURRBARSCOUNT=QH1,L,1),COLORBLUE;
DRAWLINE1(CURRBARSCOUNT=QH1,L,ISLASTBAR,REF(L,QH1),1),COLORWHITE,POINTDOT;
DRAWLINE1(CURRBARSCOUNT=QR1,L,ISLASTBAR,REF(L,QR1),1),COLORWHITE,POINTDOT;
QT1:=REF(L,QM)=LLV(L,2*QM+1);
QY1:=FILTER(QT1,QM);
QU1:=BACKSET(QY1,QM+1);
QI1:=FILTER(QU1,QM);
QP1:=BACKSET(ISLASTBAR,BARSLAST(QI1)+1);
QJ1:=QP1>REF(QP1,1);
QI11:=BACKSET(QP,SUMBARS(QI1,2));
DRAWLINE1(QI11>REF(QI11,1),L,QJ1,L,1),COLORRED;
SR1:=REF(HIGH,10)=HHV(HIGH,2*10+1);
SR2:=FILTER(SR1,10);
SR3:=BACKSET(SR2,10+1);
HD:=FILTER(SR3,10);
前高:=REF(H,BARSLAST(HD));
DRAWTEXT(CROSS(C,前高),L-0.20,'卖'),COLORGREEN;
HH:=HHV(H,DAYBARPOS);
LL:=LLV(L,DAYBARPOS);
CZ:=HH-LL;
HF5:=LL+CZ*0.5;
HF3:=LL+CZ*0.382;
HF2:=LL+CZ*0.236;
DRAWSL1(REFX(DAYBARPOS=1,1),HF5,0,DAYBARPOS,1);
DRAWSL1(REFX(DAYBARPOS=1,1),HF2,0,DAYBARPOS,1);
DRAWSL1(REFX(DAYBARPOS=1,1),HF3,0,DAYBARPOS,1);
DRAWTEXT(REF(H,5)-LLV(L,5)>5*MINPRICE && ABS(H-HF5)<3*MINPRICE,H,'卖'),COLORGREEN;
DRAWTEXT(REF(H,5)-LLV(L,5)>5*MINPRICE && ABS(H-HF3)<3*MINPRICE,H,'卖'),COLORGREEN;
DRAWTEXT(REF(H,5)-LLV(L,5)>5*MINPRICE && ABS(H-HF2)<3*MINPRICE,H,'卖'),COLORGREEN;
DRAWTEXT(HHV(H,5)-REF(L,5)>5*MINPRICE && ABS(L-HF5)<3*MINPRICE,L,'买'),COLORRED;
DRAWTEXT(HHV(H,5)-REF(L,5)>5*MINPRICE && ABS(L-HF3)<3*MINPRICE,L,'买'),COLORRED;
DRAWTEXT(HHV(H,5)-REF(L,5)>5*MINPRICE && ABS(L-HF2)<3*MINPRICE,L,'买'),COLORRED;