This commit is contained in:
dsyoon
2023-02-18 11:05:06 +09:00
parent f72f1728e3
commit b5384ddc6f
2 changed files with 52 additions and 0 deletions

View File

@@ -1,5 +1,6 @@
import time
import os
import sqlite3
from datetime import datetime, timedelta
from hts.HTS import HTS
@@ -35,6 +36,19 @@ class HTS_etf (HTS):
return
def connect2StockDB(self):
self.conn_stock = sqlite3.connect(os.path.join(self.RESOURCE_PATH, "stock.db"))
self.cursor_stock = self.conn_stock.cursor()
return
def disconnectStockDB(self):
self.cursor_stock.close()
self.conn_stock.close()
return
def sellStocks(self, stock_code=None, bs_sell_price=None):
jangoDic = self.requstJango()
if jangoDic and len(jangoDic.keys()) > 0:
@@ -113,6 +127,19 @@ class HTS_etf (HTS):
count = int(MAX_BUY_PRICE / price)
return count
def getSlowK(self, stock_code):
slow_k_week, slow_k_month = -1, -1
self.cursor_stock.execute('select stochastic_slow_k, max(ymd) from stock_analysis_weekly where code=? group by 1 order by ymd desc', (stock_code, ))
items = self.cursor_stock.fetchone()
if len(items)>0:
slow_k_week = items[0]
self.cursor_stock.execute('select stochastic_slow_k, max(ymd) from stock_analysis_monthly where code=? group by 1 order by ymd desc', (stock_code, ))
items = self.cursor_stock.fetchone()
if len(items)>0:
slow_k_month = items[0]
return slow_k_week, slow_k_month
def buyRealTime(self, today, stocks, analyzed_day=1000):
print ("START...")
@@ -134,6 +161,10 @@ class HTS_etf (HTS):
time.sleep(0.1)
slow_k_week, slow_k_month = self.getSlowK(stock['stock_code'])
if slow_k_week < 0 or 20 < slow_k_week or slow_k_month < 0 or 20 < slow_k_month:
continue
try:
# 데이터를 가지고 온다.
result = self.getRealTime(stock['stock_code'], today, LAST_DATA[stock['stock_code']])
@@ -297,6 +328,7 @@ if __name__ == "__main__":
hts = HTS_etf(RESOURCE_PATH)
hts.connect2DB("hts.db")
hts.connect2StockDB()
today_str = today.strftime('%Y%m%d')
hts.buyRealTime(today_str, stocks, analyzed_day=1000)
@@ -304,5 +336,6 @@ if __name__ == "__main__":
db_filename = os.path.join(RESOURCE_PATH, "hts.db")
hts.insertStockData(stocks, today)
hts.disconnectStockDB()
hts.disconnect()
print ("done...")