From 74851b21890cfcab56eadbb94a8efc7053ad4132 Mon Sep 17 00:00:00 2001 From: dosangyoon Date: Fri, 19 Aug 2022 00:45:34 +0900 Subject: [PATCH] init --- Simulation.py | 4 ++-- hts/BuySellChecker.py | 35 ++++++++++++++++++++++++++++++----- 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/Simulation.py b/Simulation.py index 4fdc900..cb055b9 100644 --- a/Simulation.py +++ b/Simulation.py @@ -179,8 +179,8 @@ if __name__ == "__main__": # to check bying stock_codes = { - "252670": ['20220818'], - "122630": ['20220818'], + #"252670": ['20220817'], + "122630": ['20220815', '20220816', '20220817', '20220818', '20220819'], } method = "rule" # "rule", "ml", "answer" diff --git a/hts/BuySellChecker.py b/hts/BuySellChecker.py index 6b4da6d..ea70e4e 100644 --- a/hts/BuySellChecker.py +++ b/hts/BuySellChecker.py @@ -238,11 +238,10 @@ class BuySellChecker: break if i > START_TIME_INDEX: - # 매수 분석 - + # 매도 분석 # 3분선이 10분 이상 6분선 위에 있다가 5분선 아래로 내려옴 - if i >= 381 + 5: + if i >= 381 + 10: vaild = True count = 0 for c in range(1, 11): @@ -253,7 +252,20 @@ class BuySellChecker: break if vaild and count < 3: if data["avg3"][i] < data["avg6"][i]: - sell = int(data["avg3"][i] - data["avg3"][i]%5) + sell = int(data["avg3"][i] - data["avg3"][i] % 5) + weight = 1 + return sell, weight + + # 3분선이 5분 이상 12분선 위에 있다가 12분선 아래로 내려옴 + if i >= 381 + 5: + vaild = True + for c in range(1, 6): + if not (data["avg3"][i - c] >= data["avg6"][i - c] >= data["avg9"][i - c] >= data["avg12"][i - c]): + vaild = False + break + if vaild: + if data["avg3"][i] < data["avg12"][i]: + sell = data["close"][i] weight = 1 return sell, weight @@ -378,7 +390,7 @@ class BuySellChecker: # 매수 분석 # 3분선이 10분 이상 6분선 위에 있다가 5분선 아래로 내려옴 - if i >= 381 + 5: + if i >= 381 + 10: vaild = True count = 0 for c in range(1, 11): @@ -393,6 +405,19 @@ class BuySellChecker: weight = 1 return sell, weight + # 3분선이 5분 이상 12분선 위에 있다가 12분선 아래로 내려옴 + if i >= 381 + 5: + vaild = True + for c in range(1, 6): + if not (data["avg3"][i - c] >= data["avg6"][i - c] >= data["avg9"][i - c] >= data["avg12"][i - c]): + vaild = False + break + if vaild: + if data["avg3"][i] < data["avg12"][i]: + sell = data["close"][i] + weight = 1 + return sell, weight + param = 2 if (data["macd"][i] > 11.4590339 and data["diff_avg27"][i] > 2.261904762 * param and