乐于分享
好东西不私藏

文华指标公式-顶底形态识别源码-捕捉双顶头肩顶三重顶_V形顶_圆弧顶_自动画红绿框

文华指标公式-顶底形态识别源码-捕捉双顶头肩顶三重顶_V形顶_圆弧顶_自动画红绿框

点击蓝字 关注我们

指标编写,修改,加密指标和谐

声明:分享的指标公式源码,仅供个人学习和研究技术所用,不具备任何操作指导功能,依次操作,所有责任自己承担,无本公众号无关!


2026年公众号更新了推送规则,看完文章麻烦大家点赞+转发+爱❤,您的每一次鼓励,都是我们继续前行的动力,感谢!


1、指标截图:

2、公式源码:

【温馨提示:指标为技术分析辅助工具,不构成任何建议,操作有风险,决策需谨慎】

文华版源码:

N:=20; // 形态识别周期(期货建议15-30,商品期货20,股指15,原油25) 

PRICE_DEV:=0.02; // 价格允许偏差2% 高低点误差范围

 VOL_MULTIPLE:=1.2;

 VOL_AVG:=MA(VOL,N); 

BK_LEFT:=BARPOS-N;

 BK_RIGHT:=BARPOS; // 框的右边界K线位置 

BK_LOW:=LLV(L,N); // 框的下沿价格(N周期最低价)

 BK_HIGH:=HHV(H,N); 

HHV_LEFT:=REF(HHV(H,N/2),N/2); 

HHV_RIGHT:=HHV(H,N/2); 

LOW_MID:=REF(LLV(L,N/2),N/4); 

DOUBLE_TOP:=HHV_LEFT>0 AND ABS(HHV_LEFT-HHV_RIGHT)/HHV_LEFT<=PRICE_DEV AND C<LOW_MID AND VOL>VOL_AVG*VOL_MULTIPLE; // 2. 头肩顶 精准判定 

HEAD:=REF(HHV(H,N),N/3); 

SHOULDER_L:=REF(HHV(H,N/2),2*N/3); 

SHOULDER_R:=HHV(H,N/2); 

NECK_LINE_TOP:=REF(LLV(L,N/2),N/4); 

HEAD_SHOULDER_TOP:=SHOULDER_L>0 AND HEAD>SHOULDER_L AND HEAD>SHOULDER_R AND ABS(SHOULDER_L-SHOULDER_R)/SHOULDER_L<=PRICE_DEV 

AND C<NECK_LINE_TOP AND VOL>VOL_AVG*VOL_MULTIPLE; // 3. 三重顶 精准判定

 HIGH1:=REF(HHV(H,N/3),2*N/3); 

HIGH2:=REF(HHV(H,N/3),N/3); 

HIGH3:=HHV(H,N/3); 

TRIPLE_TOP:=HIGH1>0 AND ABS(HIGH1-HIGH2)/HIGH1<=PRICE_DEV AND ABS(HIGH2-HIGH3)/HIGH2<=PRICE_DEV 

AND C<REF(LLV(L,N/2),N/4) AND VOL>VOL_AVG*VOL_MULTIPLE; // 4. 圆弧顶(高位弧形回落) 

HIGH_MA5:=MA(H,5); 

HIGH_MA15:=MA(H,15); 

ARC_TOP:=REF(HIGH_MA5>HIGH_MA15,1) AND HIGH_MA5<HIGH_MA15

 AND (H-REF(H,1))/MAX(REF(H,1),0.0001)<=-0.03 AND VOL>VOL_AVG*VOL_MULTIPLE; // 5. V形顶(倒V顶 急涨急跌)

 RISE:=REF((HHV(H,10)-REF(HHV(H,10),10))/MAX(REF(HHV(H,10),10),0.0001)>=0.1,1); 

DROP:=(REF(C,1)-C)/MAX(REF(C,1),0.0001)>=0.1; 

V_TOP:=RISE AND DROP AND VOL>VOL_AVG*VOL_MULTIPLE; // 合并所有顶部形态 → 满足任意一种顶形态,就触发红色框 

TOP_ALL:=DOUBLE_TOP OR HEAD_SHOULDER_TOP OR TRIPLE_TOP OR ARC_TOP OR V_TOP;

LLV_LEFT:=REF(LLV(L,N/2),N/2); 

