在期货交易中,你是否经常遇到这些难题?
- 趋势方向模糊,追涨杀跌两头挨打?
- 买卖点不清晰,总是买在山顶、卖在地板?
- 无法精准定位关键的支撑与阻力位?
今天,我们将彻底解决这些问题!现免费公开一款集 “趋势判断、买卖点提示、高低点标记、波浪尺测算” 于一体的终极导航指标——“多空韵律”。该指标专为文华财经软件设计,源码无加密,直接复制粘贴即可使用,助你看清市场脉络,掌握交易先机!
一、指标核心功能亮点
- 多空趋势,一目了然
- 通过独特的加权均线算法,精准判断市场核心多空线。K线以红青双色直观展示,红色代表多头占优,青色代表空头主导,趋势方向一眼便知。
- 精准买卖点提示
- 指标不再需要你复杂判断,它会在K线图上直接用 “买点”、“卖点” 文字进行提示。信号基于EMA5与EMA10的金叉死叉以及高低点过滤逻辑,有效过滤震荡,提升信号可靠性。
- 智能高低点标记与计数
- 自动识别并标记行情的重要高点和低点,并在旁边显示数字(1,2,3)。这个数字是关键中的关键!它代表了当前高低点在波浪结构中的位置,为你进行艾略特波浪分析提供了强大的量化依据。
- 动态支撑阻力线与波浪尺测算
- 基于标记的“2”点(关键转折点),指标会自动画出水平的支撑阻力线,成为你挂单和防守的天然屏障。
- 更强大的是,它内置了波浪尺测算功能,自动计算出基于关键高低点的0、0.5、1倍目标位,为你预测后续行情的目标区间提供精准参考,真正做到“测幅”交易。
二、指标源码(文华财经)
(此处插入您提供的完整代码)
三、使用与导入指南
- 复制源码:完整复制上方所有代码。
- 打开文华财经:进入指标管理器,新建一个技术指标。
- 粘贴并命名:将代码粘贴到编辑区,为您的新指标命名(例如“多空韵律”)。
- 保存应用:点击确定,保存后即可在K线图上调用该指标。
四、实战应用技巧
- 顺势而为:当K线主体持续为红色,且高低点不断上移时,应以逢低做多为主,重点关注“买点”信号。
- 关键位行动:当价格回踩到指标自动画出的支撑线,并出现“买点”提示时,是较为安全的入场做多时机。
- 目标管理:做多时,可将波浪尺测算的K1、K2、K3作为分批止盈的目标位;做空时则相反。
- 结构确认:结合高低点的数字(1,2,3)来判断当前行情处于驱动浪还是调整浪,例如一个完整的推动浪常以“1-2-3”结构呈现。
风险提示:
本指标基于历史数据计算,旨在提供辅助决策信号,并非100%准确。市场有风险,投资需谨慎。请务必结合资金管理、风险控制并在模拟盘熟练后再进行实盘操作。


