init
This commit is contained in:
@@ -30,6 +30,17 @@ class HTS_122630 (HTS):
|
||||
self.labelMaker = LabelMaker(RESOURCE_PATH)
|
||||
return
|
||||
|
||||
def getDefaultSell(self, log_time, stock_code):
|
||||
jangoDic = self.requstJango()
|
||||
if jangoDic and len(jangoDic.keys()) > 0:
|
||||
for code in jangoDic:
|
||||
if jangoDic[code]['매도가능'] > 0:
|
||||
if code == "A"+stock_code:
|
||||
orderNum = self.requestOrder(OrderType.sell, stock_code, jangoDic[code]['매도가능'], jangoDic[code]['장부가']+60)
|
||||
print("SELL", log_time, jangoDic[code]['매도가능'], jangoDic[code]['장부가']+60)
|
||||
|
||||
return
|
||||
|
||||
def getSellingPrice(self, final_price):
|
||||
# 만약 잔고가 있으면 장부가보다 5원 높게 매도한다.
|
||||
jangoDic = self.requstJango()
|
||||
@@ -67,9 +78,6 @@ class HTS_122630 (HTS):
|
||||
|
||||
def buyRealTime(self, today):
|
||||
|
||||
timecheckList = pd.read_csv("hts/timecheck.csv").values.tolist()
|
||||
timecheck = {today + " " + str(second).zfill(6):False for second, check in timecheckList}
|
||||
|
||||
print ("START...")
|
||||
THIS_TIME = datetime.now()
|
||||
final_sell_check = False
|
||||
@@ -80,7 +88,12 @@ class HTS_122630 (HTS):
|
||||
if datetime.strptime(today + " 090000", '%Y%m%d %H%M%S') < THIS_TIME < datetime.strptime(today + " 151500", '%Y%m%d %H%M%S'):
|
||||
# 3시 까지만 매수를 시도한다.
|
||||
|
||||
if THIS_TIME.strftime('%Y%m%d %H%M%S') in timecheck and not timecheck[THIS_TIME.strftime('%Y%m%d %H%M%S')]:
|
||||
if THIS_TIME.strftime('%S') in ("09", "19", "29", "39", "49", "59"):
|
||||
# 10초마다 체크하여 체결된 내역이 있으면 60원 높게 매도를 주문한다.
|
||||
self.getDefaultSell(THIS_TIME.strftime('%Y%m%d %H%M%S'), self.stock_code)
|
||||
|
||||
if THIS_TIME.strftime('%S') == "05":
|
||||
# 매분 3초마다 실행한다.
|
||||
|
||||
# 데이터를 가지고 온다.
|
||||
result = self.getRealTime(self.stock_code, today, LAST_DATA)
|
||||
@@ -144,8 +157,6 @@ class HTS_122630 (HTS):
|
||||
data["fast_k"][data_size - 2], data["slow_k"][data_size - 2], data["slow_d"][data_size - 1],
|
||||
data["rsi"][data_size - 1], data["rsis"][data_size - 1]))
|
||||
|
||||
timecheck[THIS_TIME] = True
|
||||
|
||||
elif datetime.strptime(today + " 151530", '%Y%m%d %H%M%S') < THIS_TIME < datetime.strptime(today + " 151600", '%Y%m%d %H%M%S'):
|
||||
# 3시 15분 30초부터 3시 16분 사이는 잔량을 매도한다.
|
||||
|
||||
|
||||
@@ -31,6 +31,17 @@ class HTS_252670 (HTS):
|
||||
self.labelMaker = LabelMaker(RESOURCE_PATH)
|
||||
return
|
||||
|
||||
def getDefaultSell(self, log_time, stock_code):
|
||||
jangoDic = self.requstJango()
|
||||
if jangoDic and len(jangoDic.keys()) > 0:
|
||||
for code in jangoDic:
|
||||
if jangoDic[code]['매도가능'] > 0:
|
||||
if code == "A"+stock_code:
|
||||
orderNum = self.requestOrder(OrderType.sell, stock_code, jangoDic[code]['매도가능'], jangoDic[code]['장부가']+60)
|
||||
print("SELL", log_time, jangoDic[code]['매도가능'], jangoDic[code]['장부가']+60)
|
||||
|
||||
return
|
||||
|
||||
def getSellingPrice(self, final_price):
|
||||
# 만약 잔고가 있으면 장부가보다 5원 높게 매도한다.
|
||||
jangoDic = self.requstJango()
|
||||
@@ -56,21 +67,18 @@ class HTS_252670 (HTS):
|
||||
|
||||
return 0, 0
|
||||
|
||||
def getFinalSellingPrice(self, final_price):
|
||||
def getFinalSellingPrice(self, final_price, diff):
|
||||
# 만약 잔고가 있으면 장부가보다 5원 높게 매도한다.
|
||||
jangoDic = self.requstJango()
|
||||
if jangoDic and len(jangoDic.keys()) > 0:
|
||||
for code in jangoDic:
|
||||
if jangoDic[code]['매도가능'] > 0:
|
||||
return jangoDic[code]['매도가능'], final_price - 5
|
||||
return jangoDic[code]['매도가능'], final_price + diff
|
||||
|
||||
return 0, 0
|
||||
|
||||
def buyRealTime(self, today):
|
||||
|
||||
timecheckList = pd.read_csv("hts/timecheck.csv").values.tolist()
|
||||
timecheck = {today + " " + str(second).zfill(6):False for second, check in timecheckList}
|
||||
|
||||
print ("START...")
|
||||
THIS_TIME = datetime.now()
|
||||
final_sell_check = False
|
||||
@@ -81,7 +89,13 @@ class HTS_252670 (HTS):
|
||||
if datetime.strptime(today + " 090000", '%Y%m%d %H%M%S') < THIS_TIME < datetime.strptime(today + " 151500", '%Y%m%d %H%M%S'):
|
||||
# 3시 까지만 매수를 시도한다.
|
||||
|
||||
if THIS_TIME.strftime('%Y%m%d %H%M%S') in timecheck and not timecheck[THIS_TIME.strftime('%Y%m%d %H%M%S')]:
|
||||
if THIS_TIME.strftime('%S') in ("06", "16", "26", "36", "46", "56"):
|
||||
# 10초마다 체크하여 체결된 내역이 있으면 60원 높게 매도를 주문한다.
|
||||
self.getDefaultSell(THIS_TIME.strftime('%Y%m%d %H%M%S'), self.stock_code)
|
||||
|
||||
#if THIS_TIME.strftime('%Y%m%d %H%M%S') in timecheck and not timecheck[THIS_TIME.strftime('%Y%m%d %H%M%S')]:
|
||||
if THIS_TIME.strftime('%S') == "03":
|
||||
# 매분 3초마다 실행한다.
|
||||
|
||||
# 데이터를 가지고 온다.
|
||||
result = self.getRealTime(self.stock_code, today, LAST_DATA)
|
||||
@@ -164,7 +178,7 @@ class HTS_252670 (HTS):
|
||||
result = self.getRealTime(self.stock_code, today, LAST_DATA)
|
||||
final_price = result["close"][len(result["close"]) - 1]
|
||||
|
||||
#selling_count, selling_price = self.getFinalSellingPrice(final_price)
|
||||
#selling_count, selling_price = self.getFinalSellingPrice(final_price, -5)
|
||||
selling_count, selling_price = self.getSellingPrice(final_price)
|
||||
|
||||
# 분석된 가격으로 매도 요청한다.
|
||||
|
||||
@@ -298,7 +298,7 @@ class HTS:
|
||||
|
||||
if (ret == 2 or ret == 3):
|
||||
print("통신 오류", ret)
|
||||
return False;
|
||||
return False
|
||||
|
||||
# 통신 초과 요청 방지에 의한 요류 인 경우
|
||||
while (ret == 4): # 연속 주문 오류 임. 이 경우는 남은 시간동안 반드시 대기해야 함.
|
||||
|
||||
@@ -1,375 +0,0 @@
|
||||
time, check
|
||||
090103,False
|
||||
090203,False
|
||||
090303,False
|
||||
090403,False
|
||||
090503,False
|
||||
090603,False
|
||||
090703,False
|
||||
090803,False
|
||||
090903,False
|
||||
091003,False
|
||||
091103,False
|
||||
091203,False
|
||||
091303,False
|
||||
091403,False
|
||||
091503,False
|
||||
091603,False
|
||||
091703,False
|
||||
091803,False
|
||||
091903,False
|
||||
092003,False
|
||||
092103,False
|
||||
092203,False
|
||||
092303,False
|
||||
092403,False
|
||||
092503,False
|
||||
092603,False
|
||||
092703,False
|
||||
092803,False
|
||||
092903,False
|
||||
093003,False
|
||||
093103,False
|
||||
093203,False
|
||||
093303,False
|
||||
093403,False
|
||||
093503,False
|
||||
093603,False
|
||||
093703,False
|
||||
093803,False
|
||||
093903,False
|
||||
094003,False
|
||||
094103,False
|
||||
094203,False
|
||||
094303,False
|
||||
094403,False
|
||||
094503,False
|
||||
094603,False
|
||||
094703,False
|
||||
094803,False
|
||||
094903,False
|
||||
095003,False
|
||||
095103,False
|
||||
095203,False
|
||||
095303,False
|
||||
095403,False
|
||||
095503,False
|
||||
095603,False
|
||||
095703,False
|
||||
095803,False
|
||||
095903,False
|
||||
100003,False
|
||||
100103,False
|
||||
100203,False
|
||||
100303,False
|
||||
100403,False
|
||||
100503,False
|
||||
100603,False
|
||||
100703,False
|
||||
100803,False
|
||||
100903,False
|
||||
101003,False
|
||||
101103,False
|
||||
101203,False
|
||||
101303,False
|
||||
101403,False
|
||||
101503,False
|
||||
101603,False
|
||||
101703,False
|
||||
101803,False
|
||||
101903,False
|
||||
102003,False
|
||||
102103,False
|
||||
102203,False
|
||||
102303,False
|
||||
102403,False
|
||||
102503,False
|
||||
102603,False
|
||||
102703,False
|
||||
102803,False
|
||||
102903,False
|
||||
103003,False
|
||||
103103,False
|
||||
103203,False
|
||||
103303,False
|
||||
103403,False
|
||||
103503,False
|
||||
103603,False
|
||||
103703,False
|
||||
103803,False
|
||||
103903,False
|
||||
104003,False
|
||||
104103,False
|
||||
104203,False
|
||||
104303,False
|
||||
104403,False
|
||||
104503,False
|
||||
104603,False
|
||||
104703,False
|
||||
104803,False
|
||||
104903,False
|
||||
105003,False
|
||||
105103,False
|
||||
105203,False
|
||||
105303,False
|
||||
105403,False
|
||||
105503,False
|
||||
105603,False
|
||||
105703,False
|
||||
105803,False
|
||||
105903,False
|
||||
110003,False
|
||||
110103,False
|
||||
110203,False
|
||||
110303,False
|
||||
110403,False
|
||||
110503,False
|
||||
110603,False
|
||||
110703,False
|
||||
110803,False
|
||||
110903,False
|
||||
111003,False
|
||||
111103,False
|
||||
111203,False
|
||||
111303,False
|
||||
111403,False
|
||||
111503,False
|
||||
111603,False
|
||||
111703,False
|
||||
111803,False
|
||||
111903,False
|
||||
112003,False
|
||||
112103,False
|
||||
112203,False
|
||||
112303,False
|
||||
112403,False
|
||||
112503,False
|
||||
112603,False
|
||||
112703,False
|
||||
112803,False
|
||||
112903,False
|
||||
113003,False
|
||||
113103,False
|
||||
113203,False
|
||||
113303,False
|
||||
113403,False
|
||||
113503,False
|
||||
113603,False
|
||||
113703,False
|
||||
113803,False
|
||||
113903,False
|
||||
114003,False
|
||||
114103,False
|
||||
114203,False
|
||||
114303,False
|
||||
114403,False
|
||||
114503,False
|
||||
114603,False
|
||||
114703,False
|
||||
114803,False
|
||||
114903,False
|
||||
115003,False
|
||||
115103,False
|
||||
115203,False
|
||||
115303,False
|
||||
115403,False
|
||||
115503,False
|
||||
115603,False
|
||||
115703,False
|
||||
115803,False
|
||||
115903,False
|
||||
120003,False
|
||||
120103,False
|
||||
120203,False
|
||||
120303,False
|
||||
120403,False
|
||||
120503,False
|
||||
120603,False
|
||||
120703,False
|
||||
120803,False
|
||||
120903,False
|
||||
121003,False
|
||||
121103,False
|
||||
121203,False
|
||||
121303,False
|
||||
121403,False
|
||||
121503,False
|
||||
121603,False
|
||||
121703,False
|
||||
121803,False
|
||||
121903,False
|
||||
122003,False
|
||||
122103,False
|
||||
122203,False
|
||||
122303,False
|
||||
122403,False
|
||||
122503,False
|
||||
122603,False
|
||||
122703,False
|
||||
122803,False
|
||||
122903,False
|
||||
123003,False
|
||||
123103,False
|
||||
123203,False
|
||||
123303,False
|
||||
123403,False
|
||||
123503,False
|
||||
123603,False
|
||||
123703,False
|
||||
123803,False
|
||||
123903,False
|
||||
124003,False
|
||||
124103,False
|
||||
124203,False
|
||||
124303,False
|
||||
124403,False
|
||||
124503,False
|
||||
124603,False
|
||||
124703,False
|
||||
124803,False
|
||||
124903,False
|
||||
125003,False
|
||||
125103,False
|
||||
125203,False
|
||||
125303,False
|
||||
125403,False
|
||||
125503,False
|
||||
125603,False
|
||||
125703,False
|
||||
125803,False
|
||||
125903,False
|
||||
130003,False
|
||||
130103,False
|
||||
130203,False
|
||||
130303,False
|
||||
130403,False
|
||||
130503,False
|
||||
130603,False
|
||||
130703,False
|
||||
130803,False
|
||||
130903,False
|
||||
131003,False
|
||||
131103,False
|
||||
131203,False
|
||||
131303,False
|
||||
131403,False
|
||||
131503,False
|
||||
131603,False
|
||||
131703,False
|
||||
131803,False
|
||||
131903,False
|
||||
132003,False
|
||||
132103,False
|
||||
132203,False
|
||||
132303,False
|
||||
132403,False
|
||||
132503,False
|
||||
132603,False
|
||||
132703,False
|
||||
132803,False
|
||||
132903,False
|
||||
133003,False
|
||||
133103,False
|
||||
133203,False
|
||||
133303,False
|
||||
133403,False
|
||||
133503,False
|
||||
133603,False
|
||||
133703,False
|
||||
133803,False
|
||||
133903,False
|
||||
134003,False
|
||||
134103,False
|
||||
134203,False
|
||||
134303,False
|
||||
134403,False
|
||||
134503,False
|
||||
134603,False
|
||||
134703,False
|
||||
134803,False
|
||||
134903,False
|
||||
135003,False
|
||||
135103,False
|
||||
135203,False
|
||||
135303,False
|
||||
135403,False
|
||||
135503,False
|
||||
135603,False
|
||||
135703,False
|
||||
135803,False
|
||||
135903,False
|
||||
140003,False
|
||||
140103,False
|
||||
140203,False
|
||||
140303,False
|
||||
140403,False
|
||||
140503,False
|
||||
140603,False
|
||||
140703,False
|
||||
140803,False
|
||||
140903,False
|
||||
141003,False
|
||||
141103,False
|
||||
141203,False
|
||||
141303,False
|
||||
141403,False
|
||||
141503,False
|
||||
141603,False
|
||||
141703,False
|
||||
141803,False
|
||||
141903,False
|
||||
142003,False
|
||||
142103,False
|
||||
142203,False
|
||||
142303,False
|
||||
142403,False
|
||||
142503,False
|
||||
142603,False
|
||||
142703,False
|
||||
142803,False
|
||||
142903,False
|
||||
143003,False
|
||||
143103,False
|
||||
143203,False
|
||||
143303,False
|
||||
143403,False
|
||||
143503,False
|
||||
143603,False
|
||||
143703,False
|
||||
143803,False
|
||||
143903,False
|
||||
144003,False
|
||||
144103,False
|
||||
144203,False
|
||||
144303,False
|
||||
144403,False
|
||||
144503,False
|
||||
144603,False
|
||||
144703,False
|
||||
144803,False
|
||||
144903,False
|
||||
145003,False
|
||||
145103,False
|
||||
145203,False
|
||||
145303,False
|
||||
145403,False
|
||||
145503,False
|
||||
145603,False
|
||||
145703,False
|
||||
145803,False
|
||||
145903,False
|
||||
150003,False
|
||||
150103,False
|
||||
150203,False
|
||||
150303,False
|
||||
150403,False
|
||||
150503,False
|
||||
150603,False
|
||||
150703,False
|
||||
150803,False
|
||||
150903,False
|
||||
151003,False
|
||||
151103,False
|
||||
151203,False
|
||||
151303,False
|
||||
151403,False
|
||||
|
Reference in New Issue
Block a user