init
This commit is contained in:
@@ -40,7 +40,7 @@ class HTS_etf (HTS):
|
|||||||
if jangoDic and len(jangoDic.keys()) > 0:
|
if jangoDic and len(jangoDic.keys()) > 0:
|
||||||
for code in jangoDic:
|
for code in jangoDic:
|
||||||
if jangoDic[code]['매도가능'] > 0:
|
if jangoDic[code]['매도가능'] > 0:
|
||||||
if jangoDic[code]['평가금액'] - jangoDic[code]['장부가'] > jangoDic[code]['장부가'] * 0.02:
|
if 2 < jangoDic[code]['평가손익']:
|
||||||
self.requestOrder(OrderType.sell, code, jangoDic[code]['매도가능'], jangoDic[code]['평가금액'])
|
self.requestOrder(OrderType.sell, code, jangoDic[code]['매도가능'], jangoDic[code]['평가금액'])
|
||||||
self.slackBot.post_to_slack(code, jangoDic[code]['종목명'], "SELL", jangoDic[code]['평가금액'], jangoDic[code]['매도가능'])
|
self.slackBot.post_to_slack(code, jangoDic[code]['종목명'], "SELL", jangoDic[code]['평가금액'], jangoDic[code]['매도가능'])
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ class HTS_Stocks (HTS):
|
|||||||
if jangoDic and len(jangoDic.keys()) > 0:
|
if jangoDic and len(jangoDic.keys()) > 0:
|
||||||
for code in jangoDic:
|
for code in jangoDic:
|
||||||
if jangoDic[code]['매도가능'] > 0:
|
if jangoDic[code]['매도가능'] > 0:
|
||||||
if jangoDic[code]['평가금액'] - jangoDic[code]['장부가'] > jangoDic[code]['장부가'] * 0.02:
|
if 2 < jangoDic[code]['평가손익']:
|
||||||
self.requestOrder(OrderType.sell, code, jangoDic[code]['매도가능'], jangoDic[code]['평가금액'])
|
self.requestOrder(OrderType.sell, code, jangoDic[code]['매도가능'], jangoDic[code]['평가금액'])
|
||||||
self.slackBot.post_to_slack(code, jangoDic[code]['종목명'], "SELL", jangoDic[code]['평가금액'], jangoDic[code]['매도가능'])
|
self.slackBot.post_to_slack(code, jangoDic[code]['종목명'], "SELL", jangoDic[code]['평가금액'], jangoDic[code]['매도가능'])
|
||||||
return
|
return
|
||||||
@@ -159,7 +159,7 @@ class HTS_Stocks (HTS):
|
|||||||
if not self.orderChecker.exist(today, "A" + stock_code, hours=9):
|
if not self.orderChecker.exist(today, "A" + stock_code, hours=9):
|
||||||
|
|
||||||
last_index = len(bsLine['buy'])-1
|
last_index = len(bsLine['buy'])-1
|
||||||
if bsLine['buy'][last_index] > 0:
|
if 0 < bsLine['buy'][last_index] < 200000:
|
||||||
|
|
||||||
bs_buy_price = bsLine['buy'][last_index]
|
bs_buy_price = bsLine['buy'][last_index]
|
||||||
bs_buy_weight = bsLine['buy_weight'][last_index]
|
bs_buy_weight = bsLine['buy_weight'][last_index]
|
||||||
|
|||||||
76
hts/HTS.py
76
hts/HTS.py
@@ -234,57 +234,41 @@ class HTS:
|
|||||||
ord('P'): '플러스론',
|
ord('P'): '플러스론',
|
||||||
ord('I'): '자기융자',
|
ord('I'): '자기융자',
|
||||||
}
|
}
|
||||||
while True:
|
|
||||||
objRq.BlockRequest()
|
|
||||||
# 통신 및 통신 에러 처리
|
|
||||||
rqStatus = objRq.GetDibStatus()
|
|
||||||
rqRet = objRq.GetDibMsg1()
|
|
||||||
#print("통신상태", rqStatus, rqRet)
|
|
||||||
if rqStatus != 0:
|
|
||||||
return False
|
|
||||||
|
|
||||||
cnt = objRq.GetHeaderValue(7)
|
objRq.BlockRequest()
|
||||||
if cnt > 3:
|
# 통신 및 통신 에러 처리
|
||||||
return jangoDic
|
rqStatus = objRq.GetDibStatus()
|
||||||
|
rqRet = objRq.GetDibMsg1()
|
||||||
|
#print("통신상태", rqStatus, rqRet)
|
||||||
|
if rqStatus != 0:
|
||||||
|
return False
|
||||||
|
|
||||||
for i in range(cnt):
|
cnt = objRq.GetHeaderValue(7)
|
||||||
item = {}
|
if cnt < 0:
|
||||||
code = objRq.GetDataValue(12, i) # 종목코드
|
return jangoDic
|
||||||
item['종목코드'] = code
|
|
||||||
item['종목명'] = objRq.GetDataValue(0, i) # 종목명
|
|
||||||
item['대출일'] = objRq.GetDataValue(2, i) # 대출일
|
|
||||||
item['잔고수량'] = objRq.GetDataValue(7, i) # 체결잔고수량
|
|
||||||
item['매도가능'] = objRq.GetDataValue(15, i)
|
|
||||||
item['장부가'] = objRq.GetDataValue(17, i) # 체결장부단가
|
|
||||||
item['평가금액'] = objRq.GetDataValue(9, i) # 평가금액(천원미만은 절사 됨)
|
|
||||||
item['평가손익'] = objRq.GetDataValue(11, i) # 평가손익(천원미만은 절사 됨)
|
|
||||||
# 매입금액 = 장부가 * 잔고수량
|
|
||||||
item['매입금액'] = item['장부가'] * item['잔고수량']
|
|
||||||
item['현재가'] = 0
|
|
||||||
item['대비'] = 0
|
|
||||||
item['거래량'] = 0
|
|
||||||
|
|
||||||
# 잔고 추가
|
for i in range(cnt):
|
||||||
# key = (code, item['현금신용'],item['대출일'] )
|
item = {}
|
||||||
key = code
|
code = objRq.GetDataValue(12, i) # 종목코드
|
||||||
jangoDic[key] = item
|
item['종목코드'] = code
|
||||||
|
item['종목명'] = objRq.GetDataValue(0, i) # 종목명
|
||||||
|
item['대출일'] = objRq.GetDataValue(2, i) # 대출일
|
||||||
|
item['잔고수량'] = objRq.GetDataValue(7, i) # 체결잔고수량
|
||||||
|
item['매도가능'] = objRq.GetDataValue(15, i)
|
||||||
|
item['장부가'] = objRq.GetDataValue(17, i) # 체결장부단가
|
||||||
|
item['평가금액'] = objRq.GetDataValue(9, i) # 평가금액(천원미만은 절사 됨)
|
||||||
|
item['평가손익'] = objRq.GetDataValue(11, i) # 평가손익(천원미만은 절사 됨)
|
||||||
|
# 매입금액 = 장부가 * 잔고수량
|
||||||
|
item['매입금액'] = item['장부가'] * item['잔고수량']
|
||||||
|
item['현재가'] = 0
|
||||||
|
item['대비'] = 0
|
||||||
|
item['거래량'] = 0
|
||||||
|
|
||||||
if len(jangoDic) >= 3: # 최대 3 종목만,
|
# 잔고 추가
|
||||||
break
|
# key = (code, item['현금신용'],item['대출일'] )
|
||||||
|
key = code
|
||||||
|
jangoDic[key] = item
|
||||||
|
|
||||||
if len(jangoDic) >= 3:
|
|
||||||
break
|
|
||||||
|
|
||||||
if (objRq.Continue == False):
|
|
||||||
break
|
|
||||||
|
|
||||||
check = False
|
|
||||||
for item in jangoDic:
|
|
||||||
if item:
|
|
||||||
check = True
|
|
||||||
break
|
|
||||||
if not check:
|
|
||||||
return None
|
|
||||||
return jangoDic
|
return jangoDic
|
||||||
|
|
||||||
# 예약 주문 내역 조회 및 미체결 리스트 구하기
|
# 예약 주문 내역 조회 및 미체결 리스트 구하기
|
||||||
|
|||||||
Reference in New Issue
Block a user