diff --git a/conbinined2.pine b/conbinined2.pine index f86f3db..c4ac4be 100644 --- a/conbinined2.pine +++ b/conbinined2.pine @@ -26,16 +26,6 @@ xau_dist = input.float(3.5, title='XAUUSD MA200 距离阈值', minval=0.1, step= eth_dist = input.float(9.0, title='ETHUSD MA200 距离阈值', minval=0.1, step=0.1, group='Distance') gbp_dist = input.float(0.3, title='GBPJPY MA200 距离阈值', minval=0.1, step=0.1, group='Distance') -// ═════════ Binance加密货币距离阈值 ════════ -binance_btc_dist = input.float(500.0, title='Binance BTCUSDT MA200 距离阈值', minval=0.1, step=0.1, group='Distance') -binance_eth_dist = input.float(15.0, title='Binance ETHUSDT MA200 距离阈值', minval=0.1, step=0.1, group='Distance') -binance_bnb_dist = input.float(5.0, title='Binance BNBUSDT MA200 距离阈值', minval=0.1, step=0.1, group='Distance') -binance_ada_dist = input.float(0.02, title='Binance ADAUSDT MA200 距离阈值', minval=0.001, step=0.001, group='Distance') -binance_sol_dist = input.float(3.0, title='Binance SOLUSDT MA200 距离阈值', minval=0.1, step=0.1, group='Distance') -binance_dot_dist = input.float(0.2, title='Binance DOTUSDT MA200 距离阈值', minval=0.01, step=0.01, group='Distance') -binance_avax_dist = input.float(0.8, title='Binance AVAXUSDT MA200 距离阈值', minval=0.01, step=0.01, group='Distance') -binance_matic_dist = input.float(0.03, title='Binance MATICUSDT MA200 距离阈值', minval=0.001, step=0.001, group='Distance') - flatness_period = input.int(20, title='MA200 波动回看周期', minval=1, group='Distance') flatness_threshold = input.float(0.5, title='MA200 平坦度阈值', minval=0.01, step=0.01, group='Distance') oscillation_bars = input.int(10, title='价格波动回看周期', minval=1, group='Distance') @@ -49,16 +39,6 @@ xau_r1s1_dist = input.float(3.5, title='XAUUSD R1/S1 距离阈值', minval=0.1, eth_r1s1_dist = input.float(9.0, title='ETHUSD R1/S1 距离阈值', minval=0.1, step=0.1, group='R1S1Distance') gbp_r1s1_dist = input.float(0.3, title='GBPJPY R1/S1 距离阈值', minval=0.1, step=0.1, group='R1S1Distance') -// ═════════ Binance加密货币R1/S1距离阈值 ════════ -binance_btc_r1s1_dist = input.float(500.0, title='Binance BTCUSDT R1/S1 距离阈值', minval=0.1, step=0.1, group='R1S1Distance') -binance_eth_r1s1_dist = input.float(15.0, title='Binance ETHUSDT R1/S1 距离阈值', minval=0.1, step=0.1, group='R1S1Distance') -binance_bnb_r1s1_dist = input.float(5.0, title='Binance BNBUSDT R1/S1 距离阈值', minval=0.1, step=0.1, group='R1S1Distance') -binance_ada_r1s1_dist = input.float(0.02, title='Binance ADAUSDT R1/S1 距离阈值', minval=0.001, step=0.001, group='R1S1Distance') -binance_sol_r1s1_dist = input.float(3.0, title='Binance SOLUSDT R1/S1 距离阈值', minval=0.1, step=0.1, group='R1S1Distance') -binance_dot_r1s1_dist = input.float(0.2, title='Binance DOTUSDT R1/S1 距离阈值', minval=0.01, step=0.01, group='R1S1Distance') -binance_avax_r1s1_dist = input.float(0.8, title='Binance AVAXUSDT R1/S1 距离阈值', minval=0.01, step=0.01, group='R1S1Distance') -binance_matic_r1s1_dist = input.float(0.03, title='Binance MATICUSDT R1/S1 距离阈值', minval=0.001, step=0.001, group='R1S1Distance') - // ═════════ K线标记配置 ════════ signalSet = input(false, '═════════ Signal Marks Configuration ════════') show_long_marks = input.bool(true, title='显示做多标记', group='Signals') @@ -93,11 +73,6 @@ show_volume_debug = input.bool(true, title='显示成交量调试信息', group= srbr_vol_divisor = input.float(2.5, title='SRBR成交量除数', minval=1.0, maxval=5.0, step=0.1, tooltip='参考SRBR源代码的Vol/2.5逻辑', group='VolumeFilter') volume_lookback_period = input.int(25, title='成交量回看周期', minval=5, maxval=50, tooltip='用于计算成交量梯度和阈值', group='VolumeFilter') -// ═════════ 交易对特定成交量参数 ════════ -crypto_vol_multiplier = input.float(1.5, title='加密货币成交量倍数', minval=0.5, maxval=3.0, step=0.1, tooltip='加密货币通常需要更高的成交量阈值', group='VolumeFilter') -forex_vol_multiplier = input.float(1.0, title='外汇成交量倍数', minval=0.5, maxval=3.0, step=0.1, tooltip='外汇市场的标准成交量倍数', group='VolumeFilter') -commodity_vol_multiplier = input.float(1.2, title='商品成交量倍数', minval=0.5, maxval=3.0, step=0.1, tooltip='商品市场的成交量倍数', group='VolumeFilter') - // ═════════ 价格标签配置 ════════ labelSet = input(false, '═════════ Price Labels Configuration ════════') show_mean_label = input.bool(true, title='显示MEAN价格标签', group='Labels') @@ -155,25 +130,6 @@ table_position = input.string('top_right', title='表格位置', options=['top_l // 辅助函数定义 //************************************************************************************************************ -// ═════════ 交易对特定成交量参数获取函数 ════════ -get_volume_multiplier() => - sym = ticker.standard(syminfo.tickerid) - if str.contains(sym, "BINANCE:") - crypto_vol_multiplier // Binance 加密货币使用加密货币倍数 - else if str.contains(sym, "XAUUSD") or str.contains(sym, "XAGUSD") - commodity_vol_multiplier // 贵金属使用商品倍数 - else - forex_vol_multiplier // 其他使用外汇倍数 - -get_min_volume_ratio() => - sym = ticker.standard(syminfo.tickerid) - if str.contains(sym, "BINANCE:") - 0.4 // 加密货币使用较高的最小比率 - else if str.contains(sym, "XAUUSD") or str.contains(sym, "XAGUSD") - 0.35 // 贵金属使用中等比率 - else - 0.3 // 外汇使用标准比率 - // ═════════ 成交量分析函数(改进版本) ════════ // Delta Volume Function - 区分买卖成交量 upAndDownVolume() => @@ -207,18 +163,14 @@ get_volume_filter() => vol_range = vol_hi - vol_lo vol_mid = (vol_hi + vol_lo) / 2 - // 获取交易对特定的成交量参数 - symbol_vol_multiplier = get_volume_multiplier() - symbol_min_vol_ratio = get_min_volume_ratio() - // 根据1-5级过滤等级调整阈值(参考SRBR的分层逻辑) threshold_multiplier = switch volume_filter_level - 1 => symbol_vol_multiplier * 0.6 // 1级:最温和,只过滤极明显的假信号 - 2 => symbol_vol_multiplier * 0.8 // 2级:温和,过滤明显假信号 - 3 => symbol_vol_multiplier * 1.0 // 3级:中等,标准过滤 - 4 => symbol_vol_multiplier * 1.3 // 4级:严格,较强过滤 - 5 => symbol_vol_multiplier * 1.6 // 5级:最严格,最强过滤 - => symbol_vol_multiplier + 1 => vol_multiplier * 0.6 // 1级:最温和,只过滤极明显的假信号 + 2 => vol_multiplier * 0.8 // 2级:温和,过滤明显假信号 + 3 => vol_multiplier * 1.0 // 3级:中等,标准过滤 + 4 => vol_multiplier * 1.3 // 4级:严格,较强过滤 + 5 => vol_multiplier * 1.6 // 5级:最严格,最强过滤 + => vol_multiplier vol_threshold = vol_avg * threshold_multiplier @@ -228,7 +180,7 @@ get_volume_filter() => if volume_filter_level == 1 // 1级:最温和过滤,只要成交量方向正确且不是极低成交量 - min_volume_threshold = vol_avg * symbol_min_vol_ratio + min_volume_threshold = vol_avg * min_volume_ratio long_volume_ok := Vol > 0 and vol_abs > min_volume_threshold short_volume_ok := Vol < 0 and vol_abs > min_volume_threshold else if volume_filter_level == 2 @@ -318,48 +270,26 @@ volume_trend_confirmation(signal_type) => else volume_strength and (vol_adjusted > vol_hi * 0.7 or vol_adjusted < vol_lo * 1.3) -// ═════════ 距离阈值切换(参考原MA200代码,新增Binance支持) ════════ +// ═════════ 距离阈值切换(参考原MA200代码) ════════ get_distance_threshold() => sym = ticker.standard(syminfo.tickerid) switch sym - // TICKMILL 交易对 'TICKMILL:BTCUSD' => btc_dist 'TICKMILL:XAUUSD' => xau_dist 'TICKMILL:ETHUSD' => eth_dist 'TICKMILL:GBPJPY' => gbp_dist - // Binance 加密货币交易对 - 'BINANCE:BTCUSDT' => binance_btc_dist - 'BINANCE:ETHUSDT' => binance_eth_dist - 'BINANCE:BNBUSDT' => binance_bnb_dist - 'BINANCE:ADAUSDT' => binance_ada_dist - 'BINANCE:SOLUSDT' => binance_sol_dist - 'BINANCE:DOTUSDT' => binance_dot_dist - 'BINANCE:AVAXUSDT' => binance_avax_dist - 'BINANCE:MATICUSDT' => binance_matic_dist => default_dist -// ═════════ R1/S1距离阈值切换(新增Binance支持) ════════ +// ═════════ R1/S1距离阈值切换 ════════ get_r1s1_distance_threshold() => sym = ticker.standard(syminfo.tickerid) switch sym - // TICKMILL 交易对 'TICKMILL:BTCUSD' => btc_r1s1_dist 'TICKMILL:XAUUSD' => xau_r1s1_dist 'TICKMILL:ETHUSD' => eth_r1s1_dist 'TICKMILL:GBPJPY' => gbp_r1s1_dist - // Binance 加密货币交易对 - 'BINANCE:BTCUSDT' => binance_btc_r1s1_dist - 'BINANCE:ETHUSDT' => binance_eth_r1s1_dist - 'BINANCE:BNBUSDT' => binance_bnb_r1s1_dist - 'BINANCE:ADAUSDT' => binance_ada_r1s1_dist - 'BINANCE:SOLUSDT' => binance_sol_r1s1_dist - 'BINANCE:DOTUSDT' => binance_dot_r1s1_dist - 'BINANCE:AVAXUSDT' => binance_avax_r1s1_dist - 'BINANCE:MATICUSDT' => binance_matic_r1s1_dist => default_r1s1_dist -// 这些函数已移动到更早的位置 - // ═════════ 表格文字大小转换 ════════ get_text_size() => switch table_text_size @@ -2278,8 +2208,4 @@ if barstate.islast // - 2级:温和,过滤明显假信号 // - 3级:中等,标准过滤强度 // - 4级:严格,较强过滤 -// - 5级:最严格,参考SRBR高低成交量阈值 -// ✓ 多交易所支持系统 -// - TICKMILL: BTCUSD, XAUUSD, ETHUSD, GBPJPY -// - BINANCE: BTCUSDT, ETHUSDT, BNBUSDT, ADAUSDT, SOLUSDT, DOTUSDT, AVAXUSDT, MATICUSDT -// - 自动识别交易对类型并应用相应的成交量和距离参数 \ No newline at end of file +// - 5级:最严格,参考SRBR高低成交量阈值 \ No newline at end of file