This commit is contained in:
27942
2026-01-04 15:36:40 +08:00
parent 00cdff7998
commit 466c1e8c48

View File

@@ -22,21 +22,22 @@ def is_bearish(c): # 阴线
def check_signal(prev, curr):
"""
包住形态信号判定(化版):
- 前跌后涨包住(涨包跌) -> 做多:涨的收盘价 > 跌的开盘价
- 前涨后跌包住(跌包涨) -> 做空:跌的收盘价 < 涨的开盘价
包住形态信号判定(化版):
只看两种信号:
- 跌包涨(前涨后跌):前一根是涨(阳线),后一根是跌(阴线),且跌的收盘价 < 涨的开盘价 -> 做空
- 涨包跌(前跌后涨):前一根是跌(阴线),后一根是涨(阳线),且涨的收盘价 > 跌的开盘价 -> 做多
"""
p_open, p_close = float(prev['open']), float(prev['close'])
c_open, c_close = float(curr['open']), float(curr['close'])
# 涨包跌(前跌后涨) -> 做多:涨的收盘价 > 跌的开盘价
if is_bullish(curr) and is_bearish(prev) and c_close > p_open:
return "long", "bear_bull_engulf"
p_open = float(prev['open'])
c_close = float(curr['close'])
# 跌包涨(前涨后跌) -> 做空:跌的收盘价 < 涨的开盘价
if is_bearish(curr) and is_bullish(prev) and c_close < p_open:
if is_bullish(prev) and is_bearish(curr) and c_close < p_open:
return "short", "bull_bear_engulf"
# 涨包跌(前跌后涨) -> 做多:涨的收盘价 > 跌的开盘价
if is_bearish(prev) and is_bullish(curr) and c_close > p_open:
return "long", "bear_bull_engulf"
return None, None