From 6fbd8a4472673ee6fcefd608fb2b433d3f1cfc50 Mon Sep 17 00:00:00 2001 From: "dosang.yoon" Date: Sun, 17 Jul 2022 02:52:41 +0900 Subject: [PATCH] init --- hts/BuySellChecker.py | 31 +++++++++++++++++++++++++++++++ hts/Simulation.py | 2 +- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/hts/BuySellChecker.py b/hts/BuySellChecker.py index 0328720..3f3fa6a 100644 --- a/hts/BuySellChecker.py +++ b/hts/BuySellChecker.py @@ -342,6 +342,26 @@ class BuySellChecker: return buy, weight + def isYangbong(self, data, i): + if data['close'][i] > data['open'][i]: + return True + if data['close'][i] == data['open'][i]: + if data['low'][i] < data['close'][i] == data['high'][i]: + return True + if data['low'][i] < data['open'][i] == data['close'][i] < data['high'][i]: + return True + return False + + def isUmbong(self, data, i): + if data['close'][i] < data['open'][i]: + return True + if data['close'][i] == data['open'][i]: + if data['close'][i] == data['low'][i] < data['high'][i]: + return True + if data['low'][i] < data['open'][i] == data['close'][i] < data['high'][i]: + return True + return False + def getSellPriceAndWeight1(self, data, i): sell, weight = -1, -1 @@ -411,6 +431,16 @@ class BuySellChecker: weight = 1 return sell, weight + if i > 381 + 15: + # 볼린저를 돌파했거나 고가가 모든 선위에 있다가 3번 이상 음봉 맞은 경우 + if ((data["high"][i-4] > data["upper"][i-4] or data["high"][i-4] > data["avg3"][i-4] > data["avg5"][i-4] > data["avg10"][i-4] > data["avg20"][i-4] > data["avg30"][i-4]) or + (data["high"][i-3] > data["upper"][i-3] or data["high"][i-3] > data["avg3"][i-3] > data["avg5"][i-3] > data["avg10"][i-3] > data["avg20"][i-3] > data["avg30"][i-3])): + if self.isUmbong(data, i-2) and self.isUmbong(data, i-1) and self.isUmbong(data, i): + if data["slow_k"][i] >= 80: + sell = data["low"][i] + weight = 1 + return sell, weight + return sell, weight @@ -656,6 +686,7 @@ class BuySellChecker: return sell, weight if i > 381 + 15: + # 볼린저를 돌파했거나 고가가 모든 선위에 있다가 3번 이상 음봉 맞은 경우 if (data["high"][i - 3] > data["upper"][i - 3] or data["high"][i - 3] > data["avg3"][i - 3] > data["avg5"][i - 3] > data["avg10"][i - 3] > data["avg20"][i - 3] > data["avg30"][i - 3]): if data["close"][i - 2] < data["open"][i - 2] and data["close"][i - 1] < data["open"][i - 1] and data["close"][i] < data["open"][i]: sell = data["low"][i] diff --git a/hts/Simulation.py b/hts/Simulation.py index a110a60..e4dc750 100644 --- a/hts/Simulation.py +++ b/hts/Simulation.py @@ -188,7 +188,7 @@ if __name__ == "__main__": stock_codes = { # 252670 # 122630 - "122630": [ + "252670": [ ('20220701', '20220704'), ('20220704', '20220705'), ('20220705', '20220706'),