init
This commit is contained in:
25
hts/HTS.py
25
hts/HTS.py
@@ -186,7 +186,8 @@ class HTS:
|
|||||||
# 주식 매도 주문
|
# 주식 매도 주문
|
||||||
acc = objTrade.AccountNumber[0] # 계좌번호
|
acc = objTrade.AccountNumber[0] # 계좌번호
|
||||||
accFlag = objTrade.GoodsList(acc, 1) # 주식상품 구분
|
accFlag = objTrade.GoodsList(acc, 1) # 주식상품 구분
|
||||||
print(acc, accFlag[0])
|
# acc = "782446178"
|
||||||
|
# accFlag[0] = "01"
|
||||||
objStockOrder = win32com.client.Dispatch("CpTrade.CpTd0311")
|
objStockOrder = win32com.client.Dispatch("CpTrade.CpTd0311")
|
||||||
objStockOrder.SetInputValue(0, "1") # 1: 매도
|
objStockOrder.SetInputValue(0, "1") # 1: 매도
|
||||||
objStockOrder.SetInputValue(1, acc) # 계좌번호
|
objStockOrder.SetInputValue(1, acc) # 계좌번호
|
||||||
@@ -293,11 +294,10 @@ class HTS:
|
|||||||
for i in range(size-1, -1, -1):
|
for i in range(size-1, -1, -1):
|
||||||
int_day = objStockChart.GetDataValue(0, i)
|
int_day = objStockChart.GetDataValue(0, i)
|
||||||
int_time = objStockChart.GetDataValue(1, i)
|
int_time = objStockChart.GetDataValue(1, i)
|
||||||
print (int_day, int_time)
|
|
||||||
|
|
||||||
if int_day < int_given_day:
|
if int_day < int_given_day:
|
||||||
continue
|
continue
|
||||||
time = datetime.strptime(str(int_day)+" "+str(objStockChart.GetDataValue(1, i)).zfill(4)+"00", '%Y%m%d %H%M%S')
|
time = datetime.strptime(str(int_day)+" "+str(int_time).zfill(4)+"00", '%Y%m%d %H%M%S')
|
||||||
if time < start_time:
|
if time < start_time:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
@@ -462,8 +462,8 @@ class HTS:
|
|||||||
return buy_line, sell_line
|
return buy_line, sell_line
|
||||||
|
|
||||||
def simulate(self, stock_code, given_day):
|
def simulate(self, stock_code, given_day):
|
||||||
timecheckList = pd.read_csv("timecheck.csv").values.tolist()
|
#timecheckList = pd.read_csv("timecheck.csv").values.tolist()
|
||||||
timecheck = {datetime.strptime(given_day + " " + str(second).zfill(6), '%Y%m%d %H%M%S'): False for second, check in timecheckList}
|
#timecheck = {datetime.strptime(given_day + " " + str(second).zfill(6), '%Y%m%d %H%M%S'): False for second, check in timecheckList}
|
||||||
|
|
||||||
result = {"check": set(),
|
result = {"check": set(),
|
||||||
"time": [],
|
"time": [],
|
||||||
@@ -476,9 +476,6 @@ class HTS:
|
|||||||
# 데이터를 가지고 온다.
|
# 데이터를 가지고 온다.
|
||||||
self.getCSV(given_day+".csv", given_day, result)
|
self.getCSV(given_day+".csv", given_day, result)
|
||||||
|
|
||||||
# 가져온 만큼 데이터를 누적해서 파일로 작성한다.
|
|
||||||
self.write(given_day, result)
|
|
||||||
|
|
||||||
# 분석을 통해서 볼린저밴드 상/하단을 계산한다.
|
# 분석을 통해서 볼린저밴드 상/하단을 계산한다.
|
||||||
data, upper, lower = self.analyze(result)
|
data, upper, lower = self.analyze(result)
|
||||||
|
|
||||||
@@ -488,6 +485,9 @@ class HTS:
|
|||||||
# 그래프를 그린다.
|
# 그래프를 그린다.
|
||||||
self.draw(given_day, data, upper, lower, buy_line, sell_line)
|
self.draw(given_day, data, upper, lower, buy_line, sell_line)
|
||||||
|
|
||||||
|
# 가져온 만큼 데이터를 누적해서 파일로 작성한다.
|
||||||
|
self.write(given_day, result)
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
def buyRealTime(self, stock_code, given_day):
|
def buyRealTime(self, stock_code, given_day):
|
||||||
@@ -506,15 +506,13 @@ class HTS:
|
|||||||
|
|
||||||
while datetime.strptime(given_day + " 085900", '%Y%m%d %H%M%S') < datetime.now() < datetime.strptime(given_day + " 151500", '%Y%m%d %H%M%S'):
|
while datetime.strptime(given_day + " 085900", '%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')
|
second = datetime.now().strftime('%Y%m%d %H%M%S')
|
||||||
|
print(second)
|
||||||
|
|
||||||
if second in timecheck and not timecheck[second]:
|
if second in timecheck and not timecheck[second]:
|
||||||
|
|
||||||
# 데이터를 가지고 온다.
|
# 데이터를 가지고 온다.
|
||||||
self.getRealTime(stock_code, given_day, result)
|
self.getRealTime(stock_code, given_day, result)
|
||||||
|
|
||||||
# 가져온 만큼 데이터를 누적해서 파일로 작성한다.
|
|
||||||
self.write(given_day, result)
|
|
||||||
|
|
||||||
# 분석을 통해서 볼린저밴드 상/하단을 계산한다.
|
# 분석을 통해서 볼린저밴드 상/하단을 계산한다.
|
||||||
data, upper, lower = self.analyze(result)
|
data, upper, lower = self.analyze(result)
|
||||||
|
|
||||||
@@ -532,9 +530,10 @@ class HTS:
|
|||||||
self.orderToBuy(stock_code, count, price)
|
self.orderToBuy(stock_code, count, price)
|
||||||
self.orderToSell(stock_code, count, price + 5)
|
self.orderToSell(stock_code, count, price + 5)
|
||||||
|
|
||||||
timecheck[second] = True
|
# 가져온 만큼 데이터를 누적해서 파일로 작성한다.
|
||||||
|
self.write(given_day, result)
|
||||||
|
|
||||||
# self.draw(given_day, data, upper, lower, buy_line, sell_line)
|
timecheck[second] = True
|
||||||
|
|
||||||
time.sleep(0.5)
|
time.sleep(0.5)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user