在股票技术分析领域,通达信软件因其强大的公式系统而备受投资者青睐。其中,HHV函数作为重要的统计函数之一,在指标编写和策略构建中扮演着关键角色。本文将深入解析HHV语句的语法结构、计算原理以及实际应用场景,帮助投资者更好地掌握这一实用工具。
一、HHV函数的基本概念
HHV是Highest High Value的缩写,意为”最高值”。该函数的主要功能是计算指定周期内某个变量的最高值。其标准语法格式为:HHV(X,N),其中X代表待计算的变量,N代表统计周期。例如,HHV(HIGH,20)表示计算最近20根K线中的最高价。
与HHV相对应的函数是LLV(Lowest Low Value),用于计算周期内最低值。这两个函数经常配合使用,可以构建出许多经典的技术指标,如布林带、轨道线等。
二、HHV函数的运行原理
HHV函数的计算过程实际上是一个滑动窗口的最大值查找过程。当我们在公式中写入HHV(CLOSE,10)时,系统会:
- 从当前K线开始向前回溯9根K线(共10根)
- 在这10根K线的收盘价中找出最大值
- 将结果赋给当前K线的指标值
值得注意的是,当K线数量不足N根时(如新股上市初期),HHV函数会自动调整实际计算周期,用已有数据进行计算,不会出现数据空缺的情况。
三、HHV函数的典型应用场景
1. 创新高判断
判断价格是否创出N周期新高是最基础的应用:
CROSS(C,REF(HHV(HIGH,20),1));
这段代码表示当收盘价上穿前一日计算的20日最高价时产生信号,常用于突破交易系统。
2. 波动幅度测量
结合LLV函数可以计算真实波幅(ATR):
TR := MAX(MAX((HIGH-LOW),ABS(REF(CLOSE,1)-HIGH)),ABS(REF(CLOSE,1)-LOW)); ATR : MA(TR,14);
3. 构建通道指标
以下代码构建了一个20周期的价格通道:
UPPER:HHV(HIGH,20); LOWER:LLV(LOW,20); MID:(UPPER+LOWER)/2;
四、HHV使用中的注意事项
1. 周期选择:不同周期参数会显著影响指标敏感性。短线交易常用5-10周期,中线20-60周期,长线则可能用到120-250周期。
2. 未来函数误区:HHV不是未来函数,它只使用历史数据进行计算,不会出现信号闪烁问题。
3. 多周期配合:可以同时使用不同周期的HHV值构建更复杂的交易逻辑,如:
COND1 := C > HHV(H,50); COND2 := C > HHV(H,20); BUY: COND1 AND NOT(COND2);
五、高级应用技巧
1. 条件HHV计算
通过IF语句实现带条件的最高值计算:
HHV_UP:HHV(IF(CLOSE>OPEN,HIGH,0),10);
这段代码只统计阳线的最高价。
2. 跨品种引用
结合”STKINDI”函数实现跨品种HHV计算:
INDEX_HHV:STKINDI('SH000001','MA.MA1',0,6);
3. 动态周期调整
通过变量控制计算周期:
N := BARSLAST(MACD>0); DYNAMIC_HHV:HHV(HIGH,N+10);
掌握HHV函数的灵活运用,可以大大扩展技术指标的设计思路。建议读者结合自己的交易策略进行实践,逐步体会这个函数在实战中的价值。