2025年8月2日 14:11
This commit is contained in:
@@ -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
|
||||
// - 自动识别交易对类型并应用相应的成交量和距离参数
|
||||
// - 5级:最严格,参考SRBR高低成交量阈值
|
||||
Reference in New Issue
Block a user