文华财经6指标源码:
X:=(3*C+L+O+H)/6;
多空线:=(20*X+19*REF(X,1)+18*REF(X,2)+17*REF(X,3)+16*REF(X,4)+15*REF(X,5)
+14*REF(X,6)+13*REF(X,7)+12*REF(X,8)+11*REF(X,9)+10*REF(X,10)+9*REF(X,11)
+8*REF(X,12)+7*REF(X,13)+6*REF(X,14)+5*REF(X,15)+4*REF(X,16)+3*REF(X,17)
+2*REF(X,18)+REF(X,20))/210,COLORRED,NODRAW;
//DRAWCOLORKLINE(ISUP,COLORWHITE,0);
EMA5:=EMA2(X,5),LINETHICK1;
//DRAWCOLORLINE(EMA2(X,5)>REF(EMA2(X,5),1),EMA2(X,5),COLORRED,COLORWHITE),LINETHICK6;
EMA10:=EMA2(X,10),LINETHICK1;
//DRAWCOLORLINE(EMA2(X,10)>REF(EMA2(X,10),1),EMA2(X,10),COLORYELLOW,COLORCYAN),LINETHICK4;
JC:=CROSS(EMA5,EMA10);
SC:=CROSSDOWN(EMA5,EMA10);
HH:=CROSS(BACKSET(ISLASTBAR&&EMA5>EMA10||REFX(SC,1),HHVBARS(H,SUMBARS(JC,1))+1),0.5);
LL:=CROSS(BACKSET(ISLASTBAR&&EMA5<EMA10||REFX(JC,1),LLVBARS(L,SUMBARS(SC,1))+1),0.5);
DRAWTEXT(REFX(REF(BARSLASTCOUNT(BARSLAST(LL)>BARSLAST(HH))=2,2),2),H,'卖点'),COLORGREEN,FONTSIZE14,ALIGN1;
DRAWTEXT(REFX(REF(BARSLASTCOUNT(BARSLAST(LL)<BARSLAST(HH))=2,2),2),(O+C)/2,'买点'),COLORRED,FONTSIZE14,VALIGN1,ALIGN1;
MM:=5;
Q:=0;
J:=1;
S:=1;
MQ:=20;
GQ:=MA(C,5);
DQ:=MA(C,10);
NNHW:=BARSLAST(H=HHV(H,MQ));
NNLW:=BARSLAST(L=LLV(L,MQ)) ;
NN:=IF (REF(GQ,NNHW)>REF(DQ,NNHW) AND NNHW<=MQ-3,NNHW,IF (REF(GQ,NNLW)<REF(DQ,NNLW) AND NNLW<=MQ-3,NNLW,MQ-2)) ;
NNNW:=IF (ISLASTBAR AND NN>0,NN,MQ-2) ;
H1:=REF(H,NNNW)=HHV(H,MQ-1);
L1:=REF(L,NNNW)=LLV(L,MQ-1);
FG01W:=BACKSET(H1,NNNW+1)>BACKSET(H1,NNNW);//只设置前面第M-1个
FD01W:=BACKSET(L1,NNNW+1)>BACKSET(L1,NNNW) ;
FG02W:=FG01W=FD01W AND GQ>DQ;
FD02W:=FG01W=FD01W AND GQ<DQ;
TTTTW:=BARSLAST(FD01W);
FG0W:=FG01W AND IF (FG02W=1,H=HHV(H,BARSLAST(REF(FD01W,1))+1),H=HHV(H,IF (BARSLAST(L=LLV(L,MQ))>=MQ-2,MQ-2,BARSLAST(FD01W)))) AND FD02W=0 ;
FD0W:=FD01W AND IF (FD02W=1,L=LLV(L,BARSLAST(REF(FG01W,1))+1),L=LLV(L,IF (BARSLAST(H=HHV(L,MQ))>=MQ-2,MQ-2,BARSLAST(FG01W)))) AND FG02W=0 ; //高低点间周期
GTW:=BARSLAST(FG0W);
DTW:=BARSLAST(FD0W); //第一次处理高低点间多余的点
LLLLW:=DTW=0 AND REF(DTW,1)<GTW AND L>REF(L,REF(DTW,1)+1);
FG1W:=BACKSET(REFX(GTW,1)=0 AND GTW<DTW AND REFX(H,1)>=REF(H,GTW),GTW+1);
FD1W:=BACKSET(REFX(DTW,1)=0 AND DTW<GTW AND REFX(L,1)<=REF(L,DTW),DTW+1);
FG11W:=IF (GTW=0 AND REF(GTW,1)<DTW AND IF (REF(GQ,BARSLAST(L=LLV(L,MQ)))>REF(DQ,BARSLAST(L=LLV(L,MQ))),BARSLAST(L=LLV(L,MQ))<MQ-2,1) AND H<REF(H,REF(GTW,1)+1),1,0);
FD11W:=IF (DTW=0 AND REF(DTW,1)<GTW AND IF (REF(GQ,BARSLAST(H=HHV(H,MQ)))<REF(DQ,BARSLAST(H=HHV(H,MQ))),BARSLAST(H=HHV(H,MQ))<MQ-2,1) AND L>REF(L,REF(DTW,1)+1),1,0);
GT1W:=BARSLAST(FG11W<>1 AND FG1W<>1 AND FG0W);
DT1W:=BARSLAST(FD11W<>1 AND FD1W<>1 AND FD0W);
FD2W:=BACKSET(REFX(GT1W,1)=0 AND DT1W<3 AND GT1W-DT1W<4 AND REF(L,DT1W)>LLV(L,GT1W+MQ-2),DT1W+1);
FG2AW:=BACKSET(REFX(GT1W,1)=0 AND DT1W<3 AND GT1W-DT1W<4 AND REF(L,DT1W)<=LLV(L,GT1W+MQ-2) AND REF(H,GT1W)>HHV(H,GT1W+MQ-2),GT1W+1);
FG2BW:=IF (GT1W=0 AND DT1W<4 AND REF(GT1W,1)-DT1W<4 AND REF(L,DT1W)<=LLV(L,REF(GT1W,1)+MQ-1) AND H>HHV(H,REF(GT1W,1)+MQ-1),1,0);
FG2W:=BACKSET(REFX(DT1W,1)=0 AND GT1W<3 AND DT1W-GT1W<4 AND REF(H,GT1W)<HHV(H,DT1W+MQ-2),GT1W+1);
FD2AW:=BACKSET(REFX(DT1W,1)=0 AND GT1W<3 AND DT1W-GT1W<4 AND REF(H,GT1W)>=HHV(L,DT1W+MQ-2) AND REF(L,DT1W)>LLV(L,DT1W+MQ-2),DT1W+1);
FD2BW:=IF (DT1W=0 AND GT1W<4 AND REF(DT1W,1)-GT1W<4 AND REF(H,GT1W)>=HHV(H,REF(DT1W,1)+6) AND L>LLV(L,REF(DT1W,1)+MQ-1),1,0);
TTTTTTW:= H<REF(H,REF(GT1W,1)+1) AND DT1W<4;
HHHHHHW:=REF(LLV(L,10),DT1W); //前长后短;
FG21W:=IF (GT1W=0 AND DT1W<4 AND H<=REF(H,REF(GT1W,1)+1) ,1,0);
FD21W:=IF (DT1W=0 AND GT1W<4 AND L>=REF(L,REF(DT1W,1)+1) ,1,0);
FD231W:=BACKSET(REFX(GT1W,1)=0 AND DT1W>3 AND GT1W>DT1W AND GT1W-DT1W<4 AND REFX(H,1)>REF(H,GT1W) AND REF(L,DT1W)>REF(LLV(L,10),DT1W),DT1W+1);
FG23W:=BACKSET(REFX(GT1W,1)=0 AND DT1W>3 AND GT1W>DT1W AND GT1W-DT1W<4 AND REFX(H,1)>REF(H,GT1W) AND (REF(H,GT1W)<REF(HHV(H,13),GT1W) OR REF(FD231W,DT1W)=0),GT1W+1);
FG231W:=BACKSET(REFX(DT1W,1)=0 AND GT1W>3 AND DT1W>GT1W AND DT1W-GT1W<4 AND REFX(L,1)<REF(L,DT1W) AND REF(H,GT1W)<REF(HHV(H,10),GT1W) ,GT1W+1);
FD23W:=BACKSET(REFX(DT1W,1)=0 AND GT1W>3 AND DT1W>GT1W AND DT1W-GT1W<4 AND REFX(L,1)<REF(L,DT1W) AND ( REF(L,DT1W)>REF(LLV(L,13),DT1W) OR REF(FG231W,GT1W)=0),DT1W+1);
FDD23W:=REF(H,GT1W)<REF(HHV(H,10),GT1W) OR REF(FD23W,DT1W)=0;
FD24W:=BACKSET(REFX(GT1W,1)=0 AND DT1W>3 AND GT1W>DT1W AND GT1W-DT1W<4 AND REFX(H,1)<HHV(H,GT1W+3) AND REF(L,DT1W)>LLV(L,DT1W+5),DT1W+1);
FG24W:=BACKSET(REFX(DT1W,1)=0 AND GT1W>3 AND DT1W>GT1W AND DT1W-GT1W<4 AND REFX(L,1)>LLV(L,DT1W+3) AND REF(H,GT1W)<HHV(H,GT1W+5),GT1W+1);
GT2W:=BARSLAST(FG21W<>1 AND FG23W<>1 AND FG231W<>1 AND FG24W<>1 AND FG2W<>1 AND FG2AW<>1 AND FG2BW<>1 AND GT1W=0);
DT2W:=BARSLAST(FD21W<>1 AND FD23W<>1 AND FD231W<>1 AND FD24W<>1 AND FD2W<>1 AND FD2AW<>1 AND FD2BW<>1 AND DT1W=0);
FG3W:=BACKSET(REFX(GT2W,1)=0 AND GT2W<DT2W AND REFX(H,1)>=REF(H,GT2W),GT2W+1);
FD3W:=BACKSET(REFX(DT2W,1)=0 AND DT2W<GT2W AND REFX(L,1)<=REF(L,DT2W),DT2W+1);
FG31W:=IF (GT2W=0 AND REF(GT2W,1)<DT2W AND H<REF(H,REF(GT2W,1)+1),1,0);
FD31W:=IF (DT2W=0 AND REF(DT2W,1)<GT2W AND L>REF(L,REF(DT2W,1)+1),1,0);
GT3W:=BARSLAST(GT2W=0 AND FG3W<>1 AND FG31W<>1 );
DT3W:=BARSLAST(DT2W=0 AND FD3W<>1 AND FD31W<>1);
FG4W:=BACKSET(REFX(GT3W,1)=0 AND GT3W<DT3W AND REFX(H,1)>=REF(H,GT3W),GT3W+1);
FD4W:=BACKSET(REFX(DT3W,1)=0 AND DT3W<GT3W AND REFX(L,1)<=REF(L,DT3W),DT3W+1);
FG41W:=IF (GT3W=0 AND REF(GT3W,1)<DT3W AND H<REF(H,REF(GT3W,1)+1),1,0);
FD41W:=IF (DT3W=0 AND REF(DT3W,1)<GT3W AND L>REF(L,REF(DT3W,1)+1),1,0);
HHHQ:=GT3W=0 AND FG31W<>1 AND FG3W<>1;
LLLQ:=DT3W=0 AND FD31W<>1 AND FD3W<>1;
DRAWCOLORKLINE(ISUP,COLORRED,1);//收盘价大于开盘价,绘制红色空心K线
DRAWCOLORKLINE(ISDOWN,RGB(0,122,0),0);//收盘价小于开盘价,绘制青色实心K线
DRAWCOLORKLINE(ISEQUAL,COLORWHITE,1);//收盘价等于开盘价,绘制白色十字线
DRAWCOLORKLINE(ISEQUAL AND BARSLAST(ISUP)>BARSLAST(ISDOWN),COLORGREEN,1);
DRAWCOLORKLINE(ISEQUAL AND BARSLAST(ISUP)<BARSLAST(ISDOWN),COLORRED,1);
DRAWSHIFTNUMBER(HHHQ,H+MM*MINPRICE,MOD(H,100),0,COLORYELLOW,0,0),FONTSIZE30,COLORCYAN,VALIGN2;//高低点价格
DRAWSHIFTNUMBER(LLLQ,L-MM*MINPRICE,MOD(L,100),0,COLORWHITE,0,0),FONTSIZE30,COLORCYAN,VALIGN0;
T:=REFX(COUNT(HHHQ&&C<REF(C,SUMBARS(HHHQ,2)-1),BARSLAST(HHHQ&&C>REF(C,SUMBARS(HHHQ,2)-1)))+1,1);
G:=REFX(COUNT(LLLQ&&C>REF(C,SUMBARS(LLLQ,2)-1),BARSLAST(LLLQ&&C<REF(C,SUMBARS(LLLQ,2)-1)))+1,1);
X1:=IF(MOD(T,3)=0,3,MOD(T,3));
X2:=IF(MOD(G,3)=0,3,MOD(G,3));
DRAWNUMBER(HHHQ,H,X1,0,COLORYELLOW),FONTSIZE20;//大数字
DRAWNUMBER(LLLQ,L,X2,0,COLORWHITE),VALIGN0,FONTSIZE20;
DRAWCOLORKLINE(HHHQ&&X1=1,COLORBLACK,0);
DRAWCOLORKLINE(LLLQ&&X2=1,COLORBLACK,0);
DRAWCOLORKLINE(HHHQ&&X1=1,COLORYELLOW,1);
DRAWCOLORKLINE(LLLQ&&X2=1,COLORWHITE,1);
DRAWSL(BACKSET(LLLQ||ISLASTBAR,SUMBARS(LLLQ,2))&&VALUEWHEN(LLLQ,X2=2),REF(L,BARSLAST(LLLQ)),0,1,0,RGB(124,0,0));//支阻线
DRAWSL(BACKSET(HHHQ||ISLASTBAR,SUMBARS(HHHQ,2))&&VALUEWHEN(HHHQ,X1=2),REF(H,BARSLAST(HHHQ)),0,1,0,RGB(0,104,0));
P:=X1=2&&HHHQ;//上下波浪尺
P1:=BACKSET(P,SUMBARS(HHHQ,2));
K1:=WAVERULER(P1&&HHHQ,H,LLLQ,L,HHHQ,H,1);
K2:=WAVERULER(P1&&HHHQ,H,LLLQ,L,HHHQ,H,0.5);
K3:=WAVERULER(P1&&HHHQ,H,LLLQ,L,HHHQ,H,0);
T1:=BACKSET(ISLASTBAR,SUMBARS(P,1));
DRAWNUMBER(T1>REF(T1,1),K1,MOD(K1,100),0,COLORYELLOW);
DRAWNUMBER(T1>REF(T1,1),K2,MOD(K2,100),0,COLORYELLOW);
DRAWNUMBER(T1>REF(T1,1),K3,MOD(K3,100),0,COLORYELLOW);
PX:=X2=2&&LLLQ;
P1X:=BACKSET(P,SUMBARS(LLLQ,2));
K1X:=WAVERULER(P1X&&LLLQ,L,HHHQ,H,LLLQ,L,1);
K2X:=WAVERULER(P1X&&LLLQ,L,HHHQ,H,LLLQ,L,0.5);
K3X:=WAVERULER(P1X&&LLLQ,L,HHHQ,H,LLLQ,L,0);
T1X:=BACKSET(ISLASTBAR,SUMBARS(PX,1));
DRAWNUMBER(T1X>REF(T1X,1),K1X,MOD(K1X,100),0,COLORWHITE);
DRAWNUMBER(T1X>REF(T1X,1),K2X,MOD(K2X,100),0,COLORWHITE);
DRAWNUMBER(T1X>REF(T1X,1),K3X,MOD(K3X,100),0,COLORWHITE);