本配置文件是整个监控系统的“控制中心”和“大脑”。通过调整此文件中的参数,您可以精细地定义系统的监控范围、策略行为和通知方式,而无需修改任何代码。
此部分定义了程序的基础运行环境和核心行为。
参数 | 值示例 | 详细说明 |
---|---|---|
exchange |
"binance" |
[交易所接口] 指定程序连接的加密货币交易所。名称必须是 ccxt 库支持的标准小写名称 (e.g., "okx" , "bybit" )。 |
default_market_type |
"swap" |
[默认市场类型] 指定程序在与交易所交互时默认使用的市场类型。 • "swap" : 永续合约市场。• "spot" : 现货市场。 |
check_interval_minutes |
15 |
[扫描任务频率] 主信号扫描任务的执行周期,单位为分钟。例如,15 表示每隔15分钟,系统会对所有监控对象执行一次全面的策略检查。 |
log_level |
"INFO" |
[日志详细级别] 控制程序在控制台和日志文件 (monitor.log ) 中输出信息的详细程度。• "DEBUG" : 调试模式,输出所有计算细节,用于排查问题。• "INFO" : 标准模式,输出关键流程节点信息,用于日常监控。• "WARNING" : 警告模式,只记录潜在问题和错误。• "ERROR" : 错误模式,只记录导致程序功能异常的严重错误。 |
max_workers |
2 |
[并发扫描线程数] 执行信号扫描时,同时工作的最大线程数量。较高的值可以加快扫描100个币种的速度,但也会在短时间内产生更多的API请求。建议范围: 5-15,具体取决于您的网络和API速率限制。 |
此部分定义了程序的“雷达”要扫描哪些目标。
参数 | 值示例 | 详细说明 |
---|---|---|
timeframes |
["15m", "1h", "4h", "1d"] |
[分析时间周期] 一个列表,定义了需要进行分析的时间框架。程序会对每一个监控对象,在列表中的所有时间周期上独立运行一次所有策略。 |
static_symbols |
["BTC/USDT:USDT"] |
[静态监控列表] 一个交易对列表,这些币种将被永久监控,不受动态扫描结果的影响。适合您希望始终关注的核心资产。 |
dynamic_scan |
(object) |
[动态热点扫描配置] |
▷ enabled |
true |
[启用开关] true : 启用动态扫描,监控列表将是static_symbols 和热门币种的并集。false : 关闭动态扫描,程序将只监控static_symbols 列表中的币种。 |
▷ top_n_for_signals |
100 |
[扫描广度] 启用动态扫描时,系统会自动获取市场上实时成交额排名前 100 的币种作为监控目标。 |
▷ exclude_symbols |
["USDT", "USDC"] |
[扫描排除列表] 在动态扫描获取热门币种时,会自动过滤掉此列表中的币种(通常用于排除没有分析意义的稳定币或锚定资产)。 |
这是系统的“大脑”,所有策略的具体行为和触发条件都在这里定义。
模块目的:为不同流动性(即成交量排名)的资产设定差异化的判断标准,以提高信号质量。
- 应用场景: 作用于所有设置了
volume_confirm: true
的策略,以及强制要求成交量确认的volume_breakout
策略。 - 核心功能: 替代策略中固定的
volume_multiplier
参数,根据币种排名动态计算成交量放大倍数阈值。
参数 | 值示例 | 技术详解 |
---|---|---|
enabled |
true |
[启用开关] true :启用动态成交量乘数。false :所有策略将回退使用各自的静态volume_multiplier 参数。 |
method |
"linear" |
[计算方法] • "linear" : 线性插值法。乘数会根据币种排名,在min_multiplier 和max_multiplier 之间平滑地线性增长。• "stepped" : 阶梯增长法。按rank_step_size 将排名分层,同层内的币种使用相同的乘数。 |
min_multiplier |
1.5 |
[基准下限] 排名第一的资产所需的最低放量倍数。 |
max_multiplier |
10.0 |
[基准上限] 排名末尾的资产所需的最高放量倍数。旨在过滤低流动性资产的无效放量。 |
apply_to_rank_n |
100 |
[作用范围] 动态规则生效的排名范围。应与 top_n_for_signals 保持一致。 |
- 应用场景: 主要作用于
volatility_breakout
策略。 - 核心功能: 替代固定的
atr_multiplier
,为不同波动特性的资产设置不同的“异常波动”判断标准。
参数 | 值示例 | 技术详解 |
---|---|---|
enabled |
false |
[启用开关] true :启用动态ATR乘数。false :volatility_breakout 策略将使用其自带的静态atr_multiplier 参数。 |
method |
"linear" |
[计算方法] 与dynamic_volume_multipliers 中的method 完全相同。 |
min_multiplier |
1.5 |
[头部资产标准] 排名第一的资产,其波动幅度只需超过近期平均ATR的 1.5 倍即可触发警报。 |
max_multiplier |
5.0 |
[长尾资产标准] 排名末尾的资产,其波动幅度需要超过近期平均ATR的 5.0 倍才能触发警报。 |
apply_to_rank_n |
100 |
[作用范围] 该动态规则生效的排名范围。应与top_n_for_signals 保持一致。 |
模块目的:提供统一的、多时间周期自适应的趋势判断引擎,作为下游策略顺势交易的依据。
- 应用场景: 用于分析短时间周期图表(≤ 1小时,如
15m
,1h
)。 - 目的: 使用较短的EMA周期组合,以更灵敏地捕捉日内或短线的趋势变化。
参数 | 值示例 | 详细说明 |
---|---|---|
fast |
12 |
[快速EMA周期] 代表最短期的价格动能。 |
medium |
26 |
[中速EMA周期] 代表中期的价格趋势。 |
long |
60 |
[慢速EMA周期] 代表该时间周期下的长期基准趋势。 |
- 应用场景: 用于分析长时间周期图表(> 1小时,如
4h
,1d
)。 - 目的: 使用更长的EMA周期组合,以过滤短期噪音,识别更稳定的宏观波段趋势。
参数 | 值示例 | 详细说明 |
---|---|---|
fast |
26 |
[快速EMA周期] |
medium |
50 |
[中速EMA周期] |
long |
120 |
[慢速EMA周期] |
作用:捕捉价格有效突破关键长期均线的信号。
参数 | 值示例 | 详细说明 |
---|---|---|
enabled |
true |
是否启用本策略。 |
period |
120 |
[均线周期] 用于判断交叉的核心EMA均线周期。 |
volume_confirm |
true |
[成交量过滤] 若为true ,突破信号必须伴随成交量放大。 |
volume_multiplier |
2.0 |
[备用值] 如果 dynamic_volume_multipliers 关闭,使用的静态放量倍数。 |
atr_period |
14 |
用于计算ATR的周期。 |
atr_multiplier |
1.0 |
[有效突破缓冲区] 价格需突破EMA后再额外走 1.0 * ATR 的距离。注意:1.0 是一个非常严格的值,建议设为 0.1 - 0.3 。 |
作用:捕捉震荡行情中的潜在反转点,并在趋势行情中提供警示。
参数 | 值示例 | 详细说明 |
---|---|---|
enabled |
true |
是否启用本策略。 |
fast_k , slow_k , slow_d |
9 , 3 , 3 |
KDJ指标的标准参数。 |
volume_confirm |
true |
[成交量过滤] 若为true ,KDJ金叉/死叉信号必须伴随成交量放大。 |
volume_multiplier |
2.0 |
[备用值] 如果 dynamic_volume_multipliers 关闭,使用的静态放量倍数。 |
作用:监测市场波动性,当单根K线波幅远超近期平均水平时报警。
参数 | 值示例 | 详细说明 |
---|---|---|
enabled |
true |
是否启用本策略。 |
atr_period |
14 |
用于计算ATR以衡量“正常”波动范围的周期。 |
atr_multiplier |
2.5 |
[波动放大阈值] 当前K线振幅需要超过近期平均ATR的 2.5 倍才算异常。注意: 若dynamic_atr_multipliers 启用,此值为备用。 |
volume_confirm |
true |
[成交量过滤] 若为true ,异常波动必须伴随成交量放大。 |
volume_multiplier |
2.0 |
[备用值] 如果 dynamic_volume_multipliers 关闭,使用的静态放量倍数。 |
作用:系统的核心突破策略,识别价格对被市场反复验证的“价格兴趣区”的有效突破。
参数 | 值示例 | 详细说明 |
---|---|---|
enabled |
true |
是否启用本策略。 |
level_detection |
(object) |
高级水平位检测配置。 |
▷ clustering |
(object) |
价格聚类算法配置,用于识别“价格兴趣区”。 |
▷▷ atr_grouping_multiplier |
0.5 |
[集群半径] 两个拐点的价格差在0.5 * ATR 范围内,即视为同一个区域。值越小,区域越少但越精确。 |
▷▷ min_cluster_size |
2 |
[区域强度] 一个“兴趣区”至少需要被 2 个不同的拐点触碰过,才被认为有效。 |
▷▷ min_separation_atr_mult |
1.0 |
[区域间距] 最终输出的任意两个水平位之间,价格距离必须大于 1.0 * ATR 。 |
▷ pivots |
(object) |
枢轴点算法配置,用于和“兴趣区”进行共振验证。 |
breakout_period |
120 |
[备用方案] 当高级算法找不到水平位时,使用的滚动高/低点周期。 |
volume_ma_period |
20 |
计算成交量均线时回溯的K线数量。 |
atr_period |
14 |
用于计算ATR的周期。 |
atr_multiplier_breakout |
0.1 |
[有效突破缓冲区] 价格收盘时,必须超过水平位 0.1 * ATR 的距离才算有效突破。 |
作用:寻找价格与RSI指标走势不一致的情况,作为潜在趋势反转的早期预警。
参数 | 值示例 | 详细说明 |
---|---|---|
enabled |
false |
是否启用本策略。 |
rsi_period |
14 |
RSI指标的计算周期。 |
lookback_period |
60 |
寻找背离时,回溯的K线数量。 |
此部分控制每日定时发送的市场宏观报告内容。
参数 | 值示例 | 详细说明 |
---|---|---|
enabled |
true |
是否启用每日报告功能。 |
scan_time_beijing |
"08:30" |
每日报告在北京时间的运行时间。 |
top_n_by_volume |
300 |
报告分析的币种范围,基于成交量排名前300的币种。 |
top_n_gainers |
10 |
报告中显示的“涨幅榜”的数量。 |
min_consecutive_days |
2 |
一个币种至少连涨2天,才能进入“连涨榜”。 |
volume_ma_period |
20 |
计算“成交量异动榜”时,使用的成交量均线周期。 |
top_n_volume_ratio |
10 |
报告中显示的“成交量异动榜”的数量。 |
此部分配置信号和报告的发送目的地。
参数 | 值示例 | 详细说明 |
---|---|---|
dingtalk |
(object) |
钉钉机器人配置。 |
▷ enabled |
true |
是否启用钉钉通知。 |
▷ webhook_url |
"https://..." |
钉钉机器人的Webhook地址。 |
▷ secret |
"SEC..." |
钉钉机器人的加签密钥 (Secret),如果安全设置中选择了“加签”。 |
desktop |
(object) |
桌面弹窗通知配置。 |
▷ enabled |
true |
是否启用桌面通知。 |
▷ timeout_seconds |
30 |
桌面通知的显示驻留时间(秒)。 |