保守模式参数优化
这个目录包含两部分:
- 实盘脚本:
四分之一,五分钟,反手条件充足_保守模式.py - 参数优化:
optimize_params.py+backtest_engine.py
current_params.json 是优化结果文件,实盘脚本启动时会自动读取并覆盖默认参数。
1. 使用 CSV 做 30 天参数优化(推荐)
CSV 至少包含:
id(秒级时间戳)openhighlowclose
运行示例:
python3 "/Users/ddrwode/code/lm_code/bitmart/保守模式参数优化/optimize_params.py" \
--data-file "/Users/ddrwode/code/lm_code/bitmart/数据/your_5m_30days.csv" \
--days 30 \
--train-days 20 \
--valid-days 10 \
--n-trials 300
优化完成后会写入:
/Users/ddrwode/code/lm_code/bitmart/保守模式参数优化/current_params.json
2. 不提供 CSV,直接从 API 自动抓取 30 天数据并优化
最简单一条命令(会自动抓取并计算):
python3 "/Users/ddrwode/code/lm_code/bitmart/保守模式参数优化/optimize_params.py" \
--days 30 \
--step 5 \
--n-trials 300
脚本会按以下顺序找凭证:
- 命令行
--api-key/--secret-key - 环境变量
BITMART_API_KEY/BITMART_SECRET_KEY - 保守模式脚本里的
self.api_key/self.secret_key
抓取到的K线会自动保存为:
/Users/ddrwode/code/lm_code/bitmart/保守模式参数优化/auto_ethusdt_5m_30d.csv
你也可以显式指定保存位置:
BITMART_API_KEY="xxx" BITMART_SECRET_KEY="xxx" \
python3 "/Users/ddrwode/code/lm_code/bitmart/保守模式参数优化/optimize_params.py" \
--days 30 \
--step 5 \
--n-trials 300 \
--save-data-file "/Users/ddrwode/code/lm_code/bitmart/数据/eth_5m_30days.csv"
3. 运行保守模式实盘脚本
python3 "/Users/ddrwode/code/lm_code/bitmart/保守模式参数优化/四分之一,五分钟,反手条件充足_保守模式.py"
如果你想加载其他参数文件:
BITMART_PARAMS_PATH="/absolute/path/to/current_params.json" \
python3 "/Users/ddrwode/code/lm_code/bitmart/保守模式参数优化/四分之一,五分钟,反手条件充足_保守模式.py"
4. 实时价格(WebSocket)
保守模式脚本已支持:
- WebSocket 实时价优先
- 自动重连
- 超时自动回退 API 价格
默认 WebSocket 订阅:
wss://openapi-ws-v2.bitmart.com/api?protocol=1.1- topic:
futures/ticker:ETHUSDT
如果你本机没有 WebSocket 依赖,会自动回退 API。安装方式:
pip3 install websocket-client
可选环境变量:
BITMART_WS_ENABLED=0:禁用 WebSocketBITMART_WS_URL=...:自定义 WS 地址BITMART_WS_TOPIC=...:自定义订阅 topicBITMART_WS_PRICE_TTL=2.0:价格新鲜度阈值(秒)
5. 费用模型说明
优化器会按下面公式计入手续费返佣:
effective_fee_rate = raw_fee_rate * (1 - rebate_ratio)
默认:
raw_fee_rate = 0.0006rebate_ratio = 0.90effective_fee_rate = 0.00006
可通过命令行改:
--raw-fee-rate--rebate-ratio
6. 重要提示
- 回测撮合属于简化模型,不等于实盘撮合。
- 参数应周期性重训(例如每天或每周)。
- 若出现交易次数过低,适当降低
open_breakout_buffer_pct或冷却时间。