

文华财经源码
======================
//中位线条件
LX:=L<REF(L,1)&&L<REF(L,2)&&(REF(L,2)<REF(L,3) ||REF(L,1)<REF(L,3)||REF(L,2)<REF(L,4) ||REF(L,4)<REF(L,5));
HX:=H>REF(H,1)&&H>REF(H,2)&&(REF(H,2)>REF(H,3) ||REF(H,1)>REF(H,3)||REF(H,2)>REF(H,4) ||REF(H,4)>REF(H,5));
//空转多 连续四周期低点下降时,取当下K线左侧不被包含的K线高点的值,否则为0(左一判断)
HH1:=IFELSE(LX,IF(LX&&L>=REF(VALUEWHEN(LX,L),1)&&HX&&H<REF(VALUEWHEN(HX,H),1),REF(VALUEWHEN(LX,REF(H,NEWHBARS(H,1))),1),REF(H,NEWHBARS(H,1))),0),NODRAW;
//多转空 连续四周期高点上升时,取当下K线左侧不被包含的K线低点的值,否则为0(左一判断)
LL1:=IFELSE(HX,IF(HX&&H<=REF(VALUEWHEN(HX,H),1)&&LX&&L>REF(VALUEWHEN(LX,L),1),REF(VALUEWHEN(HX,REF(L,NEWLBARS(L,1))),1),REF(L,NEWLBARS(L,1))),0),NODRAW;
// 记录HH1>0时的HH1值,但不绘制(多)
HH2:=VALUEWHEN(HH1>0,HH1),COLORRED,NODRAW;
// 记录LL1>0时的LL1值,但不绘制(空)
LL2:=VALUEWHEN(LL1>0,LL1),COLORGREEN,NODRAW;
顶分型(左一):LL2,COLORGREEN,NODRAW;
底分型(左一):HH2,COLORRED,NODRAW;
// 价格位置判断
K1:=IFELSE(CROSS(C,HH2)=1,-3,IFELSE(CROSSDOWN(C,LL2)=1,1,0));// 收盘价突破HH2时为-3,跌破LL2时为1,否则为0
K2:=VALUEWHEN(K1<>0,K1);// 记录K1非零时的值
涨跌幅:=(C-REF(C,1))/REF(C,1)*100,NODRAW;
中阳(阴)线:ABS(涨跌幅)>MA(ABS(涨跌幅),10),NODRAW;
MA5:=MA(C,5),NODRAW;
DRAWICON(ISUP AND 中阳(阴)线 AND CROSS(C,MA5),L-1,'ICO108');
DRAWICON(ISDOWN AND 中阳(阴)线 AND CROSSDOWN(C,MA5),H+0.5,'ICO109');
// K线绘制逻辑
W1:=K2;
DRAWCOLORKLINE(BARSLAST(CROSSDOWN(C,LL2))<BARSLAST(CROSS(C,HH2)),COLORCYAN,1);
DRAWCOLORKLINE(BARSLAST(CROSSDOWN(C,LL2))>BARSLAST(CROSS(C,HH2)),COLORRED,1);
DRAWCOLORKLINE(BARSLAST(CROSSDOWN(C,LL2))<BARSLAST(CROSS(C,HH2))&&ISDOWN ,COLORCYAN,0);
DRAWCOLORKLINE(BARSLAST(CROSSDOWN(C,LL2))>BARSLAST(CROSS(C,HH2))&&ISDOWN ,COLORRED,0);
//信号提示
DRAWTEXT(REF(K2,1)=1&& K2=-3 AND VOL>REF(VOL,1)*1.2,L,' ←多'),VALIGN0,COLORYELLOW,FONTSIZE20;
PLAYSOUND(REF(K2,1)=1&& K2=-3 AND VOL>REF(VOL,1)*1.2 ,'A');
//多单声音报警
// 空单信号条件:
DRAWTEXT(REF(K2,1)=-3&& K2=1 AND (VOL > REF(VOL,1)*1.2) ,H,' ←空'),VALIGN2,COLORGREEN,FONTSIZE20;
PLAYSOUND(REF(K2,1)=-3&& K2=1 AND (VOL > REF(VOL,1)*1.2) ,'C');//空单报警
====================================================
这段文华财经代码的核心思路其实挺接地气的,就是利用K线图的“高低点转折”来判断买卖点,核心逻辑可以这样理解:
- 找转折点(分型):
- 它先盯住价格的“谷底”(底分型):如果当前这根K线的最低点,比前面两根都低,并且前面几根的低点也在依次降低,就认为这里可能是个下跌中的“坑底”(
LX
条件)。 - 同时它也找“山顶”(顶分型):如果当前K线的最高点,比前面两根都高,并且前面几根的高点也在依次抬高,就认为这里可能是个上涨中的“小山峰”(
HX
条件)。
- 它先盯住价格的“谷底”(底分型):如果当前这根K线的最低点,比前面两根都低,并且前面几根的低点也在依次降低,就认为这里可能是个下跌中的“坑底”(
- 画关键防线:
- 找到一个有效的“坑底”(底分型)后,它不会直接用这个最低点,而是去这个“坑”形成之前、没有被其他K线“包住”的那个高点,标记为
HH2
。这个点被看作多方的关键防守位,价格突破这里可能意味着下跌结束,要涨了。 - 同样,找到一个有效的“山顶”(顶分型)后,它去找这个“峰”形成之前、没有被包住的那个低点,标记为
LL2
。这个点被看作空方的关键防守位,价格跌破这里可能意味着上涨结束,要跌了。代码用VALUEWHEN
记住这些关键点。
- 找到一个有效的“坑底”(底分型)后,它不会直接用这个最低点,而是去这个“坑”形成之前、没有被其他K线“包住”的那个高点,标记为
- 判多空状态:
- 系统有个核心状态标记
K2
:- 如果收盘价涨破了那个多方防线
HH2
,就标记为-3
(这信号偏空,因为突破阻力可能意味着趋势延续?这里逻辑需结合上下文,标记为-3可能是代表“突破后进入空头需谨慎”或特定状态)。 - 如果收盘价跌破了那个空方防线
LL2
,就标记为1
(这信号偏多,因为跌破支撑可能意味着下跌开始?标记为1代表多头信号)。 - 其他情况就是
0
,表示没方向。
- 如果收盘价涨破了那个多方防线
- 系统有个核心状态标记
- 出买卖信号:
- 买点(做多):当状态
K2
从1
(代表之前是跌破支撑的空头信号)突然变成-3
(代表现在涨破了阻力),并且成交量明显放大(比前一天多20%以上),就在K线下方标个黄色的“多”字,还“叮”一声提醒你。 - 卖点(做空):当状态
K2
从-3
(代表之前是涨破阻力的状态)突然变成1
(代表现在跌破了支撑),并且成交量明显放大,就在K线上方标个绿色的“空”字,也“叮”一声。 - 辅助确认:还会看看是不是中阳线/中阴线(涨跌幅比较大),以及是否刚突破/跌破5日均线,用来画一些小图标提示。
- 买点(做多):当状态
为了让图更直观:
- 如果最近是跌破支撑后的状态(空头主导),它把K线染成青色。
- 如果最近是涨破阻力后的状态(多头主导),它把K线染成红色。
- 如果是下跌的K线,还会画成空心的,方便一眼看清涨跌。
简单说: 这套代码就是在K线图上自动找出关键的“山头”和“谷底”,画出重要的压力线(HH2
)和支撑线(LL2
)。它盯着价格什么时候真正突破这些关键线,特别是突破时成交量还大增,就认为是可靠的买卖信号点,不仅标出来还会响铃提醒你。同时用颜色给K线“上色”,让你一眼就能看出现在是多头占优还是空头占优。核心就是抓价格突破关键位时的那个转折点。