Pine Script多时间框架需求:全周期显示4h(240)触发的信号
Pine Script 跨周期4h多头信号实现方案
问题核心
你的代码通过timeframe.period == "240"限制了仅在4h周期内计算并显示信号,其他周期无法触发。要实现所有时间框架都显示4h周期触发的信号,需要用Pine Script的request.security()函数跨周期调取4h数据的信号结果。
修改后完整代码
//@version=5 indicator("4h 跨周期多头信号", overlay=true) // 定义EMA参数(可根据需求调整周期) emaLength1 = input.int(50, title="EMA1 周期") emaLength2 = input.int(200, title="EMA2 周期") EMA1 = ta.ema(close, emaLength1) EMA2 = ta.ema(close, emaLength2) // 跨周期获取4h框架下的多头信号 bullSignal = request.security(syminfo.tickerid, "240", ta.crossover(close, EMA1) and close > EMA2) // 在满足信号的K线下方绘制三角标记 plotshape(bullSignal, style=shape.triangleup, location=location.belowbar, color=color.rgb(44, 123, 118), size=size.tiny)
关键说明
request.security():这是跨周期数据获取的核心函数,参数分别为:syminfo.tickerid:当前交易品种的ID"240":目标时间框架(4h)- 第三个参数:在4h框架下要计算的信号条件(价格上穿EMA1且收盘价高于EMA2)
- 移除了原代码中
timeframe.period == "240"的判断,确保所有周期都能读取4h框架的信号结果 - 新增了EMA参数的输入框,方便你直接在图表上调整EMA周期
内容的提问来源于stack exchange,提问作者El Hamster
相关产品推荐
相关产品推荐

