好的,这是一个结合了成交量、MACD、KDJ指标,并使用了跨周期引用和复杂历史数据定位的公式。其核心用法如下:
1. 核心功能与逻辑
该公式主要用于在日线图上,以“向前投影”的方式,重现并标记特定历史周K线所对应的成交量。它通过复杂的算法,定位到当前K线在上市以来整个周线序列中的位置,并将该位置前推特定周期(公式中的P=61周)的周成交量,在当前日线位置用柱状图绘制出来。同时,它过滤了近期(55个交易日)的日成交量显示。
2. 指标输出解读
周V(青色/绿色成交量柱):这是公式的主要输出。它显示的不是当前这个交易日的成交量,而是根据算法定位到的、距今约61周(P=61)前的那一周的周成交量。柱子旁边会标注“周”字。
DV(白色成交量柱):在满足条件`ZQ`(即上市以来的总交易日数减去当前股票的已交易天数小于55)时,显示正常的日成交量。这通常用于新股或次新股,或者图表最右侧的近期数据。
无输出(空白区):在“周V”和“DV”的显示条件都不满足的区间,成交量区域会显示为空白。这通常发生在股票交易历史较长,且不属于近期(55日内)的交易日。
3. 关键变量与参数
定位基准:公式使用`CURRBARSCOUNT`(当前Bar到最新Bar的周期数)和`TOTALBARSCOUNT`(总上市周期数)来动态计算股票的历史位置(`KX1`)。
核心参数:
`P=61`:决定“周V”柱子所代表的周线是向前回溯多少周。修改此值将改变被投影的周线时间点。
`Q=50`:与`P`共同决定“周V”柱子开始显示的位置。`P+Q`的范围决定了“周V”在图表上的显示区间。
`P1=135`, `Q1=20`:决定白色日成交量柱`DV`的显示范围,逻辑与`P`、`Q`类似。
跨周期数据:`ZV`(周成交量)、`ZDEA`(周线MACD的DEA)、`ZK/ZD/ZJ`(周线KDJ的K、D、J值)、`YK/YD/YJ`(月线KDJ的K、D、J值)被提取,但在此公式中仅`ZV`被用于“周V”的绘制,其他周月线指标数据可能为后续扩展分析预留。
4. 使用场景与目的
历史量能对比:让使用者能够非常直观地在日线图上,将当前的日线级别走势与历史上特定时间点(如61周前)的周线级别量能进行横向对比。例如,对比当前价格区域与历史上某个关键价格区域出现时的周线活跃度。
寻找量价时空共振点:通过调整参数`P`,可以观察不同历史时期的周成交量是否与当前日线走势形成某种技术形态或关键位置的呼应,辅助判断周期共振的可能性。
分析新股/次新股:通过`DV`柱状图,可以清晰看到新股上市初期(55个交易日内)的放量过程。
5. 操作与观察要点
观察“周V”柱子出现的位置,通常对应着日线图上过去某个重要的阶段高点或低点区域。
比较“周V”柱子的高度(历史周成交量)与当前附近的日成交量柱(若有显示)或整体量能水平,判断量能是萎缩还是扩张。
重要提示:“周V”是一个固定的历史数据标记,它不会随着新K线的产生而改变位置和数值。当新交易日数据增加时,整个计算基准会移动,所有“周V”柱子的位置可能会在图表上整体向左平移,其代表的绝对历史日期也会发生变化。这是使用此公式时需要理解的关键特性。
ZQ:=CURRBARSCOUNT<55;
P:=61;
Q:=50;
P1:=135;
Q1:=20;
ZV:=V#WEEK;
ZDEA:=MACD.DEA#WEEK;
ZK:=KDJ.K#WEEK;
ZD:=KDJ.D#WEEK;
ZJ:=KDJ.J#WEEK;
YK:=KDJ.K#MONTH;
YD:=KDJ.D#MONTH;
YJ:=KDJ.J#MONTH;
ZQZ:=TOTALBARSCOUNT;
ZQ1:=BARSCOUNT(C);
KX1:=ZQZ-ZQ1;
N1:=KX1;
K6:=C;
K7:=K6>REF(K6,1);
K8:=SUM(K7,0);
K9:=CONST(K8)-K8;
ZH:=ISLASTBAR;
SU:=IF(ZH,0,SUMBARS(K7,N1-K9)-1);
Z1:=REF(ZV,SU);
Z11:=REFX(Z1,P);
W2:=KX1<P+Q;
周V:IF(W2,Z11,DRAWNULL),VOLSTICK;
KK6:=H;
KK7:=KK6>REF(KK6,1);
KK8:=SUM(KK7,0);
KK9:=CONST(KK8)-KK8;
SU1:=IF(ZH,0,SUMBARS(KK7,KX1-KK9)-1);
W22:=KX1<P1+Q1;
DI:=VOL,VOLSTICK;
DV:IF(ZQ,DI,DRAWNULL),VOLSTICK;
DRAWTEXT(KX1=P+Q-2,DI,'周');
ZQ赋值:到最后交易的周期<55
P赋值:61
Q赋值:50
P1赋值:135
Q1赋值:20
ZV赋值:成交量(手)[取周线数据]
ZDEA赋值:平滑异同平均线的DEA[取周线数据]
ZK赋值:KDJ的K[取周线数据]
ZD赋值:KDJ的D[取周线数据]
ZJ赋值:KDJ的J[取周线数据]
YK赋值:KDJ的K[取月线数据]
YD赋值:KDJ的D[取月线数据]
YJ赋值:KDJ的J[取月线数据]
ZQZ赋值:总的周期数
ZQ1赋值:收盘价的有效数据周期数
KX1赋值:ZQZ-ZQ1
N1赋值:KX1
K6赋值:收盘价
K7赋值:K6>1日前的K6
K8赋值:K7的历史累和
K9赋值:K8的最后一日取值设为常数-K8
ZH赋值:是否最后一个周期
SU赋值:如果ZH,返回0,否则返回K7累加至N1-K9的天数-1
Z1赋值:SU日前的ZV
Z11赋值:P日后的Z1
W2赋值:KX1输出周V:如果W2,返回Z11,否则返回无效数,VOLSTICK
KK6赋值:最高价
KK7赋值:KK6>1日前的KK6
KK8赋值:KK7的历史累和
KK9赋值:KK8的最后一日取值设为常数-KK8
SU1赋值:如果ZH,返回0,否则返回KK7累加至KX1-KK9的天数-1
W22赋值:KX1DI赋值:成交量(手),VOLSTICK
输出DV:如果ZQ,返回DI,否则返回无效数,VOLSTICK
当满足条件KX1=P+Q-2时,在DI位置书写文字