ARTICLE · 1155337
一段趋势画线主图源码,讲透多空状态的判断逻辑!
很多朋友拿到一份指标源码,复制进软件后发现要么不显示,要么颜色不对,更别说看懂它到底在算什么。其实大部分主图指标的骨架并不复杂,拆开看就是几个判断条件加画线语句。今天拿一段趋势画线的主图源码,逐句聊聊它背后的思路。

一、这个指标在做什么?
核心就一件事:判断当前处于多头还是空头状态,然后让K线和均线按状态变色。
判断依据是前3根K线的最高价和最低价:
HH:=REF(HHV(HIGH,3),1) 取前3根K线里的最高价
LL:=REF(LLV(LOW,3),1) 取前3根K线里的最低价
注意这里用了 REF(...,1),也就是往前推一根,不含当前K线,避免用未来数据。
然后比较两个"距离":
TREND:=BARSLAST(CLOSE>HH) < BARSLAST(CLOSE<LL);
BARSLAST 是"上一次条件成立到现在的K线数"。收盘价突破前高离现在更近,TREND就为1;收盘价跌破前低离现在更近,TREND就为0。简单说,谁先被触发,趋势就站谁那边。

二、画线部分怎么理解
PARTLINE(TREND=1, CLOSE, COLORRED), LINETHICK2;
PARTLINE(TREND=0, CLOSE, COLORGREEN), LINETHICK2;
PARTLINE 是按条件分段画线。TREND为1时用收盘价连成红线,为0时连成绿线。这样一条线就自然分成了红绿两段,比单纯的颜色函数更直观。
下面四句 DRAWCOLORKLINE 是给K线本体上色:
前两句管多头状态,阳线用红色实心、阴线也归到红色系
后两句管空头状态,统一用绿色系
这样红绿K线主图的视觉效果就出来了,趋势跟踪工具的基本形态也就成型了。
三、几个使用思路参考
红线区间说明近期突破过前高,可作为多头状态观察
绿线区间说明近期跌破过前低,可作为空头状态观察
红绿切换的位置,往往是趋势状态发生变化的地方
可结合成交量或均线系统一起看,单靠一个条件容易反复
源码里的3周期参数可以改,周期越长信号越少但越稳

四、源码学习提醒
这段源码没有用到未来函数,REF和BARSLAST都是基于历史数据计算,回看时不会漂移。但要注意,趋势类指标本质是跟随,不是预判,红绿转换存在滞后属于正常现象。
想自己改参数的话,把 HHV(HIGH,3) 和 LLV(LOW,3) 里的3改成5或8,就能得到更平滑的版本,适合不同看盘节奏的朋友研究。
源码获取途径:
为方便大家复制,以及复制不会出错,可以点击一下小程序,找到此篇文章名称,打开后可以一键复制!
精品套装指标推介:咨询客服微:zbgs518
1、主图+幅图(点击放大查看)


声明:源码仅供学习技术交流,不具备操作建议!