From 085813bd8b886c299fbc83ee3c128c41001ff824 Mon Sep 17 00:00:00 2001 From: dsyoon Date: Tue, 17 Oct 2023 21:56:17 +0900 Subject: [PATCH] init --- HTS_etf_122630.py | 12 +++++++----- HTS_etf_233740.py | 14 ++++++++------ HTS_etf_251340.py | 12 +++++++----- HTS_etf_252670.py | 12 +++++++----- 4 files changed, 29 insertions(+), 21 deletions(-) diff --git a/HTS_etf_122630.py b/HTS_etf_122630.py index 007b372..cb5adee 100644 --- a/HTS_etf_122630.py +++ b/HTS_etf_122630.py @@ -16,6 +16,7 @@ from stock.analysis.StockStatus import StockStatus class HTS_etf(HTS): RESOURCE_PATH = None + SELL_GAP = None stock_code = None stock_name = None buy_count = None @@ -25,11 +26,12 @@ class HTS_etf(HTS): slackBot = None stockStatus = None - def __init__(self, RESOURCE_PATH, stock_code, stock_name): + def __init__(self, RESOURCE_PATH, stock_code, stock_name, SELL_GAP): super().__init__(RESOURCE_PATH) self.RESOURCE_PATH = RESOURCE_PATH + self.SELL_GAP = SELL_GAP self.stock_code = stock_code self.stock_name = stock_name self.orderChecker = OrderChecker(self.RESOURCE_PATH, self.stock_code) @@ -65,19 +67,19 @@ class HTS_etf(HTS): if code == "A" + stock_code: if bs_sell_price is not None: if jangoDic[code]['매도가능'] > 0: - if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익']: + if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익'] or self.SELL_GAP < jangoDic[code]['평가금액']-jangoDic[code]['매입금액']: # 1.5% 손해 혹은 2% 이상 시 수익 매도 self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], bs_sell_price) check = True else: if jangoDic[code]['매도가능'] > 0: - if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익']: + if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익'] or self.SELL_GAP < jangoDic[code]['평가금액']-jangoDic[code]['매입금액']: # 1.5% 손해 혹은 2% 이상 시 수익 매도 self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], jangoDic[code]['현재가']) check = True else: if jangoDic[code]['매도가능'] > 0: - if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익']: + if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익'] or self.SELL_GAP < jangoDic[code]['평가금액']-jangoDic[code]['매입금액']: # 1.5% 손해 혹은 2% 이상 시 수익 매도 self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], jangoDic[code]['현재가']) check = True @@ -219,7 +221,7 @@ if __name__ == "__main__": stock_code = "122630" stock_name = "KODEX 레버리지" - hts = HTS_etf(RESOURCE_PATH, stock_code, stock_name) + hts = HTS_etf(RESOURCE_PATH, stock_code, stock_name, SELL_GAP=100) hts.connect2DB("hts.db") today_str = today.strftime('%Y%m%d') diff --git a/HTS_etf_233740.py b/HTS_etf_233740.py index 651a1c2..c5947fd 100644 --- a/HTS_etf_233740.py +++ b/HTS_etf_233740.py @@ -16,6 +16,7 @@ from stock.analysis.StockStatus import StockStatus class HTS_etf(HTS): RESOURCE_PATH = None + SELL_GAP = None stock_code = None stock_name = None buy_count = None @@ -25,11 +26,12 @@ class HTS_etf(HTS): slackBot = None stockStatus = None - def __init__(self, RESOURCE_PATH, stock_code, stock_name): + def __init__(self, RESOURCE_PATH, stock_code, stock_name, SELL_GAP): super().__init__(RESOURCE_PATH) self.RESOURCE_PATH = RESOURCE_PATH + self.SELL_GAP = SELL_GAP self.stock_code = stock_code self.stock_name = stock_name self.orderChecker = OrderChecker(self.RESOURCE_PATH, self.stock_code) @@ -65,19 +67,19 @@ class HTS_etf(HTS): if code == "A" + stock_code: if bs_sell_price is not None: if jangoDic[code]['매도가능'] > 0: - if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익']: + if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익'] or self.SELL_GAP < jangoDic[code]['평가금액']-jangoDic[code]['매입금액']: # 1.5% 손해 혹은 2% 이상 시 수익 매도 self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], bs_sell_price) check = True else: if jangoDic[code]['매도가능'] > 0: - if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익']: + if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익'] or self.SELL_GAP < jangoDic[code]['평가금액']-jangoDic[code]['매입금액']: # 1.5% 손해 혹은 2% 이상 시 수익 매도 self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], jangoDic[code]['현재가']) check = True else: if jangoDic[code]['매도가능'] > 0: - if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익']: + if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익'] or self.SELL_GAP < jangoDic[code]['평가금액']-jangoDic[code]['매입금액']: # 1.5% 손해 혹은 2% 이상 시 수익 매도 self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], jangoDic[code]['현재가']) check = True @@ -141,7 +143,7 @@ class HTS_etf(HTS): while datetime.strptime(today + " 063000", '%Y%m%d %H%M%S') < THIS_TIME < datetime.strptime(today + " 153100",'%Y%m%d %H%M%S'): - if datetime.strptime(today + " 090000", '%Y%m%d %H%M%S') < THIS_TIME < datetime.strptime(today + " 151500", '%Y%m%d %H%M%S'): + if datetime.strptime(today + " 090000", '%Y%m%d %H%M%S') < THIS_TIME < datetime.strptime(today + " 153100", '%Y%m%d %H%M%S'): # 매도를 체크한다. self.sellStocks(self.stock_code) @@ -219,7 +221,7 @@ if __name__ == "__main__": stock_code = "233740" stock_name = "KODEX 코스닥150레버리지" - hts = HTS_etf(RESOURCE_PATH, stock_code, stock_name) + hts = HTS_etf(RESOURCE_PATH, stock_code, stock_name, SELL_GAP=100) hts.connect2DB("hts.db") today_str = today.strftime('%Y%m%d') diff --git a/HTS_etf_251340.py b/HTS_etf_251340.py index f942acc..3ab9e0d 100644 --- a/HTS_etf_251340.py +++ b/HTS_etf_251340.py @@ -16,6 +16,7 @@ from stock.analysis.StockStatus import StockStatus class HTS_etf(HTS): RESOURCE_PATH = None + SELL_GAP = None stock_code = None stock_name = None buy_count = None @@ -25,11 +26,12 @@ class HTS_etf(HTS): slackBot = None stockStatus = None - def __init__(self, RESOURCE_PATH, stock_code, stock_name): + def __init__(self, RESOURCE_PATH, stock_code, stock_name, SELL_GAP): super().__init__(RESOURCE_PATH) self.RESOURCE_PATH = RESOURCE_PATH + self.SELL_GAP = SELL_GAP self.stock_code = stock_code self.stock_name = stock_name self.orderChecker = OrderChecker(self.RESOURCE_PATH, self.stock_code) @@ -65,19 +67,19 @@ class HTS_etf(HTS): if code == "A" + stock_code: if bs_sell_price is not None: if jangoDic[code]['매도가능'] > 0: - if jangoDic[code]['평가손익'] < -1.5 or 2 < jangoDic[code]['평가손익']: + if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익'] or self.SELL_GAP < jangoDic[code]['평가금액']-jangoDic[code]['매입금액']: # 1.5% 손해 혹은 2% 이상 시 수익 매도 self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], bs_sell_price) check = True else: if jangoDic[code]['매도가능'] > 0: - if jangoDic[code]['평가손익'] < -1.5 or 2 < jangoDic[code]['평가손익']: + if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익'] or self.SELL_GAP < jangoDic[code]['평가금액']-jangoDic[code]['매입금액']: # 1.5% 손해 혹은 2% 이상 시 수익 매도 self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], jangoDic[code]['현재가']) check = True else: if jangoDic[code]['매도가능'] > 0: - if jangoDic[code]['평가손익'] < -1.5 or 2 < jangoDic[code]['평가손익']: + if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익'] or self.SELL_GAP < jangoDic[code]['평가금액']-jangoDic[code]['매입금액']: # 1.5% 손해 혹은 2% 이상 시 수익 매도 self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], jangoDic[code]['현재가']) check = True @@ -219,7 +221,7 @@ if __name__ == "__main__": stock_code = "251340" stock_name = "KODEX 코스닥150선물인버스" - hts = HTS_etf(RESOURCE_PATH, stock_code, stock_name) + hts = HTS_etf(RESOURCE_PATH, stock_code, stock_name, SELL_GAP=50) hts.connect2DB("hts.db") today_str = today.strftime('%Y%m%d') diff --git a/HTS_etf_252670.py b/HTS_etf_252670.py index 99f6bcd..122ad8c 100644 --- a/HTS_etf_252670.py +++ b/HTS_etf_252670.py @@ -16,6 +16,7 @@ from stock.analysis.StockStatus import StockStatus class HTS_etf(HTS): RESOURCE_PATH = None + SELL_GAP = None stock_code = None stock_name = None buy_count = None @@ -25,11 +26,12 @@ class HTS_etf(HTS): slackBot = None stockStatus = None - def __init__(self, RESOURCE_PATH, stock_code, stock_name): + def __init__(self, RESOURCE_PATH, stock_code, stock_name, SELL_GAP): super().__init__(RESOURCE_PATH) self.RESOURCE_PATH = RESOURCE_PATH + self.SELL_GAP = SELL_GAP self.stock_code = stock_code self.stock_name = stock_name self.orderChecker = OrderChecker(self.RESOURCE_PATH, self.stock_code) @@ -66,19 +68,19 @@ class HTS_etf(HTS): if code == "A" + stock_code: if bs_sell_price is not None: if jangoDic[code]['매도가능'] > 0: - if jangoDic[code]['평가손익'] < -1.5 or 2 < jangoDic[code]['평가손익']: + if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익'] or self.SELL_GAP < jangoDic[code]['평가금액']-jangoDic[code]['매입금액']: # 1.5% 손해 혹은 2% 이상 시 수익 매도 self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], bs_sell_price) check = True else: if jangoDic[code]['매도가능'] > 0: - if jangoDic[code]['평가손익'] < -1.5 or 2 < jangoDic[code]['평가손익']: + if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익'] or self.SELL_GAP < jangoDic[code]['평가금액']-jangoDic[code]['매입금액']: # 1.5% 손해 혹은 2% 이상 시 수익 매도 self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], jangoDic[code]['현재가']) check = True else: if jangoDic[code]['매도가능'] > 0: - if jangoDic[code]['평가손익'] < -1.5 or 2 < jangoDic[code]['평가손익']: + if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익'] or self.SELL_GAP < jangoDic[code]['평가금액']-jangoDic[code]['매입금액']: # 1.5% 손해 혹은 2% 이상 시 수익 매도 self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], jangoDic[code]['현재가']) check = True @@ -220,7 +222,7 @@ if __name__ == "__main__": stock_code = "252670" stock_name = "KODEX 200선물인버스2X" - hts = HTS_etf(RESOURCE_PATH, stock_code, stock_name) + hts = HTS_etf(RESOURCE_PATH, stock_code, stock_name, SELL_GAP=50) hts.connect2DB("hts.db") today_str = today.strftime('%Y%m%d')