diff --git a/weex/长期持有信号/读取数据库数据-30分钟版.py b/weex/长期持有信号/读取数据库数据-30分钟版.py index 36f38f4..5d16fcb 100644 --- a/weex/长期持有信号/读取数据库数据-30分钟版.py +++ b/weex/长期持有信号/读取数据库数据-30分钟版.py @@ -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