2025年8月2日 06:23

This commit is contained in:
2025-08-02 06:23:21 +00:00
parent 6e502774cd
commit 565e26ee41

View File

@@ -675,8 +675,8 @@ get_mtf_rsi(tf) =>
rsi_mtf := request.security(syminfo.tickerid, tf, ma(ta.rsi(rsi_src, rsiLength), smoothP, maType, sig), lookahead=barmerge.lookahead_off)
rsi_mtf
// 多时间框架SRBR计算函数
get_mtf_srbr(tf) =>
// 多时间框架SRBR计算函数 - 完全独立的计算
get_mtf_srbr_data(tf) =>
request.security(syminfo.tickerid, tf, calcSupportResistance(close, srbr_lookback_period), lookahead=barmerge.lookahead_off)
//************************************************************************************************************
@@ -793,7 +793,7 @@ meanrange_1m = mtf_1m ? request.security(syminfo.tickerid, "1", supersmoother(ta
upband1_1m = mtf_1m and not na(meanline_1m) and not na(meanrange_1m) ? meanline_1m + meanrange_1m * (2 * math.asin(1) * innermult) : na
loband1_1m = mtf_1m and not na(meanline_1m) and not na(meanrange_1m) ? meanline_1m - meanrange_1m * (2 * math.asin(1) * innermult) : na
// SRBR 1分钟数据
[srbr_supportLevel_1m, srbr_resistanceLevel_1m, srbr_brekout_res_1m, srbr_res_holds_1m, srbr_sup_holds_1m, srbr_brekout_sup_1m, srbr_vol_1m, srbr_vol_hi_1m, srbr_vol_lo_1m] = mtf_1m ? get_mtf_srbr("1") : [na, na, na, na, na, na, na, na, na]
[srbr_supportLevel_1m, srbr_resistanceLevel_1m, srbr_brekout_res_1m, srbr_res_holds_1m, srbr_sup_holds_1m, srbr_brekout_sup_1m, srbr_vol_1m, srbr_vol_hi_1m, srbr_vol_lo_1m] = mtf_1m ? get_mtf_srbr_data("1") : [na, na, na, na, na, na, na, na, na]
// 5分钟数据
rsi_5m = mtf_5m ? get_mtf_rsi("5") : na
@@ -805,7 +805,7 @@ meanrange_5m = mtf_5m ? request.security(syminfo.tickerid, "5", supersmoother(ta
upband1_5m = mtf_5m and not na(meanline_5m) and not na(meanrange_5m) ? meanline_5m + meanrange_5m * (2 * math.asin(1) * innermult) : na
loband1_5m = mtf_5m and not na(meanline_5m) and not na(meanrange_5m) ? meanline_5m - meanrange_5m * (2 * math.asin(1) * innermult) : na
// SRBR 5分钟数据
[srbr_supportLevel_5m, srbr_resistanceLevel_5m, srbr_brekout_res_5m, srbr_res_holds_5m, srbr_sup_holds_5m, srbr_brekout_sup_5m, srbr_vol_5m, srbr_vol_hi_5m, srbr_vol_lo_5m] = mtf_5m ? get_mtf_srbr("5") : [na, na, na, na, na, na, na, na, na]
[srbr_supportLevel_5m, srbr_resistanceLevel_5m, srbr_brekout_res_5m, srbr_res_holds_5m, srbr_sup_holds_5m, srbr_brekout_sup_5m, srbr_vol_5m, srbr_vol_hi_5m, srbr_vol_lo_5m] = mtf_5m ? get_mtf_srbr_data("5") : [na, na, na, na, na, na, na, na, na]
// 15分钟数据
rsi_15m = mtf_15m ? get_mtf_rsi("15") : na
@@ -817,7 +817,7 @@ meanrange_15m = mtf_15m ? request.security(syminfo.tickerid, "15", supersmoother
upband1_15m = mtf_15m and not na(meanline_15m) and not na(meanrange_15m) ? meanline_15m + meanrange_15m * (2 * math.asin(1) * innermult) : na
loband1_15m = mtf_15m and not na(meanline_15m) and not na(meanrange_15m) ? meanline_15m - meanrange_15m * (2 * math.asin(1) * innermult) : na
// SRBR 15分钟数据
[srbr_supportLevel_15m, srbr_resistanceLevel_15m, srbr_brekout_res_15m, srbr_res_holds_15m, srbr_sup_holds_15m, srbr_brekout_sup_15m, srbr_vol_15m, srbr_vol_hi_15m, srbr_vol_lo_15m] = mtf_15m ? get_mtf_srbr("15") : [na, na, na, na, na, na, na, na, na]
[srbr_supportLevel_15m, srbr_resistanceLevel_15m, srbr_brekout_res_15m, srbr_res_holds_15m, srbr_sup_holds_15m, srbr_brekout_sup_15m, srbr_vol_15m, srbr_vol_hi_15m, srbr_vol_lo_15m] = mtf_15m ? get_mtf_srbr_data("15") : [na, na, na, na, na, na, na, na, na]
// 30分钟数据
rsi_30m = mtf_30m ? get_mtf_rsi("30") : na
@@ -829,7 +829,7 @@ meanrange_30m = mtf_30m ? request.security(syminfo.tickerid, "30", supersmoother
upband1_30m = mtf_30m and not na(meanline_30m) and not na(meanrange_30m) ? meanline_30m + meanrange_30m * (2 * math.asin(1) * innermult) : na
loband1_30m = mtf_30m and not na(meanline_30m) and not na(meanrange_30m) ? meanline_30m - meanrange_30m * (2 * math.asin(1) * innermult) : na
// SRBR 30分钟数据
[srbr_supportLevel_30m, srbr_resistanceLevel_30m, srbr_brekout_res_30m, srbr_res_holds_30m, srbr_sup_holds_30m, srbr_brekout_sup_30m, srbr_vol_30m, srbr_vol_hi_30m, srbr_vol_lo_30m] = mtf_30m ? get_mtf_srbr("30") : [na, na, na, na, na, na, na, na, na]
[srbr_supportLevel_30m, srbr_resistanceLevel_30m, srbr_brekout_res_30m, srbr_res_holds_30m, srbr_sup_holds_30m, srbr_brekout_sup_30m, srbr_vol_30m, srbr_vol_hi_30m, srbr_vol_lo_30m] = mtf_30m ? get_mtf_srbr_data("30") : [na, na, na, na, na, na, na, na, na]
// 45分钟数据
rsi_45m = mtf_45m ? get_mtf_rsi("45") : na
@@ -841,7 +841,7 @@ meanrange_45m = mtf_45m ? request.security(syminfo.tickerid, "45", supersmoother
upband1_45m = mtf_45m and not na(meanline_45m) and not na(meanrange_45m) ? meanline_45m + meanrange_45m * (2 * math.asin(1) * innermult) : na
loband1_45m = mtf_45m and not na(meanline_45m) and not na(meanrange_45m) ? meanline_45m - meanrange_45m * (2 * math.asin(1) * innermult) : na
// SRBR 45分钟数据
[srbr_supportLevel_45m, srbr_resistanceLevel_45m, srbr_brekout_res_45m, srbr_res_holds_45m, srbr_sup_holds_45m, srbr_brekout_sup_45m, srbr_vol_45m, srbr_vol_hi_45m, srbr_vol_lo_45m] = mtf_45m ? get_mtf_srbr("45") : [na, na, na, na, na, na, na, na, na]
[srbr_supportLevel_45m, srbr_resistanceLevel_45m, srbr_brekout_res_45m, srbr_res_holds_45m, srbr_sup_holds_45m, srbr_brekout_sup_45m, srbr_vol_45m, srbr_vol_hi_45m, srbr_vol_lo_45m] = mtf_45m ? get_mtf_srbr_data("45") : [na, na, na, na, na, na, na, na, na]
// 1小时数据
rsi_1h = mtf_1h ? get_mtf_rsi("60") : na
@@ -853,7 +853,7 @@ meanrange_1h = mtf_1h ? request.security(syminfo.tickerid, "60", supersmoother(t
upband1_1h = mtf_1h and not na(meanline_1h) and not na(meanrange_1h) ? meanline_1h + meanrange_1h * (2 * math.asin(1) * innermult) : na
loband1_1h = mtf_1h and not na(meanline_1h) and not na(meanrange_1h) ? meanline_1h - meanrange_1h * (2 * math.asin(1) * innermult) : na
// SRBR 1小时数据
[srbr_supportLevel_1h, srbr_resistanceLevel_1h, srbr_brekout_res_1h, srbr_res_holds_1h, srbr_sup_holds_1h, srbr_brekout_sup_1h, srbr_vol_1h, srbr_vol_hi_1h, srbr_vol_lo_1h] = mtf_1h ? get_mtf_srbr("60") : [na, na, na, na, na, na, na, na, na]
[srbr_supportLevel_1h, srbr_resistanceLevel_1h, srbr_brekout_res_1h, srbr_res_holds_1h, srbr_sup_holds_1h, srbr_brekout_sup_1h, srbr_vol_1h, srbr_vol_hi_1h, srbr_vol_lo_1h] = mtf_1h ? get_mtf_srbr_data("60") : [na, na, na, na, na, na, na, na, na]
// 4小时数据
rsi_4h = mtf_4h ? get_mtf_rsi("240") : na
@@ -865,7 +865,7 @@ meanrange_4h = mtf_4h ? request.security(syminfo.tickerid, "240", supersmoother(
upband1_4h = mtf_4h and not na(meanline_4h) and not na(meanrange_4h) ? meanline_4h + meanrange_4h * (2 * math.asin(1) * innermult) : na
loband1_4h = mtf_4h and not na(meanline_4h) and not na(meanrange_4h) ? meanline_4h - meanrange_4h * (2 * math.asin(1) * innermult) : na
// SRBR 4小时数据
[srbr_supportLevel_4h, srbr_resistanceLevel_4h, srbr_brekout_res_4h, srbr_res_holds_4h, srbr_sup_holds_4h, srbr_brekout_sup_4h, srbr_vol_4h, srbr_vol_hi_4h, srbr_vol_lo_4h] = mtf_4h ? get_mtf_srbr("240") : [na, na, na, na, na, na, na, na, na]
[srbr_supportLevel_4h, srbr_resistanceLevel_4h, srbr_brekout_res_4h, srbr_res_holds_4h, srbr_sup_holds_4h, srbr_brekout_sup_4h, srbr_vol_4h, srbr_vol_hi_4h, srbr_vol_lo_4h] = mtf_4h ? get_mtf_srbr_data("240") : [na, na, na, na, na, na, na, na, na]
// 计算多时间框架信号(修正版本,与原指标逻辑一致)
// 1分钟信号