From 565e26ee41c77ccf5ff0f9534a97a34add580f29 Mon Sep 17 00:00:00 2001 From: admin Date: Sat, 2 Aug 2025 06:23:21 +0000 Subject: [PATCH] =?UTF-8?q?2025=E5=B9=B48=E6=9C=882=E6=97=A5=2006:23?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 3in1 copy.pine | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/3in1 copy.pine b/3in1 copy.pine index 66d62a4..4ac958d 100644 --- a/3in1 copy.pine +++ b/3in1 copy.pine @@ -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分钟信号