如何合并日线CCI与小时线技术评级并设置触发警报
PineScript跨时间框架指标合并与警报实现方案
核心实现逻辑
利用PineScript的request.security()函数跨周期获取数据,分别验证日线CCI和1小时技术评级的条件,合并后触发警报。
分步代码实现
//@version=5 indicator("跨时间框架合并警报", overlay=false) // 定义目标时间框架 tf_daily = "D" tf_1h = "60" // --- 1. 获取日线CCI数据 --- cci_length = 20 // 可根据你的CCI指标调整周期 daily_cci = request.security(tf_daily, close, ta.cci(close, cci_length)) daily_condition = daily_cci > -70 // --- 2. 获取1小时技术评级数据 --- // 替换下方的评级计算逻辑为你提供的技术评级指标代码 hourly_rating = request.security(tf_1h, close, // 示例:模拟技术评级逻辑,替换为你的实际代码 ta.sma(close, 50) > ta.sma(close, 200) ? "Strong Buy" : ta.sma(close, 20) > ta.sma(close, 50) ? "Buy" : ta.sma(close, 50) < ta.sma(close, 200) ? "Strong Sell" : "Sell" ) hourly_condition = hourly_rating == "Buy" or hourly_rating == "Strong Buy" // --- 3. 合并触发条件 --- trigger_condition = daily_condition and hourly_condition // 可视化触发信号(可选) plotshape(trigger_condition, title="警报触发", location=location.belowbar, color=color.new(color.green, 0), style=shape.labelup, text="触发", textcolor=color.white) // --- 4. 设置警报条件 --- alertcondition(trigger_condition, title="跨周期买入警报", message="日线CCI>-70 且 1小时评级为Buy/Strong Buy")
关键注意事项
- 替换评级逻辑:把示例中的
hourly_rating计算部分替换成你提供的技术评级指标代码,确保返回值为"Buy"或"Strong Buy"字符串(若你的评级是数值,比如1=Buy、2=Strong Buy,需调整条件判断)。 request.security()用法:第三个参数是要在目标周期执行的计算表达式,需保证该表达式在目标时间框架下能独立运行。- 警报配置:在TradingView警报设置中,选择“当条件变为真时”触发,可避免重复发送警报。
内容的提问来源于stack exchange,提问作者shahzaib
相关产品推荐
相关产品推荐

