init
This commit is contained in:
@@ -38,7 +38,6 @@ class HTS_Stocks (HTS):
|
||||
self.orderChecker = OrderChecker(self.RESOURCE_PATH, "STOCK")
|
||||
|
||||
self.analyzed_day = 120
|
||||
self.MAX_BUY_PRICE = 300000
|
||||
|
||||
return
|
||||
|
||||
@@ -108,13 +107,13 @@ class HTS_Stocks (HTS):
|
||||
self.cursor_stock.execute('SELECT distinct code, name FROM stock order by code')
|
||||
all_stocks = self.cursor_stock.fetchall()
|
||||
|
||||
valid_company = set()
|
||||
self.cursor_stock.execute('select CODE, NAME, max(ymd) as ymd from fnguide where type != "E" group by 1 order by total_assets desc')
|
||||
valid_company = dict()
|
||||
self.cursor_stock.execute('select CODE, NAME, max(ymd) as ymd from fnguide where type != "E" group by 1 order by net_profit desc')
|
||||
items = self.cursor_stock.fetchall()
|
||||
for item in items:
|
||||
valid_company.add(item[0])
|
||||
for i, item in enumerate(items):
|
||||
valid_company[item[0]] = i
|
||||
|
||||
return all_stocks, valid_company
|
||||
return all_stocks, list(valid_company)
|
||||
|
||||
def getSlowK(self, stock_code):
|
||||
slow_k_week, slow_k_month = -1, -1
|
||||
@@ -129,6 +128,21 @@ class HTS_Stocks (HTS):
|
||||
|
||||
return slow_k_week, slow_k_month
|
||||
|
||||
def getMaxPrice(self, code, valid_company):
|
||||
max_price = 100000
|
||||
if code in valid_company:
|
||||
if 0 < valid_company[code] <= 250:
|
||||
max_price = 300000
|
||||
elif 250 < valid_company[code] <= 500:
|
||||
max_price = 250000
|
||||
elif 500 < valid_company[code] <= 1000:
|
||||
max_price = 200000
|
||||
elif 1000 < valid_company[code] <= 1500:
|
||||
max_price = 150000
|
||||
else:
|
||||
max_price = 100000
|
||||
return max_price
|
||||
|
||||
def buyRealTime(self, today, n = 200):
|
||||
|
||||
a,b = self.getSlowK("001430")
|
||||
@@ -192,9 +206,10 @@ class HTS_Stocks (HTS):
|
||||
|
||||
bs_buy_price = bsLine['buy'][last_index]
|
||||
bs_buy_weight = bsLine['buy_weight'][last_index]
|
||||
buy_count = int(math.ceil(self.MAX_BUY_PRICE / bs_buy_price))
|
||||
if self.MAX_BUY_PRICE <= bs_buy_price < 2 * self.MAX_BUY_PRICE:
|
||||
buy_count = int(2 * self.MAX_BUY_PRICE / bs_buy_price)
|
||||
MAX_BUY_PRIFE = self.getMaxPrice(stock_code, valid_company)
|
||||
buy_count = int(math.ceil(MAX_BUY_PRIFE / bs_buy_price))
|
||||
if MAX_BUY_PRIFE <= bs_buy_price < 2 * MAX_BUY_PRIFE:
|
||||
buy_count = int(2 * MAX_BUY_PRIFE / bs_buy_price)
|
||||
|
||||
if buy_count > 0:
|
||||
# 매수를 주문한다.
|
||||
|
||||
Reference in New Issue
Block a user