This commit is contained in:
dsyoon
2021-09-27 20:46:22 +09:00
parent 2ddda7bdf3
commit 60af8ad7b9

View File

@@ -692,13 +692,31 @@ class HTS:
if jangoDic and len(jangoDic.keys()) > 0:
for code in jangoDic:
if jangoDic[code]['매도가능'] > 0:
last_number = int(jangoDic[code]['장부가']) % 10
if last_number in [0, 1, 2]:
self.requestOrder("1", stock_code, jangoDic[code]['매도가능'], int(jangoDic[code]['장부가'] / 10) * 10 + 5)
elif last_number in [3, 4, 5, 6]:
self.requestOrder("1", stock_code, jangoDic[code]['매도가능'], int(jangoDic[code]['장부가'] / 10) * 10 + 10)
# 가장 마지막 현재가를 가져온다.
last_price = result['close'][len(result['close'])-1]
# 현재가가 장부가보다 크다면 현재가 + 5원 매도한다.
if last_price > int(jangoDic[code]['장부가']):
# 현재가가 장부가보다 크다면,
self.requestOrder("1", stock_code, jangoDic[code]['매도가능'], last_price)
else:
self.requestOrder("1", stock_code, jangoDic[code]['매도가능'], int(jangoDic[code]['장부가'] / 10) * 10 + 15)
# 장부가가 현재가보다 크다면,
# 장부가의 마지막 자리수를 가져온다.
last_number = int(jangoDic[code]['장부가']) % 10
# 장부가 가격의 마지막 자리를 0으로 만든다. (2092 -> 2090, 2098 -> 2090)
sell_price = int(jangoDic[code]['장부가'] / 10) * 10
# 만약 오후 1시 이전이라면 한 호가 (5원) 더 올려서 매도한다.
if datetime.now() < datetime.strptime(given_day + " 130000", '%Y%m%d %H%M%S'):
sell_price += 5
if last_number in [0, 1, 2]:
# 장부가의 마지막 자리수가 0,1,2 라면 (2090, 2091, 2092 -> 2095 에 매도)
self.requestOrder("1", stock_code, jangoDic[code]['매도가능'], sell_price + 5)
elif last_number in [3, 4, 5, 6]:
# 장부가의 마지막 자리수가 3,4,5,6 라면 (2093, 2094, 2095, 2096 -> 2100 에 매도)
self.requestOrder("1", stock_code, jangoDic[code]['매도가능'], sell_price + 10)
else:
# 장부가의 마지막 자리수가 7,8,9 라면 (2097, 2098, 2099 -> 2105 에 매도)
self.requestOrder("1", stock_code, jangoDic[code]['매도가능'], sell_price + 15)
time.sleep(0.9)