diff --git a/hts/HTS_122630.py b/hts/HTS_122630.py index 8020352..3c5cfb7 100644 --- a/hts/HTS_122630.py +++ b/hts/HTS_122630.py @@ -386,7 +386,7 @@ class HTS_122630: return # 주식 현재가 조회 - def writeStockData(self, stock_codes, given_day): + def writeStockData(self, stock_code, given_day): objCpCybos = win32com.client.Dispatch("CpUtil.CpCybos") bConnect = objCpCybos.IsConnect if (bConnect == 0): @@ -396,32 +396,31 @@ class HTS_122630: # 차트 객체 구하기 objStockChart = win32com.client.Dispatch("CpSysDib.StockChart") - for stock_code in stock_codes: - outfp = open("./data/"+stock_code+"_"+given_day+".csv", mode="w", encoding="utf-8") - objStockChart.SetInputValue(0, 'A' + stock_code) # 종목 코드 - objStockChart.SetInputValue(1, ord('1')) # 1: 기간으로 조회, 2: 개수로 조회 - objStockChart.SetInputValue(2, given_day) # 기간 조회 시, 시작일 - objStockChart.SetInputValue(3, given_day) # 기간 조회 시, 종료일 - objStockChart.SetInputValue(4, 400) # 조회 시 가져오는 Line 개수 - objStockChart.SetInputValue(5, [0, 1, 2, 3, 4, 5, 8]) # 날짜,시간,시가,고가,저가,종가,거래량 - objStockChart.SetInputValue(6, ord('m')) # '차트 주가 - 월(M), 주(W), 일(D), 시(H), 분(m), 초(S) 차트 요청 - objStockChart.SetInputValue(7, 1) - objStockChart.SetInputValue(9, ord('1')) # 수정주가 사용 - objStockChart.BlockRequest() + outfp = open("./data/"+stock_code+"_"+given_day+".csv", mode="w", encoding="utf-8") + objStockChart.SetInputValue(0, 'A' + stock_code) # 종목 코드 + objStockChart.SetInputValue(1, ord('1')) # 1: 기간으로 조회, 2: 개수로 조회 + objStockChart.SetInputValue(2, given_day) # 기간 조회 시, 시작일 + objStockChart.SetInputValue(3, given_day) # 기간 조회 시, 종료일 + objStockChart.SetInputValue(4, 400) # 조회 시 가져오는 Line 개수 + objStockChart.SetInputValue(5, [0, 1, 2, 3, 4, 5, 8]) # 날짜,시간,시가,고가,저가,종가,거래량 + objStockChart.SetInputValue(6, ord('m')) # '차트 주가 - 월(M), 주(W), 일(D), 시(H), 분(m), 초(S) 차트 요청 + objStockChart.SetInputValue(7, 1) + objStockChart.SetInputValue(9, ord('1')) # 수정주가 사용 + objStockChart.BlockRequest() - size = objStockChart.GetHeaderValue(3) + size = objStockChart.GetHeaderValue(3) - outfp.write("%s,%s,%s,%s,%s,%s,%s\n" % ("날짜", "시간", "시가", "고가", "저가", "종가", "거래량")) - for i in range(size - 1, -1, -1): - day = objStockChart.GetDataValue(0, i) - time = objStockChart.GetDataValue(1, i) - start = objStockChart.GetDataValue(2, i) - high = objStockChart.GetDataValue(3, i) - low = objStockChart.GetDataValue(4, i) - close = objStockChart.GetDataValue(5, i) - vol = objStockChart.GetDataValue(6, i) - outfp.write("%d,%s,%d,%d,%d,%d,%d\n" % (day, str(time).zfill(4), start, high, low, close, vol)) - outfp.close() + outfp.write("%s,%s,%s,%s,%s,%s,%s\n" % ("날짜", "시간", "시가", "고가", "저가", "종가", "거래량")) + for i in range(size - 1, -1, -1): + day = objStockChart.GetDataValue(0, i) + time = objStockChart.GetDataValue(1, i) + start = objStockChart.GetDataValue(2, i) + high = objStockChart.GetDataValue(3, i) + low = objStockChart.GetDataValue(4, i) + close = objStockChart.GetDataValue(5, i) + vol = objStockChart.GetDataValue(6, i) + outfp.write("%d,%s,%d,%d,%d,%d,%d\n" % (day, str(time).zfill(4), start, high, low, close, vol)) + outfp.close() return @@ -656,7 +655,7 @@ if __name__ == "__main__": hts = HTS_122630(stock_code) given_day = datetime.today().strftime('%Y%m%d') - #hts.writeStockData(stock_codes, "20211025") - hts.buyRealTime(given_day) + hts.writeStockData(stock_code, "20211026") + #hts.buyRealTime(given_day) print ("done...") diff --git a/hts/HTS_252670.py b/hts/HTS_252670.py index 7479f1c..464ae12 100644 --- a/hts/HTS_252670.py +++ b/hts/HTS_252670.py @@ -386,7 +386,7 @@ class HTS_252670: return # 주식 현재가 조회 - def writeStockData(self, stock_codes, given_day): + def writeStockData(self, stock_code, given_day): objCpCybos = win32com.client.Dispatch("CpUtil.CpCybos") bConnect = objCpCybos.IsConnect if (bConnect == 0): @@ -396,32 +396,31 @@ class HTS_252670: # 차트 객체 구하기 objStockChart = win32com.client.Dispatch("CpSysDib.StockChart") - for stock_code in stock_codes: - outfp = open("./data/"+stock_code+"_"+given_day+".csv", mode="w", encoding="utf-8") - objStockChart.SetInputValue(0, 'A' + stock_code) # 종목 코드 - objStockChart.SetInputValue(1, ord('1')) # 1: 기간으로 조회, 2: 개수로 조회 - objStockChart.SetInputValue(2, given_day) # 기간 조회 시, 시작일 - objStockChart.SetInputValue(3, given_day) # 기간 조회 시, 종료일 - objStockChart.SetInputValue(4, 400) # 조회 시 가져오는 Line 개수 - objStockChart.SetInputValue(5, [0, 1, 2, 3, 4, 5, 8]) # 날짜,시간,시가,고가,저가,종가,거래량 - objStockChart.SetInputValue(6, ord('m')) # '차트 주가 - 월(M), 주(W), 일(D), 시(H), 분(m), 초(S) 차트 요청 - objStockChart.SetInputValue(7, 1) - objStockChart.SetInputValue(9, ord('1')) # 수정주가 사용 - objStockChart.BlockRequest() + outfp = open("./data/"+stock_code+"_"+given_day+".csv", mode="w", encoding="utf-8") + objStockChart.SetInputValue(0, 'A' + stock_code) # 종목 코드 + objStockChart.SetInputValue(1, ord('1')) # 1: 기간으로 조회, 2: 개수로 조회 + objStockChart.SetInputValue(2, given_day) # 기간 조회 시, 시작일 + objStockChart.SetInputValue(3, given_day) # 기간 조회 시, 종료일 + objStockChart.SetInputValue(4, 400) # 조회 시 가져오는 Line 개수 + objStockChart.SetInputValue(5, [0, 1, 2, 3, 4, 5, 8]) # 날짜,시간,시가,고가,저가,종가,거래량 + objStockChart.SetInputValue(6, ord('m')) # '차트 주가 - 월(M), 주(W), 일(D), 시(H), 분(m), 초(S) 차트 요청 + objStockChart.SetInputValue(7, 1) + objStockChart.SetInputValue(9, ord('1')) # 수정주가 사용 + objStockChart.BlockRequest() - size = objStockChart.GetHeaderValue(3) + size = objStockChart.GetHeaderValue(3) - outfp.write("%s,%s,%s,%s,%s,%s,%s\n" % ("날짜", "시간", "시가", "고가", "저가", "종가", "거래량")) - for i in range(size - 1, -1, -1): - day = objStockChart.GetDataValue(0, i) - time = objStockChart.GetDataValue(1, i) - start = objStockChart.GetDataValue(2, i) - high = objStockChart.GetDataValue(3, i) - low = objStockChart.GetDataValue(4, i) - close = objStockChart.GetDataValue(5, i) - vol = objStockChart.GetDataValue(6, i) - outfp.write("%d,%s,%d,%d,%d,%d,%d\n" % (day, str(time).zfill(4), start, high, low, close, vol)) - outfp.close() + outfp.write("%s,%s,%s,%s,%s,%s,%s\n" % ("날짜", "시간", "시가", "고가", "저가", "종가", "거래량")) + for i in range(size - 1, -1, -1): + day = objStockChart.GetDataValue(0, i) + time = objStockChart.GetDataValue(1, i) + start = objStockChart.GetDataValue(2, i) + high = objStockChart.GetDataValue(3, i) + low = objStockChart.GetDataValue(4, i) + close = objStockChart.GetDataValue(5, i) + vol = objStockChart.GetDataValue(6, i) + outfp.write("%d,%s,%d,%d,%d,%d,%d\n" % (day, str(time).zfill(4), start, high, low, close, vol)) + outfp.close() return @@ -550,7 +549,7 @@ class HTS_252670: def buyRealTime(self, GIVEN_DAY): orderChecker = OrderChecker(self.stock_code) - BASE_COUNT = 100 + BASE_COUNT = 200 timecheckList = pd.read_csv("timecheck.csv").values.tolist() timecheck = {GIVEN_DAY + " " + str(second).zfill(6):False for second, check in timecheckList} @@ -658,7 +657,7 @@ if __name__ == "__main__": hts = HTS_252670(stock_code) given_day = datetime.today().strftime('%Y%m%d') - #hts.writeStockData(stock_codes, "20211025") + #hts.writeStockData(stock_code, "20211026") hts.buyRealTime(given_day) print ("done...")