添加klc识别ema线接触

This commit is contained in:
jackyu66git
2026-02-08 22:01:45 +08:00
parent b9c11b6163
commit 10b8ba398b
6 changed files with 305 additions and 32 deletions
+24
View File
@@ -22,6 +22,30 @@ class Chan_K_DIR(Enum):
BULL = auto()
BEAR = auto()
CROSS = auto()
class Chan_EMA_POS(Enum):
"""K线与任意EMA的位置关系(与趋势方向无关的客观分类,支持threshold容差)"""
ABOVE = auto() # 完全在EMA上方(远离):low > ema + threshold
NEAR_ABOVE = auto() # 在EMA上方但接近:ema < low <= ema + threshold
CROSS_CLOSE_ABOVE = auto() # 跨越EMA,收盘在上方:close > ema, low <= ema(含threshold范围内触碰)
ON_EMA = auto() # 收盘价在EMA附近:abs(close - ema) <= threshold
CROSS_CLOSE_BELOW = auto() # 跨越EMA,收盘在下方:close < ema, high >= ema(含threshold范围内触碰)
NEAR_BELOW = auto() # 在EMA下方但接近:ema - threshold <= high < ema
BELOW = auto() # 完全在EMA下方(远离):high < ema - threshold
UNKNOWN = auto() # 未知(EMA值无效)
class Chan_EMA_SEMANTIC(Enum):
"""K线与EMA结合趋势方向的语义状态(用于交易判断)"""
STRONG_TREND = auto() # 7: 顺势K线完全在EMA趋势侧(强势,远未及EMA)
TREND_SIDE = auto() # 6: 完全在EMA趋势侧(正常趋势运行)
RECOVER = auto() # 5: 逆势后穿越EMA回到趋势侧(收复EMA,趋势恢复)
TOUCH_FAIL = auto() # 4: 逆势触碰EMA但未穿越(反弹/反抽力度不足)
DEEP_COUNTER = auto() # 3: 完全在EMA逆势侧(深度回调/反抽)
BREAK = auto() # 2: 穿越EMA,收盘在逆势侧(支撑/压力失败)
TOUCH_HOLD = auto() # 1: 触碰EMA,收盘守住趋势侧(支撑/压力有效)
WEAK_COUNTER = auto() # 8: 逆势K线完全在EMA逆势侧(弱势,远未到EMA)
APPROACHING = auto() # 9: K线接近EMA但未触碰(即将测试支撑/压力)
NEUTRAL = auto() # 0: 盘整/无法判断
class Chan_KL_TYPE(Enum):
K_1S = auto()
K_1M = auto()