如何在Trading View中用Pine Script编写特定K线振幅指标?
TradingView 基于K线振幅标注数字的指标编写方案
核心逻辑实现代码
//@version=5 indicator("振幅等级标注", overlay=true) // 计算当前K线振幅 amplitude = high - low // 根据振幅区间匹配对应等级数字 grade = 0 if amplitude > 0.05 and amplitude < 0.13 grade := 5 elif amplitude > 0.14 and amplitude < 0.16 grade := 4 elif amplitude > 0.17 and amplitude < 0.22 grade := 3 elif amplitude > 0.23 and amplitude < 0.33 grade := 2 elif amplitude > 0.34 and amplitude < 0.66 grade := 1 // 在符合条件的K线上标注等级数字 if grade != 0 label.new(bar_index, close, str.tostring(grade), color=color.white, textcolor=color.black, style=label.style_label_up, size=size.small)
代码关键说明
//@version=5:指定使用TradingView当前主流的Pine Script第5版语法indicator("振幅等级标注", overlay=true):定义指标名称,overlay=true表示指标直接叠加显示在K线图上- 振幅计算:通过
high - low直接获取当前K线高低点的差值 - 区间匹配:用
if-elif逻辑依次判断振幅所属区间,给grade变量赋值对应的数字 - 标签标注:仅当
grade不为0(即振幅落在定义区间内)时,在K线收盘价位置生成标签,显示对应数字;标签的位置、颜色、大小可根据需求调整
自定义调整提示
- 区间边界:当前逻辑中0.13-0.14、0.16-0.17等区间未定义,若需覆盖这些范围,可修改条件语句的数值
- 标注位置:可将
close替换为high(标注在K线高点上方)或low(标注在K线低点下方) - 样式调整:修改
color(标签背景色)、textcolor(文字颜色)、size参数,可自定义标签外观
内容的提问来源于stack exchange,提问作者RNB
相关产品推荐
相关产品推荐

