init
This commit is contained in:
@@ -30,6 +30,17 @@ class HTS_122630 (HTS):
|
|||||||
self.labelMaker = LabelMaker(RESOURCE_PATH)
|
self.labelMaker = LabelMaker(RESOURCE_PATH)
|
||||||
return
|
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):
|
def getSellingPrice(self, final_price):
|
||||||
# 만약 잔고가 있으면 장부가보다 5원 높게 매도한다.
|
# 만약 잔고가 있으면 장부가보다 5원 높게 매도한다.
|
||||||
jangoDic = self.requstJango()
|
jangoDic = self.requstJango()
|
||||||
@@ -67,9 +78,6 @@ class HTS_122630 (HTS):
|
|||||||
|
|
||||||
def buyRealTime(self, today):
|
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...")
|
print ("START...")
|
||||||
THIS_TIME = datetime.now()
|
THIS_TIME = datetime.now()
|
||||||
final_sell_check = False
|
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'):
|
if datetime.strptime(today + " 090000", '%Y%m%d %H%M%S') < THIS_TIME < datetime.strptime(today + " 151500", '%Y%m%d %H%M%S'):
|
||||||
# 3시 까지만 매수를 시도한다.
|
# 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)
|
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["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]))
|
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'):
|
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분 사이는 잔량을 매도한다.
|
# 3시 15분 30초부터 3시 16분 사이는 잔량을 매도한다.
|
||||||
|
|
||||||
|
|||||||
@@ -31,6 +31,17 @@ class HTS_252670 (HTS):
|
|||||||
self.labelMaker = LabelMaker(RESOURCE_PATH)
|
self.labelMaker = LabelMaker(RESOURCE_PATH)
|
||||||
return
|
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):
|
def getSellingPrice(self, final_price):
|
||||||
# 만약 잔고가 있으면 장부가보다 5원 높게 매도한다.
|
# 만약 잔고가 있으면 장부가보다 5원 높게 매도한다.
|
||||||
jangoDic = self.requstJango()
|
jangoDic = self.requstJango()
|
||||||
@@ -56,21 +67,18 @@ class HTS_252670 (HTS):
|
|||||||
|
|
||||||
return 0, 0
|
return 0, 0
|
||||||
|
|
||||||
def getFinalSellingPrice(self, final_price):
|
def getFinalSellingPrice(self, final_price, diff):
|
||||||
# 만약 잔고가 있으면 장부가보다 5원 높게 매도한다.
|
# 만약 잔고가 있으면 장부가보다 5원 높게 매도한다.
|
||||||
jangoDic = self.requstJango()
|
jangoDic = self.requstJango()
|
||||||
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:
|
||||||
return jangoDic[code]['매도가능'], final_price - 5
|
return jangoDic[code]['매도가능'], final_price + diff
|
||||||
|
|
||||||
return 0, 0
|
return 0, 0
|
||||||
|
|
||||||
def buyRealTime(self, today):
|
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...")
|
print ("START...")
|
||||||
THIS_TIME = datetime.now()
|
THIS_TIME = datetime.now()
|
||||||
final_sell_check = False
|
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'):
|
if datetime.strptime(today + " 090000", '%Y%m%d %H%M%S') < THIS_TIME < datetime.strptime(today + " 151500", '%Y%m%d %H%M%S'):
|
||||||
# 3시 까지만 매수를 시도한다.
|
# 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)
|
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)
|
result = self.getRealTime(self.stock_code, today, LAST_DATA)
|
||||||
final_price = result["close"][len(result["close"]) - 1]
|
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)
|
selling_count, selling_price = self.getSellingPrice(final_price)
|
||||||
|
|
||||||
# 분석된 가격으로 매도 요청한다.
|
# 분석된 가격으로 매도 요청한다.
|
||||||
|
|||||||
@@ -298,7 +298,7 @@ class HTS:
|
|||||||
|
|
||||||
if (ret == 2 or ret == 3):
|
if (ret == 2 or ret == 3):
|
||||||
print("통신 오류", ret)
|
print("통신 오류", ret)
|
||||||
return False;
|
return False
|
||||||
|
|
||||||
# 통신 초과 요청 방지에 의한 요류 인 경우
|
# 통신 초과 요청 방지에 의한 요류 인 경우
|
||||||
while (ret == 4): # 연속 주문 오류 임. 이 경우는 남은 시간동안 반드시 대기해야 함.
|
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