init
This commit is contained in:
28
hts/HTS.py
28
hts/HTS.py
@@ -911,7 +911,7 @@ class HTS:
|
||||
|
||||
def buyRealTime(self, stock_code, given_day):
|
||||
PREVIOUS_PRICE = 0
|
||||
BUY_COUNT = 200
|
||||
BUY_COUNT = 300
|
||||
TOTAL_BUY_AMT = 0
|
||||
|
||||
logFp = open(given_day+".log", "w")
|
||||
@@ -927,6 +927,9 @@ class HTS:
|
||||
"low": [],
|
||||
"vol": []}
|
||||
|
||||
avg60_1 = 0
|
||||
avg60_2 = 0
|
||||
final_price = 0
|
||||
print ("START...")
|
||||
while datetime.strptime(given_day + " 083000", '%Y%m%d %H%M%S') < datetime.now() < datetime.strptime(given_day + " 151500", '%Y%m%d %H%M%S'):
|
||||
second = datetime.now().strftime('%Y%m%d %H%M%S')
|
||||
@@ -941,23 +944,25 @@ class HTS:
|
||||
|
||||
# 분석을 통해서 볼린저밴드 상/하단을 계산한다.
|
||||
data, upper, lower = self.analyze(result)
|
||||
|
||||
avg60_2 = data['avg60'][len(data['avg60']) - 2]
|
||||
avg60_1 = data['avg60'][len(data['avg60']) - 1]
|
||||
final_price = data["Close"][len(data["Close"])- 1]
|
||||
# 사야 할 시점/가격과 팔아야 할 시점/가격을 체크한다.
|
||||
bs_buy_price, bs_sell_price = self.checkTransaction_Realtime(data, upper, lower)
|
||||
|
||||
if bs_buy_price > 0:
|
||||
if PREVIOUS_PRICE > 0:
|
||||
if PREVIOUS_PRICE > bs_buy_price:
|
||||
if BUY_COUNT > 240:
|
||||
if BUY_COUNT > 340:
|
||||
BUY_COUNT = 340
|
||||
if BUY_COUNT <= 240:
|
||||
BUY_COUNT = 240
|
||||
if BUY_COUNT <= 140:
|
||||
BUY_COUNT = 140
|
||||
BUY_COUNT += 10
|
||||
elif PREVIOUS_PRICE < bs_buy_price:
|
||||
if BUY_COUNT > 250:
|
||||
if BUY_COUNT > 350:
|
||||
BUY_COUNT = 360
|
||||
if BUY_COUNT <= 250:
|
||||
BUY_COUNT = 260
|
||||
if BUY_COUNT <= 150:
|
||||
BUY_COUNT = 160
|
||||
BUY_COUNT -= 10
|
||||
|
||||
PREVIOUS_PRICE = bs_buy_price
|
||||
@@ -985,16 +990,15 @@ class HTS:
|
||||
|
||||
|
||||
# 60일 선이 꺾여서 하락 중일 경우만 바로 매도를 한다.
|
||||
size = len(data["avg60"])
|
||||
if data["avg60"][size-2] > data["avg60"][size-1]:
|
||||
if ((avg60_1 != 0 and avg60_2 != 0) and avg60_2 > avg60_1):
|
||||
# 만약 잔고가 있으면 장부가보다 5원 높게 매도한다.
|
||||
jangoDic = self.requstJango()
|
||||
if jangoDic and len(jangoDic.keys()) > 0:
|
||||
for code in jangoDic:
|
||||
TOTAL_BUY_AMT = jangoDic[code]['매입금액']
|
||||
if jangoDic[code]['매도가능'] > 0:
|
||||
if data["Close"][size-1] > jangoDic[code]['장부가'] + 5:
|
||||
self.requestOrder("1", stock_code, jangoDic[code]['매도가능'], data["Close"][size-1])
|
||||
if final_price > jangoDic[code]['장부가'] + 5:
|
||||
self.requestOrder("1", stock_code, jangoDic[code]['매도가능'], final_price)
|
||||
else:
|
||||
# 장부가 가격의 마지막 자리를 0으로 만든다. (2090 -> 2090, 2092 -> 2090, 2098 -> 2090)
|
||||
sell_price = int(jangoDic[code]['장부가'] / 10) * 10
|
||||
|
||||
Reference in New Issue
Block a user