2025年8月2日 07:29

This commit is contained in:
2025-08-02 07:29:33 +00:00
parent d95e4713d8
commit 82bc1867d4

View File

@@ -596,12 +596,14 @@ osc_5m = rsi_neutral_5m or price_in_channel_5m or ma200_near_5m
rsi_overbought_5m = mtf_5m and not na(rsi_5m) ? (rsi_5m > long_S) : false
price_above_r1_5m = mtf_5m and not na(close_5m) and not na(upband1_5m) ? (close_5m > upband1_5m) : false
price_above_mean_5m = mtf_5m and not na(close_5m) and not na(meanline_5m) ? (close_5m >= meanline_5m or math.abs(close_5m - meanline_5m) <= get_r1s1_distance_threshold()) : false
ma200_far_5m = mtf_5m and not na(distance_5m) ? (distance_5m > distance_threshold_1m) : false
ma50_above_mean_5m = mtf_5m and not na(ma50_5m) and not na(meanline_5m) ? (ma50_5m > meanline_5m) : false
long_5m = rsi_overbought_5m and price_above_r1_5m and ma200_far_5m and ma50_above_mean_5m
rsi_oversold_5m = mtf_5m and not na(rsi_5m) ? (rsi_5m < short_S) : false
price_below_s1_5m = mtf_5m and not na(close_5m) and not na(loband1_5m) ? (close_5m < loband1_5m) : false
price_below_mean_5m = mtf_5m and not na(close_5m) and not na(meanline_5m) ? (close_5m <= meanline_5m or math.abs(close_5m - meanline_5m) <= get_r1s1_distance_threshold()) : false
ma50_below_mean_5m = mtf_5m and not na(ma50_5m) and not na(meanline_5m) ? (ma50_5m < meanline_5m) : false
short_5m = rsi_oversold_5m and price_below_s1_5m and ma200_far_5m and ma50_below_mean_5m
@@ -909,13 +911,27 @@ check_long_conditions() =>
if not enable_advanced_alerts
false
else
// 条件2时间窗口启动前后5分钟1分钟时间周期下
// 条件21分钟时间框架确认5分钟时间窗口快速技术指标验证
// - 时间窗口启动信号后5分钟内必须满足所有子条件
// - RSI超买确认1分钟RSI > 超买阈值,确认短期多头动能
// - 价格突破确认1分钟价格突破R1阻力线确认突破有效性
// - MA200距离确认1分钟价格距离MA200足够远避免长期均线阻力
// - MA50趋势确认1分钟MA50在MEAN线上方确认短期趋势一致性
condition2_1m = in_time_window(long_trigger_time, time_window_5min) and rsi_overbought_1m and price_above_r1_1m and ma200_far_1m and ma50_above_mean_1m
// 条件3时间窗口启动前后15分钟5分钟时间周期下MA50关系使用1分钟数据
condition3_5m = in_time_window(long_trigger_time, time_window_15min) and rsi_overbought_5m and price_above_r1_5m and ma200_far_5m and ma50_above_mean_1m
// 条件35分钟时间框架确认15分钟时间窗口多重技术指标综合验证
// - 时间窗口启动信号后15分钟内必须满足所有子条件
// - RSI超买确认5分钟RSI > 超买阈值,确认多头动能充足
// - 价格位置确认5分钟价格在MEAN线上方或附近确认趋势方向
// - MA200距离确认5分钟价格距离MA200足够远避免长期均线阻力
// - MA50趋势确认1分钟MA50在MEAN线上方确认短期趋势向上
condition3_5m = in_time_window(long_trigger_time, time_window_15min) and rsi_overbought_5m and price_above_mean_5m and ma200_far_5m and ma50_above_mean_1m
// 条件4时间窗口启动前后10分钟15分钟时间周期下S1和价格的距离> 阈值
// 条件415分钟时间框架确认10分钟时间窗口长期趋势距离验证
// - 时间窗口启动信号后10分钟内必须满足距离条件
// - 距离确认15分钟价格与S1支撑线距离 > 品种特定阈值
// - 目的:确保价格远离重要支撑位,避免假突破风险
// - 意义:长期时间框架的距离验证,提高信号可靠性
condition4_15m = in_time_window(long_trigger_time, time_window_10min) and distance_to_s1_15m > get_r1s1_distance_threshold()
// 根据配置决定是否需要所有条件都满足
@@ -931,13 +947,27 @@ check_short_conditions() =>
if not enable_advanced_alerts
false
else
// 条件2时间窗口启动前后5分钟1分钟时间周期下
// 条件21分钟时间框架确认5分钟时间窗口快速技术指标验证
// - 时间窗口启动信号后5分钟内必须满足所有子条件
// - RSI超卖确认1分钟RSI < 超卖阈值,确认短期空头动能
// - 价格突破确认1分钟价格跌破S1支撑线确认突破有效性
// - MA200距离确认1分钟价格距离MA200足够远避免长期均线支撑
// - MA50趋势确认1分钟MA50在MEAN线下方确认短期趋势一致性
condition2_1m = in_time_window(short_trigger_time, time_window_5min) and rsi_oversold_1m and price_below_s1_1m and ma200_far_1m and ma50_below_mean_1m
// 条件3时间窗口启动前后15分钟5分钟时间周期下MA50关系使用1分钟数据
condition3_5m = in_time_window(short_trigger_time, time_window_15min) and rsi_oversold_5m and price_below_s1_5m and ma200_far_5m and ma50_below_mean_1m
// 条件35分钟时间框架确认15分钟时间窗口多重技术指标综合验证
// - 时间窗口启动信号后15分钟内必须满足所有子条件
// - RSI超卖确认5分钟RSI < 超卖阈值,确认空头动能充足
// - 价格位置确认5分钟价格在MEAN线下方或附近确认趋势方向
// - MA200距离确认5分钟价格距离MA200足够远避免长期均线支撑
// - MA50趋势确认1分钟MA50在MEAN线下方确认短期趋势向下
condition3_5m = in_time_window(short_trigger_time, time_window_15min) and rsi_oversold_5m and price_below_mean_5m and ma200_far_5m and ma50_below_mean_1m
// 条件4时间窗口启动前后10分钟15分钟时间周期下R1和价格的距离> 阈值
// 条件415分钟时间框架确认10分钟时间窗口长期趋势距离验证
// - 时间窗口启动信号后10分钟内必须满足距离条件
// - 距离确认15分钟价格与R1阻力线距离 > 品种特定阈值
// - 目的:确保价格远离重要阻力位,避免假突破风险
// - 意义:长期时间框架的距离验证,提高信号可靠性
condition4_15m = in_time_window(short_trigger_time, time_window_10min) and distance_to_r1_15m > get_r1s1_distance_threshold()
// 根据配置决定是否需要所有条件都满足
@@ -1136,11 +1166,11 @@ if show_info_table and barstate.islast
// 高级警报条件状态计算
condition2_1m_long = not na(long_trigger_time) and in_time_window(long_trigger_time, time_window_5min) and rsi_overbought_1m and price_above_r1_1m and ma200_far_1m and ma50_above_mean_1m
condition3_5m_long = not na(long_trigger_time) and in_time_window(long_trigger_time, time_window_15min) and rsi_overbought_5m and price_above_r1_5m and ma200_far_5m and ma50_above_mean_1m
condition3_5m_long = not na(long_trigger_time) and in_time_window(long_trigger_time, time_window_15min) and rsi_overbought_5m and price_above_mean_5m and ma200_far_5m and ma50_above_mean_1m
condition4_15m_long = not na(long_trigger_time) and in_time_window(long_trigger_time, time_window_10min) and distance_to_s1_15m > get_r1s1_distance_threshold()
condition2_1m_short = not na(short_trigger_time) and in_time_window(short_trigger_time, time_window_5min) and rsi_oversold_1m and price_below_s1_1m and ma200_far_1m and ma50_below_mean_1m
condition3_5m_short = not na(short_trigger_time) and in_time_window(short_trigger_time, time_window_15min) and rsi_oversold_5m and price_below_s1_5m and ma200_far_5m and ma50_below_mean_1m
condition3_5m_short = not na(short_trigger_time) and in_time_window(short_trigger_time, time_window_15min) and rsi_oversold_5m and price_below_mean_5m and ma200_far_5m and ma50_below_mean_1m
condition4_15m_short = not na(short_trigger_time) and in_time_window(short_trigger_time, time_window_10min) and distance_to_r1_15m > get_r1s1_distance_threshold()
// 高级警报颜色计算
@@ -1558,11 +1588,11 @@ if false // 禁用独立的高级警报表格
// 条件状态检查
condition2_1m_long = not na(long_trigger_time) and in_time_window(long_trigger_time, time_window_5min) and rsi_overbought_1m and price_above_r1_1m and ma200_far_1m and ma50_above_mean_1m
condition3_5m_long = not na(long_trigger_time) and in_time_window(long_trigger_time, time_window_15min) and rsi_overbought_5m and price_above_r1_5m and ma200_far_5m and ma50_above_mean_1m
condition3_5m_long = not na(long_trigger_time) and in_time_window(long_trigger_time, time_window_15min) and rsi_overbought_5m and price_above_mean_5m and ma200_far_5m and ma50_above_mean_1m
condition4_15m_long = not na(long_trigger_time) and in_time_window(long_trigger_time, time_window_10min) and distance_to_s1_15m > get_r1s1_distance_threshold()
condition2_1m_short = not na(short_trigger_time) and in_time_window(short_trigger_time, time_window_5min) and rsi_oversold_1m and price_below_s1_1m and ma200_far_1m and ma50_below_mean_1m
condition3_5m_short = not na(short_trigger_time) and in_time_window(short_trigger_time, time_window_15min) and rsi_oversold_5m and price_below_s1_5m and ma200_far_5m and ma50_below_mean_1m
condition3_5m_short = not na(short_trigger_time) and in_time_window(short_trigger_time, time_window_15min) and rsi_oversold_5m and price_below_mean_5m and ma200_far_5m and ma50_below_mean_1m
condition4_15m_short = not na(short_trigger_time) and in_time_window(short_trigger_time, time_window_10min) and distance_to_r1_15m > get_r1s1_distance_threshold()
// 条件状态显示