如何编写TradingView Pine脚本计算日线绿蜡烛前后连续绿K数量并标注
Pine Script 连续绿柱计数标注实现代码
直接复制以下代码到TradingView的Pine编辑器中即可运行,适配日线及任意时间框架:
//@version=5 indicator("历史绿柱连续计数", overlay=true, shorttitle="绿柱计数") // 定义绿柱规则:收盘价大于开盘价 is_green = close > open // 计算number_2:当前绿柱之前的连续绿柱数量 number_2 = ta.barssince(not is_green) - 1 // 非绿柱时赋值为空不显示 number_2 := is_green ? number_2 : na // 计算number_1:当前绿柱之后的连续绿柱数量 f_future_green_count() => var count = 0 count := is_green ? count + 1 : 0 count future_count = request.security(syminfo.tickerid, timeframe.period, f_future_green_count(), lookahead=barmerge.lookahead_on) number_1 = is_green ? (future_count[1] - 1) : na // 标注数值到K线对应位置 if is_green // K线上方标注number_1 label.new(bar_index, high, str.tostring(number_1), color=color.new(color.green, 90), textcolor=color.green, style=label.style_label_up, size=size.small) // K线下方标注number_2 label.new(bar_index, low, str.tostring(number_2), color=color.new(color.green, 90), textcolor=color.green, style=label.style_label_down, size=size.small)
功能说明
- 仅在绿柱上显示两个计数:
- K线上方的绿色数字:该绿柱后续连续出现的绿柱数量
- K线下方的绿色数字:该绿柱之前连续出现的绿柱数量
- 示例:连续3根绿柱的场景下,第一根绿柱上方数值为2、下方数值为0;第二根上方数值为1、下方数值为1;第三根上方数值为0、下方数值为2
注意事项
- 计算后续连续绿柱需要用到未来K线数据,因此该指标仅用于历史K线统计,不能作为实盘交易信号、也不能用于策略回测的入场条件,否则会因未来数据导致结果失真
- 实时行情下未收盘的最新K线、以及后续还未出现红柱的连续绿柱,上方的number_1数值会随后续K线走势动态变化,直到出现红柱后才会固定
内容的提问来源于stack exchange,提问作者Shahika444
相关产品推荐
相关产品推荐

