This commit is contained in:
dsyoon
2021-10-13 00:33:10 +09:00
parent a600776f0d
commit d9b7f1b4fd

View File

@@ -989,7 +989,7 @@ class HTS:
def buyRealTime(self, stock_code, given_day):
PREVIOUS_PRICE = 0
BUY_COUNT = 100
BUY_COUNT = 130
logFp = open(given_day+".log", "w")
@@ -1029,16 +1029,16 @@ class HTS:
if bs_buy_price > 0:
if PREVIOUS_PRICE > 0:
if PREVIOUS_PRICE > bs_buy_price:
if BUY_COUNT > 140:
BUY_COUNT = 140
if BUY_COUNT <= 40:
BUY_COUNT = 40
if BUY_COUNT > 170:
BUY_COUNT = 170
if BUY_COUNT < 70:
BUY_COUNT = 70
BUY_COUNT += 10
elif PREVIOUS_PRICE < bs_buy_price:
if BUY_COUNT > 150:
BUY_COUNT = 160
if BUY_COUNT <= 50:
BUY_COUNT = 60
if BUY_COUNT > 180:
BUY_COUNT = 180
if BUY_COUNT < 90:
BUY_COUNT = 90
BUY_COUNT -= 10
PREVIOUS_PRICE = bs_buy_price
@@ -1046,7 +1046,7 @@ class HTS:
# 매수 주문
# 현재까지 매입금액이 7백만원 이하일 때만 매수를 한다.
if TOTAL_BUY_AMT < 7000000:
orderNum = self.requestOrder("2", stock_code, BUY_COUNT , bs_buy_price)
self.requestOrder("2", stock_code, BUY_COUNT , bs_buy_price)
print("BUY", second, bs_buy_price)
logFp.write("%s,%s, %d\n" % ("BUY", second, bs_buy_price))
@@ -1062,7 +1062,7 @@ class HTS:
for code in jangoDic:
TOTAL_BUY_AMT = jangoDic[code]['매입금액']
if jangoDic[code]['매도가능'] > 0:
orderNum = self.requestOrder("1", stock_code, jangoDic[code]['매도가능'], bs_sell_price)
self.requestOrder("1", stock_code, jangoDic[code]['매도가능'], bs_sell_price)
timecheck[second] = True
else:
@@ -1071,7 +1071,7 @@ class HTS:
logFp.flush()
if datetime.strptime(given_day + " 151500", '%Y%m%d %H%M%S') < datetime.now():
# 15:15:00 이후라면 모든 매수/매도 주문 취소하고 현재가-5원으로 매도한다.
# 15:15:00 이후라면 모든 미체결 취소
self.cancelOrderList()
# 만약 잔고가 있으면 장부가보다 5원 높게 매도한다.
@@ -1081,7 +1081,7 @@ class HTS:
if jangoDic[code]['매도가능'] > 0:
if final_price > jangoDic[code]['장부가'] + 5:
orderNum = self.requestOrder("1", stock_code, jangoDic[code]['매도가능'], final_price)
self.requestOrder("1", stock_code, jangoDic[code]['매도가능'], final_price)
else:
# 장부가 가격의 마지막 자리를 0으로 만든다. (2090 -> 2090, 2092 -> 2090, 2098 -> 2090)
sell_price = int(jangoDic[code]['장부가'] / 10) * 10
@@ -1089,13 +1089,13 @@ class HTS:
last_number = int(jangoDic[code]['장부가']) % 10
if last_number in [0, 1, 2]:
# 장부가의 마지막 자리수가 0,1,2 라면 (2090, 2091, 2092 -> 2095 에 매도)
orderNum = self.requestOrder("1", stock_code, jangoDic[code]['매도가능'], sell_price + 5)
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 에 매도)
orderNum = self.requestOrder("1", stock_code, jangoDic[code]['매도가능'], sell_price + 10)
self.requestOrder("1", stock_code, jangoDic[code]['매도가능'], sell_price + 10)
else:
# 장부가의 마지막 자리수가 7,8,9 라면 (2097, 2098, 2099 -> 2105 에 매도)
orderNum = self.requestOrder("1", stock_code, jangoDic[code]['매도가능'], sell_price + 15)
self.requestOrder("1", stock_code, jangoDic[code]['매도가능'], sell_price + 15)
break
time.sleep(0.9)