Files
lm_code/adaptive_third_strategy/config.py
ddrwode 970080a2e6 hahaa
2026-01-31 10:35:25 +08:00

98 lines
2.9 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# -*- coding: utf-8 -*-
"""
自适应三分位趋势策略 - 配置参数
"""
# ========== 数据与周期 ==========
CONTRACT_SYMBOL = "ETHUSDT"
STEP_5M = 5
STEP_15M = 15
STEP_60M = 60
# 有效K线标准实体 >= max(ATR(20)*0.1, 最小波动阈值)
MIN_BODY_ATR_RATIO = 0.1
MIN_VOLATILITY_PERCENT = 0.0005 # 当前价格 × 0.05%
# ========== 趋势判断EMA周期 ==========
# 长期1小时 EMA(50) vs EMA(200)
EMA_LONG_FAST = 50
EMA_LONG_SLOW = 200
# 中期15分钟 EMA(20) vs EMA(50)
EMA_MID_FAST = 20
EMA_MID_SLOW = 50
# 短期5分钟 EMA(9)
EMA_SHORT = 9
# 交易模式aggressive / conservative / strict
TREND_MODE = "conservative"
# ========== 动态触发 ==========
ATR_PERIOD = 20
VOLATILITY_COEF_CLAMP = (0.3, 3.0) # 波动率系数范围
BASE_COEF = 0.33
# 趋势方向系数(顺势更易触发)
TREND_FAVOR_COEF = 0.8
TREND_AGAINST_COEF = 1.2
# ========== 信号确认(至少满足几项) ==========
CONFIRM_REQUIRED = 2
VOLUME_MA_PERIOD = 20
VOLUME_RATIO_THRESHOLD = 0.8 # 成交量 > 前20根均量 × 0.8
# ========== 风险管理 ==========
MAX_POSITION_PERCENT = 0.10 # 单笔最大 10%
BASE_POSITION_PERCENT = 0.02 # 基础仓位 2%
STOP_LOSS_ATR_MULT = 2.0 # 硬止损 = ATR × 2.0
TIME_STOP_BARS = 3 # 3根K线未盈利平仓
TRAIL_START_ATR = 1.0 # 盈利 1×ATR 后启动移动止损
TRAIL_ATR_MULT = 0.5 # 移动止损距离 0.5×ATR
# 止盈目标ATR倍数与分批比例
TP1_ATR = 1.5
TP2_ATR = 3.0
TP3_ATR = 5.0
TP1_RATIO = 0.30
TP2_RATIO = 0.30
TP3_RATIO = 0.40
# ========== 反手条件 ==========
REVERSE_BREAK_MULT = 0.5 # 突破幅度 > 实体/2
REVERSE_LOSS_ATR = 0.5 # 当前持仓亏损 > 0.5×ATR 可反手
MIN_BARS_SINCE_ENTRY = 2 # 距离上次开仓至少2根K线
SAME_KLINE_NO_REVERSE = True # 同一K线不反手
# ========== 市场状态调整 ==========
# 强趋势 / 震荡 / 高波动 时的系数
STRONG_TREND_COEF = 0.25
STRONG_TREND_STOP_ATR = 3.0
RANGE_COEF = 0.4
RANGE_STOP_ATR = 1.5
HIGH_VOL_POSITION_COEF = 0.5
HIGH_VOL_EXTRA_CONFIRM = 1
# ========== 禁止交易时段UTC+8 小时:分) ==========
FORBIDDEN_PERIODS = [
(0, 0, 0, 30), # 00:00-00:30
(8, 0, 8, 30), # 08:00-08:30
(20, 0, 20, 30), # 20:00-20:30
]
# 高波动暂停ATR > 平均ATR × 2 暂停
ATR_PAUSE_MULT = 2.0
# ========== 自适应绩效 ==========
CONSECUTIVE_LOSS_PAUSE = 3 # 连续亏损3次仓位减半
WIN_RATE_LOOKBACK = 20
WIN_RATE_PAUSE_THRESHOLD = 0.40 # 胜率<40% 暂停
MAX_DRAWDOWN_PERCENT = 0.10 # 最大回撤10% 观察期
MAX_TRADES_PER_DAY = 20
MAX_HOLD_BARS = 4 * 12 # 4小时 ≈ 4*12 根5分钟
# ========== 回测/实盘通用 ==========
CONTRACT_SIZE = 10000
SLIPPAGE_POINTS = 3
FEE_RATE = 0.0005
FEE_FIXED = 5
# 回测专用:固定手续费(合约多为按比例,可设为 0 观察策略本身)
FEE_FIXED_BACKTEST = 0
# 两笔开仓之间至少间隔 N 根 5 分钟 K 线,减少过度交易
MIN_BARS_BETWEEN_TRADES = 4