LLV_RIGHT:=LLV(L,N/2); 

HIGH_MID:=REF(HHV(H,N/2),N/4); 

DOUBLE_BOTTOM:=LLV_LEFT>0 

AND ABS(LLV_LEFT-LLV_RIGHT)/LLV_LEFT<=PRICE_DEV AND C>HIGH_MID AND VOL>VOL_AVG*VOL_MULTIPLE; // 2. 头肩底 精准判定

 HEAD_B:=REF(LLV(L,N),N/3); 

SHOULDER_L_B:=REF(LLV(L,N/2),2*N/3); 

SHOULDER_R_B:=LLV(L,N/2); 

NECK_LINE_BOTTOM:=REF(HHV(H,N/2),N/4); 

HEAD_SHOULDER_BOTTOM:=SHOULDER_L_B>0 AND HEAD_B<SHOULDER_L_B AND HEAD_B<SHOULDER_R_B 

AND ABS(SHOULDER_L_B-SHOULDER_R_B)/SHOULDER_L_B<=PRICE_DEV AND C>NECK_LINE_BOTTOM AND VOL>VOL_AVG*VOL_MULTIPLE; // 3. 三重底 精准判定 

LOW1:=REF(LLV(L,N/3),2*N/3); 

LOW2:=REF(LLV(L,N/3),N/3); 

LOW3:=LLV(L,N/3); 

TRIPLE_BOTTOM:=LOW1>0 AND ABS(LOW1-LOW2)/LOW1<=PRICE_DEV AND ABS(LOW2-LOW3)/LOW2<=PRICE_DEV AND C>REF(HHV(H,N/2),N/4) 

AND VOL>VOL_AVG*VOL_MULTIPLE; // 4. 圆弧底(低位弧形爬升) 

LOW_MA5:=MA(L,5); 

LOW_MA15:=MA(L,15); 

ARC_BOTTOM:=REF(LOW_MA5<LOW_MA15,1) AND LOW_MA5>LOW_MA15 AND (C-REF(C,1))/MAX(REF(C,1),0.0001)>=0.03 AND VOL>VOL_AVG*VOL_MULTIPLE; 

 DROP_B:=REF((REF(LLV(L,10),10)-LLV(L,10))/MAX(REF(LLV(L,10),10),0.0001)>=0.1,1); 

RISE_B:=(C-REF(C,1))/MAX(REF(C,1),0.0001)>=0.1; 

V_BOTTOM:=DROP_B AND RISE_B AND VOL>VOL_AVG*VOL_MULTIPLE; 

 BOTTOM_ALL:=DOUBLE_BOTTOM OR HEAD_SHOULDER_BOTTOM OR TRIPLE_BOTTOM OR ARC_BOTTOM OR V_BOTTOM;

// ★ 顶部形态:画【红色矩形框】- 四条红线:左竖线+右竖线+上横线+下横线 

DRAWLINE3(TOP_ALL,BK_LOW,N/2,1,BK_HIGH,N/2,0),COLORRED; // 红框:左侧竖线 

DRAWLINE3(TOP_ALL,BK_LOW,N/2,1,BK_LOW,0,0),COLORRED; // 红框:左侧竖线 

DRAWLINE3(TOP_ALL,BK_HIGH,N/2,1,BK_HIGH,0,0),COLORRED; // 红框:左侧竖线 

DRAWLINE3(TOP_ALL,BK_LOW,0,1,BK_HIGH,0,0),COLORRED; // 红框:左侧竖线 

// ★ 底部形态:画【绿色矩形框】- 四条绿线:左竖线+右竖线+上横线+下横线 

DRAWLINE3(BOTTOM_ALL,BK_LOW,N/2,1,BK_HIGH,N/2,0),COLORGREEN; // 绿框:左侧竖线

DRAWLINE3(BOTTOM_ALL,BK_LOW,N/2,1,BK_LOW,0,0),COLORGREEN; // 绿框:左侧竖线

DRAWLINE3(BOTTOM_ALL,BK_HIGH,N/2,1,BK_HIGH,0,0),COLORGREEN; // 绿框:左侧竖线

DRAWLINE3(BOTTOM_ALL,BK_LOW,0,1,BK_HIGH,0,0),COLORGREEN; // 绿框:左侧竖线

点它,分享点赞在看都在这里

记得点赞+转发+爱心