{Struct Guide 手机版通达信近似缠论主图公式} {仅用于学习分型 笔 线段 中枢的公式表达 不构成投资建议} {包含FILTERX BACKSET REFX BARSNEXT等未来函数 历史图形会回写} {仅绘制分型端点 笔 线段和中枢 不绘制涨跌停着色 方向箭头或端点编号} {一 K线方向 包含关系和初级转折} 向下K:=LOWREF(LOW,1) AND HIGH>REF(HIGH,1); 下含修1:=LOW=REF(HIGH,1) AND REF(LOW,1)>=REF(LOW,2) AND REF(HIGH,1)<=REF(HIGH,2) AND HIGHREF(HIGH,1) AND LOW<=REF(LOW,1) AND REF(HIGH,1)<=REF(HIGH,2) AND REF(LOW,1)>=REF(LOW,2) AND LOW>REF(LOW,2) AND COUNT(向上K,BARSLAST(向下K))=0; 下含修2:=HIGH=REF(HIGH,2) AND LOWREF(LOW,1) AND REF(HIGH,1)>=REF(HIGH,2) AND REF(LOW,1)<=REF(LOW,2) AND HIGH>REF(HIGH,2) AND COUNT(向上K,BARSLAST(向下K))=0; 有效下K:=向下K OR 下含修1 OR 下含修2; 有效上K:=向上K OR 上含修1 OR 上含修2; 上转折:=有效上K AND COUNT(有效上K,BARSLAST(有效下K))=1; 下转折:=有效下K AND COUNT(有效下K,BARSLAST(有效上K))=1; 初低值:=IF(上转折,LLV(LOW,1+BARSLAST(下转折)),0); 初低:=IF(初低值,初低值,REF(初低值,BARSLAST(初低值))); 初高值:=IF(下转折,HHV(HIGH,1+BARSLAST(上转折)),0); 初高:=IF(初高值,初高值,REF(初高值,BARSLAST(初高值))); {二 包含关系与候选K线计数} 外包K:=HIGH>=REF(HIGH,1) AND LOW<=REF(LOW,1); 内包K:=HIGH<=REF(HIGH,1) AND LOW>=REF(LOW,1); 包含K:=外包K OR 内包K; 上包修1:=HIGH>=REF(HIGH,1) AND LOW<=REF(LOW,1) AND REF(LOW,1)>=REF(HIGH,2) AND REF(HIGH,1)<=REF(HIGH,2) AND HIGH>=REF(HIGH,2); 上包修2:=HIGH<=REF(HIGH,1) AND LOW>=REF(LOW,1) AND REF(HIGH,1)>=REF(HIGH,2) AND REF(LOW,1)<=REF(LOW,2) AND LOW<=REF(LOW,2); 上含修:=上包修1 OR 上包修2 AND (COUNT(下转折,BARSLAST(上转折))=0 OR 下转折); 下包修1:=HIGH>=REF(HIGH,1) AND LOW<=REF(LOW,1) AND REF(HIGH,1)<=REF(HIGH,2) AND REF(LOW,1)>=REF(LOW,2) AND LOW>=REF(LOW,2); 下包修2:=HIGH<=REF(HIGH,1) AND LOW>=REF(LOW,2) AND REF(LOW,1)<=REF(LOW,2) AND REF(HIGH,1)>=REF(HIGH,2) AND HIGH>=REF(HIGH,2); 下含修:=下包修1 OR 下包修2 AND (COUNT(上转折,BARSLAST(下转折))=0 OR 上转折); 含修K:=上含修 OR 下含修; {三 按有效间隔和区间极值筛选笔候选} 笔高判1:=BARSLAST(初低!=REF(初低,1))-COUNT(包含K,BARSLAST(初低!=REF(初低,1)))+COUNT(含修K,BARSLAST(初低!=REF(初低,1)))>2 AND HIGH=HHV(HIGH,1+BARSLAST(初低!=REF(初低,1))) AND COUNT(LOW0; 笔高判2:=SUMBARS(初低!=REF(初低,1),2)-COUNT(包含K,SUMBARS(初低!=REF(初低,1),2))+COUNT(含修K,SUMBARS(初低!=REF(初低,1),2))>3 AND HIGH=HHV(HIGH,SUMBARS(初低!=REF(初低,1),2)) AND REF(初低,SUMBARS(初低!=REF(初低,1),2)-1)<=LLV(LOW,SUMBARS(初低!=REF(初低,1),2)); 笔高判3:=SUMBARS(初低!=REF(初低,1),3)-COUNT(包含K,SUMBARS(初低!=REF(初低,1),3))+COUNT(含修K,SUMBARS(初低!=REF(初低,1),3))>3 AND HIGH=HHV(HIGH,SUMBARS(初低!=REF(初低,1),3)) AND REF(初低,SUMBARS(初低!=REF(初低,1),3)-1)<=LLV(LOW,SUMBARS(初低!=REF(初低,1),3)); 笔高判4:=SUMBARS(初低!=REF(初低,1),4)-COUNT(包含K,SUMBARS(初低!=REF(初低,1),4))+COUNT(含修K,SUMBARS(初低!=REF(初低,1),4))>3 AND HIGH=HHV(HIGH,SUMBARS(初低!=REF(初低,1),4)) AND REF(初低,SUMBARS(初低!=REF(初低,1),4)-1)<=LLV(LOW,SUMBARS(初低!=REF(初低,1),4)); 笔高判5:=SUMBARS(初低!=REF(初低,1),5)-COUNT(包含K,SUMBARS(初低!=REF(初低,1),5))+COUNT(含修K,SUMBARS(初低!=REF(初低,1),5))>3 AND HIGH=HHV(HIGH,SUMBARS(初低!=REF(初低,1),5)) AND REF(初低,SUMBARS(初低!=REF(初低,1),5)-1)<=LLV(LOW,SUMBARS(初低!=REF(初低,1),5)); 笔高判6:=SUMBARS(初低!=REF(初低,1),6)-COUNT(包含K,SUMBARS(初低!=REF(初低,1),6))+COUNT(含修K,SUMBARS(初低!=REF(初低,1),6))>3 AND HIGH=HHV(HIGH,SUMBARS(初低!=REF(初低,1),6)) AND REF(初低,SUMBARS(初低!=REF(初低,1),6)-1)<=LLV(LOW,SUMBARS(初低!=REF(初低,1),6)); 笔低判1:=BARSLAST(初高!=REF(初高,1))-COUNT(包含K,BARSLAST(初高!=REF(初高,1)))+COUNT(含修K,BARSLAST(初高!=REF(初高,1)))>2 AND COUNT(HIGH>REF(初高,BARSLAST(初高!=REF(初高,1))),BARSLAST(初高!=REF(初高,1)))=0 AND LOW=LLV(LOW,BARSLAST(初高!=REF(初高,1))) AND BARSLAST(初高!=REF(初高,1))>0; 笔低判2:=SUMBARS(初高!=REF(初高,1),2)-COUNT(包含K,SUMBARS(初高!=REF(初高,1),2))+COUNT(含修K,SUMBARS(初高!=REF(初高,1),2))>3 AND LOW=LLV(LOW,SUMBARS(初高!=REF(初高,1),2)) AND REF(初高,SUMBARS(初高!=REF(初高,1),2)-1)>=HHV(HIGH,SUMBARS(初高!=REF(初高,1),2)); 笔低判3:=SUMBARS(初高!=REF(初高,1),3)-COUNT(包含K,SUMBARS(初高!=REF(初高,1),3))+COUNT(含修K,SUMBARS(初高!=REF(初高,1),3))>3 AND LOW=LLV(LOW,SUMBARS(初高!=REF(初高,1),3)) AND REF(初高,SUMBARS(初高!=REF(初高,1),3)-1)>=HHV(HIGH,SUMBARS(初高!=REF(初高,1),3)); 笔低判4:=SUMBARS(初高!=REF(初高,1),4)-COUNT(包含K,SUMBARS(初高!=REF(初高,1),4))+COUNT(含修K,SUMBARS(初高!=REF(初高,1),4))>3 AND LOW=LLV(LOW,SUMBARS(初高!=REF(初高,1),4)) AND REF(初高,SUMBARS(初高!=REF(初高,1),4)-1)>=HHV(HIGH,SUMBARS(初高!=REF(初高,1),4)); 笔低判5:=SUMBARS(初高!=REF(初高,1),5)-COUNT(包含K,SUMBARS(初高!=REF(初高,1),5))+COUNT(含修K,SUMBARS(初高!=REF(初高,1),5))>3 AND LOW=LLV(LOW,SUMBARS(初高!=REF(初高,1),5)) AND REF(初高,SUMBARS(初高!=REF(初高,1),5)-1)>=HHV(HIGH,SUMBARS(初高!=REF(初高,1),5)); 笔低判6:=SUMBARS(初高!=REF(初高,1),6)-COUNT(包含K,SUMBARS(初高!=REF(初高,1),6))+COUNT(含修K,SUMBARS(初高!=REF(初高,1),6))>3 AND LOW=LLV(LOW,SUMBARS(初高!=REF(初高,1),6)) AND REF(初高,SUMBARS(初高!=REF(初高,1),6)-1)>=HHV(HIGH,SUMBARS(初高!=REF(初高,1),6)); 笔高候选:=笔高判1 OR 笔高判2 OR 笔高判3 OR 笔高判4 OR 笔高判5 OR 笔高判6; 笔低候选:=笔低判1 OR 笔低判2 OR 笔低判3 OR 笔低判4 OR 笔低判5 OR 笔低判6; 笔高交替:=笔高候选 AND COUNT(笔高候选,1+BARSLAST(笔低候选))=1; 笔低交替:=笔低候选 AND COUNT(笔低候选,1+BARSLAST(笔高候选))=1; 笔低值:=IF(笔高交替,LLV(LOW,1+BARSLAST(笔低交替)),0); 笔低:=IF(笔低值,笔低值,REF(笔低值,BARSLAST(笔低值))); 笔高值:=IF(笔低交替,HHV(HIGH,1+BARSLAST(笔高交替)),0); 笔高:=IF(笔高值,笔高值,REF(笔高值,BARSLAST(笔高值))); {四 FILTERX反向过滤端点 会使用后续K线并重绘历史结果} 笔区高:=HHV(HIGH,1+BARSLAST(笔低值))=HIGH; 笔区低:=LLV(LOW,1+BARSLAST(笔高值))=LOW; 笔高反滤:=FILTERX(笔区高,BARSLAST(笔区低)); 笔低反滤:=FILTERX(笔区低,BARSLAST(笔区高)); 笔端低值:=IF(笔低反滤,LOW,0); 笔端高值:=IF(笔高反滤,HIGH,0); 笔端低:=IF(笔端低值>0,笔端低值,REF(笔端低值,BARSLAST(笔端低值>0))); 笔端高:=IF(笔端高值>0,笔端高值,REF(笔端高值,BARSLAST(笔端高值>0))); {五 从笔端点继续提取线段候选} 段高初判:=BARSLAST(笔低反滤)-COUNT(包含K,BARSLAST(笔低反滤))+COUNT(含修K,BARSLAST(笔低反滤))>3 AND COUNT(LOW0; 段低初判:=BARSLAST(笔高反滤)-COUNT(包含K,BARSLAST(笔高反滤))+COUNT(含修K,BARSLAST(笔高反滤))>3 AND COUNT(HIGH>REF(笔端高,BARSLAST(笔高反滤)),BARSLAST(笔高反滤))=0 AND LOW=LLV(LOW,BARSLAST(笔高反滤)) AND BARSLAST(笔高反滤)>0; 段高反滤1:=FILTERX(段高初判,BARSLAST(段低初判)); 段低反滤1:=FILTERX(段低初判,BARSLAST(段高初判)); 段低值1:=IF(段低反滤1,LOW,0); 段高值1:=IF(段高反滤1,HIGH,0); 段低1:=IF(段低值1>0,段低值1,REF(段低值1,BARSLAST(段低值1>0))); 段高1:=IF(段高值1>0,段高值1,REF(段高值1,BARSLAST(段高值1>0))); {六 线段端点的极值替换与交替过滤} 段低极值:=LLV(LOW,1+BARSLAST(段低1!=REF(段低1,1) OR (段低值1>0 AND 段低1=REF(段低1,1))))=LOW AND COUNT(段高1!=REF(段高1,1),BARSLAST(段低1!=REF(段低1,1) OR (段低值1>0 AND 段低1=REF(段低1,1))))=0; 段高极值:=HHV(HIGH,1+BARSLAST(段高1!=REF(段高1,1) OR (段高值1>0 AND 段高1=REF(段高1,1))))=HIGH AND COUNT(段低1!=REF(段低1,1),BARSLAST(段高1!=REF(段高1,1) OR (段高值1>0 AND 段高1=REF(段高1,1))))=0; 段高反滤2:=FILTERX(段高极值,BARSLAST(段低极值)); 段低反滤2:=FILTERX(段低极值,BARSLAST(段高极值)); 段端低值:=IF(段低反滤2,LOW,0); 段端高值:=IF(段高反滤2,HIGH,0); 段端低:=IF(段端低值>0,段端低值,REF(段端低值,BARSLAST(段端低值>0))); 段端高:=IF(段端高值>0,段端高值,REF(段端高值,BARSLAST(段端高值>0))); {七 通过有限轮次的突破过滤近似更高层结构} 上破参高1:=IF(段端低>REF(段端低,1),段端高,REF(段端高,BARSLAST(段端低>REF(段端低,1)))); 下破参低1:=IF(段端高上破参高1 AND COUNT(HIGH>上破参高1,BARSLAST(LOW<下破参低1))=1 AND BARSLAST(段端低>REF(段端低,1))REF(段端高,1)); 下破1:=LOW<下破参低1 AND COUNT(LOW<下破参低1,BARSLAST(HIGH>上破参高1))=1 AND BARSLAST(段端低BARSLAST(段端高0,低端值2,REF(低端值2,BARSLAST(低端值2>0))); 高端2:=IF(高端值2>0,高端值2,REF(高端值2,BARSLAST(高端值2>0))); 上破参高2:=IF(低端2>REF(低端2,1),高端2,REF(高端2,BARSLAST(低端2>REF(低端2,1)))); 下破参低2:=IF(高端2上破参高2 AND COUNT(HIGH>上破参高2,BARSLAST(LOW<下破参低2))=1; 下破2:=LOW<下破参低2 AND COUNT(LOW<下破参低2,BARSLAST(HIGH>上破参高2))=1; 上破低值2:=IF(上破2,LLV(LOW,1+BARSLAST(下破2)),0); 上破低2:=IF(上破低值2,上破低值2,REF(上破低值2,BARSLAST(上破低值2))); 下破高值2:=IF(下破2,HHV(HIGH,1+BARSLAST(上破2)),0); 下破高2:=IF(下破高值2,下破高值2,REF(下破高值2,BARSLAST(下破高值2))); 高极值3:=HHV(HIGH,1+BARSLAST(上破低值2))=HIGH; 低极值3:=LLV(LOW,1+BARSLAST(下破高值2))=LOW; 高反滤3:=FILTERX(高极值3,BARSLAST(低极值3)); 低反滤3:=FILTERX(低极值3,BARSLAST(高极值3)); 低端值3:=IF(低反滤3,LOW,0); 高端值3:=IF(高反滤3,HIGH,0); 低端3:=IF(低端值3>0,低端值3,REF(低端值3,BARSLAST(低端值3>0))); 高端3:=IF(高端值3>0,高端值3,REF(高端值3,BARSLAST(高端值3>0))); 上破参高3:=IF(低端3>REF(低端3,1),高端3,REF(高端3,BARSLAST(低端3>REF(低端3,1)))); 下破参低3:=IF(高端3上破参高3 AND COUNT(HIGH>上破参高3,BARSLAST(LOW<下破参低3))=1; 下破3:=LOW<下破参低3 AND COUNT(LOW<下破参低3,BARSLAST(HIGH>上破参高3))=1; 上破低值3:=IF(上破3,LLV(LOW,1+BARSLAST(下破3)),0); 上破低3:=IF(上破低值3,上破低值3,REF(上破低值3,BARSLAST(上破低值3))); 下破高值3:=IF(下破3,HHV(HIGH,1+BARSLAST(上破3)),0); 下破高3:=IF(下破高值3,下破高值3,REF(下破高值3,BARSLAST(下破高值3))); 高极值4:=HHV(HIGH,1+BARSLAST(上破低值3))=HIGH; 低极值4:=LLV(LOW,1+BARSLAST(下破高值3))=LOW; 高反滤4:=FILTERX(高极值4,BARSLAST(低极值4)); 低反滤4:=FILTERX(低极值4,BARSLAST(高极值4)); 低端值4:=IF(低反滤4,LOW,0); 高端值4:=IF(高反滤4,HIGH,0); 低端4:=IF(低端值4>0,低端值4,REF(低端值4,BARSLAST(低端值4>0))); 高端4:=IF(高端值4>0,高端值4,REF(高端值4,BARSLAST(高端值4>0))); {八 用相邻高低端点交集计算中枢候选上下沿} 上枢重叠:=段端低!=REF(段端低,1) AND 段端低<=REF(段端高,1+BARSLAST(段端高!=REF(段端高,1))); 上枢上候选:=MIN(REF(段端高,1+BARSLAST(段端高!=REF(段端高,1))),REF(段端高,BARSLAST(段端高!=REF(段端高,1)))); 上枢下候选:=MAX(REF(段端低,1+BARSLAST(段端低!=REF(段端低,1))),REF(段端低,BARSLAST(段端低!=REF(段端低,1)))); 上枢上沿:=IF(上枢重叠,上枢上候选,REF(上枢上候选,BARSLAST(上枢重叠))); 上枢下沿:=IF(上枢重叠,上枢下候选,REF(上枢下候选,BARSLAST(上枢重叠))); 下枢重叠:=段端高!=REF(段端高,1) AND 段端高>=REF(段端低,1+BARSLAST(段端低!=REF(段端低,1))); 下枢上候选:=MIN(REF(段端高,1+BARSLAST(段端高!=REF(段端高,1))),REF(段端高,BARSLAST(段端高!=REF(段端高,1)))); 下枢下候选:=MAX(REF(段端低,1+BARSLAST(段端低!=REF(段端低,1))),REF(段端低,BARSLAST(段端低!=REF(段端低,1)))); 下枢上沿:=IF(下枢重叠,下枢上候选,REF(下枢上候选,BARSLAST(下枢重叠))); 下枢下沿:=IF(下枢重叠,下枢下候选,REF(下枢下候选,BARSLAST(下枢重叠))); {九 中枢离开 返回和延伸状态 通达信无循环所以手工展开有限轮次} 上枢启动:=段端低>REF(段端低,1) AND 段端低>LLV(段端高,BARSLAST(低端值2>0)) AND COUNT(段端低>REF(段端低,1) AND 段端低>LLV(段端高,BARSLAST(低端值2>0)),BARSLAST(低端值2>0))=1; 上枢确认0:=上枢重叠 AND COUNT(上枢重叠,BARSLAST(上枢启动))=1; 上离1:=段端低>REF(段端低,1) AND 段端低>REF(上枢上沿,BARSLAST(上枢确认0)) AND COUNT(段端高<上枢下沿,BARSLAST(上枢确认0))=0 AND COUNT(段端低>REF(段端低,1) AND 段端低>REF(上枢上沿,BARSLAST(上枢确认0)),BARSLAST(上枢确认0))=1; 下离1:=段端高上枢上沿,BARSLAST(上枢确认0))=0 AND COUNT(段端高0; 下枢确认1:=下枢重叠 AND COUNT(下枢重叠,BARSLAST(下离1))=1 AND BARSLAST(下离1)>0; 上离2:=段端低>REF(段端低,1) AND 段端低>REF(上枢上沿,BARSLAST(上枢确认1)) AND COUNT(段端高<上枢下沿,BARSLAST(上枢确认1))=0 AND COUNT(段端低>REF(段端低,1) AND 段端低>REF(上枢上沿,BARSLAST(上枢确认1)),BARSLAST(上枢确认1))=1; 下离2:=段端高上枢上沿,BARSLAST(上枢确认1))=0 AND COUNT(段端高0; 下枢确认2:=下枢重叠 AND COUNT(下枢重叠,BARSLAST(下离2))=1 AND BARSLAST(下离2)>0; 上离3:=段端低>REF(段端低,1) AND 段端低>REF(上枢上沿,BARSLAST(上枢确认2)) AND COUNT(段端高<上枢下沿,BARSLAST(上枢确认2))=0 AND COUNT(段端低>REF(段端低,1) AND 段端低>REF(上枢上沿,BARSLAST(上枢确认2)),BARSLAST(上枢确认2))=1; 下离3:=段端高上枢上沿,BARSLAST(上枢确认2))=0 AND COUNT(段端高0; 下枢确认3:=下枢重叠 AND COUNT(下枢重叠,BARSLAST(下离3))=1 AND BARSLAST(下离3)>0; 上离4:=段端低>REF(段端低,1) AND 段端低>REF(上枢上沿,BARSLAST(上枢确认3)) AND COUNT(段端高<上枢下沿,BARSLAST(上枢确认3))=0 AND COUNT(段端低>REF(段端低,1) AND 段端低>REF(上枢上沿,BARSLAST(上枢确认3)),BARSLAST(上枢确认3))=1; 下离4:=段端高上枢上沿,BARSLAST(上枢确认3))=0 AND COUNT(段端高0; 下枢确认4:=下枢重叠 AND COUNT(下枢重叠,BARSLAST(下离4))=1 AND BARSLAST(下离4)>0; 上离5:=段端低>REF(段端低,1) AND 段端低>REF(上枢上沿,BARSLAST(上枢确认4)) AND COUNT(段端高<上枢下沿,BARSLAST(上枢确认4))=0 AND COUNT(段端低>REF(段端低,1) AND 段端低>REF(上枢上沿,BARSLAST(上枢确认4)),BARSLAST(上枢确认4))=1; 下离5:=段端高上枢上沿,BARSLAST(上枢确认4))=0 AND COUNT(段端高0; 下枢确认5:=下枢重叠 AND COUNT(下枢重叠,BARSLAST(下离5))=1 AND BARSLAST(下离5)>0; 上离6:=段端低>REF(段端低,1) AND 段端低>REF(上枢上沿,BARSLAST(上枢确认5)) AND COUNT(段端高<上枢下沿,BARSLAST(上枢确认5))=0 AND COUNT(段端低>REF(段端低,1) AND 段端低>REF(上枢上沿,BARSLAST(上枢确认5)),BARSLAST(上枢确认5))=1; 下离6:=段端高上枢上沿,BARSLAST(上枢确认5))=0 AND COUNT(段端高0; 下枢确认6:=下枢重叠 AND COUNT(下枢重叠,BARSLAST(下离6))=1 AND BARSLAST(下离6)>0; 上离7:=段端低>REF(段端低,1) AND 段端低>REF(上枢上沿,BARSLAST(上枢确认6)) AND COUNT(段端高<上枢下沿,BARSLAST(上枢确认6))=0 AND COUNT(段端低>REF(段端低,1) AND 段端低>REF(上枢上沿,BARSLAST(上枢确认6)),BARSLAST(上枢确认6))=1; 下离7:=段端高上枢上沿,BARSLAST(上枢确认6))=0 AND COUNT(段端高0; 下枢确认7:=下枢重叠 AND COUNT(下枢重叠,BARSLAST(下离7))=1 AND BARSLAST(下离7)>0; 下枢启动:=段端高0)) AND COUNT(段端高0)),BARSLAST(高端值2>0))=1; 下枢确认0:=下枢重叠 AND COUNT(下枢重叠,BARSLAST(下枢启动))=1; 反向上离1:=段端低>REF(段端低,1) AND 段端低>REF(下枢上沿,BARSLAST(下枢确认0)) AND COUNT(段端高<下枢下沿,BARSLAST(下枢确认0))=0 AND COUNT(段端低>REF(段端低,1) AND 段端低>REF(下枢上沿,BARSLAST(下枢确认0)),BARSLAST(下枢确认0))=1; 反向下离1:=段端高下枢上沿,BARSLAST(下枢确认0))=0 AND COUNT(段端高0; 下枢确认8:=下枢重叠 AND COUNT(下枢重叠,BARSLAST(反向下离1))=1 AND BARSLAST(反向下离1)>0; 反向上离2:=段端低>REF(段端低,1) AND 段端低>REF(下枢上沿,BARSLAST(下枢确认8)) AND COUNT(段端高<下枢下沿,BARSLAST(下枢确认8))=0 AND COUNT(段端低>REF(段端低,1) AND 段端低>REF(下枢上沿,BARSLAST(下枢确认8)),BARSLAST(下枢确认8))=1; 反向下离2:=段端高下枢上沿,BARSLAST(下枢确认8))=0 AND COUNT(段端高0; 下枢确认9:=下枢重叠 AND COUNT(下枢重叠,BARSLAST(反向下离2))=1 AND BARSLAST(反向下离2)>0; 反向上离3:=段端低>REF(段端低,1) AND 段端低>REF(下枢上沿,BARSLAST(下枢确认9)) AND COUNT(段端高<下枢下沿,BARSLAST(下枢确认9))=0 AND COUNT(段端低>REF(段端低,1) AND 段端低>REF(下枢上沿,BARSLAST(下枢确认9)),BARSLAST(下枢确认9))=1; 反向下离3:=段端高下枢上沿,BARSLAST(下枢确认9))=0 AND COUNT(段端高0; 下枢确认10:=下枢重叠 AND COUNT(下枢重叠,BARSLAST(反向下离3))=1 AND BARSLAST(反向下离3)>0; 反向上离4:=段端低>REF(段端低,1) AND 段端低>REF(下枢上沿,BARSLAST(下枢确认10)) AND COUNT(段端高<下枢下沿,BARSLAST(下枢确认10))=0 AND COUNT(段端低>REF(段端低,1) AND 段端低>REF(下枢上沿,BARSLAST(下枢确认10)),BARSLAST(下枢确认10))=1; 反向下离4:=段端高下枢上沿,BARSLAST(下枢确认10))=0 AND COUNT(段端高0; 下枢确认11:=下枢重叠 AND COUNT(下枢重叠,BARSLAST(反向下离4))=1 AND BARSLAST(反向下离4)>0; 反向上离5:=段端低>REF(段端低,1) AND 段端低>REF(下枢上沿,BARSLAST(下枢确认11)) AND COUNT(段端高<下枢下沿,BARSLAST(下枢确认11))=0 AND COUNT(段端低>REF(段端低,1) AND 段端低>REF(下枢上沿,BARSLAST(下枢确认11)),BARSLAST(下枢确认11))=1; 反向下离5:=段端高下枢上沿,BARSLAST(下枢确认11))=0 AND COUNT(段端高0; 下枢确认12:=下枢重叠 AND COUNT(下枢重叠,BARSLAST(反向下离5))=1 AND BARSLAST(反向下离5)>0; 反向上离6:=段端低>REF(段端低,1) AND 段端低>REF(下枢上沿,BARSLAST(下枢确认12)) AND COUNT(段端高<下枢下沿,BARSLAST(下枢确认12))=0 AND COUNT(段端低>REF(段端低,1) AND 段端低>REF(下枢上沿,BARSLAST(下枢确认12)),BARSLAST(下枢确认12))=1; 反向下离6:=段端高下枢上沿,BARSLAST(下枢确认12))=0 AND COUNT(段端高0; 下枢确认13:=下枢重叠 AND COUNT(下枢重叠,BARSLAST(反向下离6))=1 AND BARSLAST(反向下离6)>0; 反向上离7:=段端低>REF(段端低,1) AND 段端低>REF(下枢上沿,BARSLAST(下枢确认13)) AND COUNT(段端高<下枢下沿,BARSLAST(下枢确认13))=0 AND COUNT(段端低>REF(段端低,1) AND 段端低>REF(下枢上沿,BARSLAST(下枢确认13)),BARSLAST(下枢确认13))=1; 反向下离7:=段端高下枢上沿,BARSLAST(下枢确认13))=0 AND COUNT(段端高0; 下枢确认14:=下枢重叠 AND COUNT(下枢重叠,BARSLAST(反向下离7))=1 AND BARSLAST(反向下离7)>0; {十 汇总上行方向中枢边界} 上枢成立:=上枢确认0 OR 上枢确认1 OR 上枢确认2 OR 上枢确认3 OR 上枢确认4 OR 上枢确认5 OR 上枢确认6 OR 上枢确认7 OR 上枢确认8 OR 上枢确认9 OR 上枢确认10 OR 上枢确认11 OR 上枢确认12 OR 上枢确认13 OR 上枢确认14; 上枢上轨:=IF(上枢成立>0,上枢上候选,REF(上枢上候选,BARSLAST(上枢成立>0))); 上枢下轨:=IF(上枢成立>0,上枢下候选,REF(上枢下候选,BARSLAST(上枢成立>0))); 上枢中线:=(上枢上轨-上枢下轨)/2+上枢下轨; 距上枢:=BARSLAST(上枢成立); 上枢回写:=BACKSET(距上枢=0,SUMBARS(段端高值>0,2)-1); {十一 汇总下行方向中枢边界} 下枢成立:=下枢确认1 OR 下枢确认2 OR 下枢确认3 OR 下枢确认4 OR 下枢确认5 OR 下枢确认6 OR 下枢确认7 OR 下枢确认0 OR 下枢确认8 OR 下枢确认9 OR 下枢确认10 OR 下枢确认11 OR 下枢确认12 OR 下枢确认13 OR 下枢确认14; 下枢上轨:=IF(下枢成立,下枢上候选,REF(下枢上候选,BARSLAST(下枢成立))); 下枢下轨:=IF(下枢成立,下枢下候选,REF(下枢下候选,BARSLAST(下枢成立))); 下枢中线:=(下枢上轨-下枢下轨)/2+下枢下轨; 距下枢:=BARSLAST(下枢成立); 下枢回写:=BACKSET(距下枢=0,SUMBARS(段端低值>0,2)-1); {十二 浅色填充中枢并重绘K线和中枢边框} 上枢填充上轨:=IF(上枢回写,REFX(上枢上沿,BARSNEXT(上枢成立)),DRAWNULL); 上枢填充下轨:=IF(上枢回写,REFX(上枢下沿,BARSNEXT(上枢成立)),DRAWNULL); DRAWBAND(上枢填充上轨,RGB(210,225,245),上枢填充下轨,RGB(210,225,245)); 下枢填充上轨:=IF(下枢回写,REFX(下枢上沿,BARSNEXT(下枢成立)),DRAWNULL); 下枢填充下轨:=IF(下枢回写,REFX(下枢下沿,BARSNEXT(下枢成立)),DRAWNULL); DRAWBAND(下枢填充上轨,RGB(200,220,240),下枢填充下轨,RGB(200,220,240)); DRAWKLINE(HIGH,OPEN,LOW,CLOSE); DRAWLINE(CROSS(上枢回写,0.5),REFX(上枢上沿,BARSNEXT(上枢成立)),上枢成立,上枢上沿,0),COLORRED,LINETHICK2; DRAWLINE(CROSS(上枢回写,0.5),REFX(上枢下沿,BARSNEXT(上枢成立)),上枢成立,上枢下沿,0),COLORRED,LINETHICK2; DRAWLINE(CROSS(上枢回写,0.5),(REFX(上枢上沿,BARSNEXT(上枢成立))-REFX(上枢下沿,BARSNEXT(上枢成立)))/2+REFX(上枢下沿,BARSNEXT(上枢成立)),上枢成立,(REFX(上枢上沿,BARSNEXT(上枢成立))-REFX(上枢下沿,BARSNEXT(上枢成立)))/2+REFX(上枢下沿,BARSNEXT(上枢成立)),0),COLORRED,LINETHICK2; STICKLINE(CROSS(上枢回写,0.5),REFX(上枢上沿,BARSNEXT(上枢成立)),REFX(上枢下沿,BARSNEXT(上枢成立)),0,0),COLORRED,LINETHICK2; STICKLINE(上枢成立,上枢上沿,上枢下沿,0,0),COLORRED,LINETHICK2; DRAWLINE(CROSS(下枢回写,0.5),REFX(下枢上沿,BARSNEXT(下枢成立)),下枢成立,下枢上沿,0),COLOR00881A,LINETHICK2; DRAWLINE(CROSS(下枢回写,0.5),REFX(下枢下沿,BARSNEXT(下枢成立)),下枢成立,下枢下沿,0),COLOR00881A,LINETHICK2; DRAWLINE(CROSS(下枢回写,0.5),(REFX(下枢上沿,BARSNEXT(下枢成立))-REFX(下枢下沿,BARSNEXT(下枢成立)))/2+REFX(下枢下沿,BARSNEXT(下枢成立)),下枢成立,(REFX(下枢上沿,BARSNEXT(下枢成立))-REFX(下枢下沿,BARSNEXT(下枢成立)))/2+REFX(下枢下沿,BARSNEXT(下枢成立)),0),COLOR00881A,LINETHICK2; STICKLINE(CROSS(下枢回写,0.5),REFX(下枢上沿,BARSNEXT(下枢成立)),REFX(下枢下沿,BARSNEXT(下枢成立)),0,0),COLOR00881A,LINETHICK2; STICKLINE(下枢成立,下枢上沿,下枢下沿,0,0),COLOR00881A,LINETHICK2; {十三 绘制分型端点 笔与线段} 初区高:=HHV(HIGH,1+BARSLAST(初低值))=HIGH; 初区低:=LLV(LOW,1+BARSLAST(初高值))=LOW; 初高反滤:=FILTERX(初区高,BARSLAST(初区低)); 初低反滤:=FILTERX(初区低,BARSLAST(初区高)); 基础低值:=IF(初低反滤,LOW,0); 基础高值:=IF(初高反滤,HIGH,0); 基础低:=IF(基础低值>0,基础低值,REF(基础低值,BARSLAST(基础低值>0))); 基础高:=IF(基础高值>0,基础高值,REF(基础高值,BARSLAST(基础高值>0))); DRAWLINE(基础高值,HIGH,基础低值,LOW,0),COLORWHITE; DRAWLINE(基础低值,LOW,基础高值,HIGH,0),COLORWHITE; DRAWLINE(段端高值,HIGH,段端低值,LOW,0),COLOR00881A,LINETHICK2; DRAWLINE(段端低值,LOW,段端高值,HIGH,0),COLORRED,LINETHICK2;