init
This commit is contained in:
@@ -16,6 +16,7 @@ from stock.analysis.StockStatus import StockStatus
|
|||||||
|
|
||||||
class HTS_etf(HTS):
|
class HTS_etf(HTS):
|
||||||
RESOURCE_PATH = None
|
RESOURCE_PATH = None
|
||||||
|
SELL_GAP = None
|
||||||
stock_code = None
|
stock_code = None
|
||||||
stock_name = None
|
stock_name = None
|
||||||
buy_count = None
|
buy_count = None
|
||||||
@@ -25,11 +26,12 @@ class HTS_etf(HTS):
|
|||||||
slackBot = None
|
slackBot = None
|
||||||
stockStatus = None
|
stockStatus = None
|
||||||
|
|
||||||
def __init__(self, RESOURCE_PATH, stock_code, stock_name):
|
def __init__(self, RESOURCE_PATH, stock_code, stock_name, SELL_GAP):
|
||||||
super().__init__(RESOURCE_PATH)
|
super().__init__(RESOURCE_PATH)
|
||||||
|
|
||||||
self.RESOURCE_PATH = RESOURCE_PATH
|
self.RESOURCE_PATH = RESOURCE_PATH
|
||||||
|
|
||||||
|
self.SELL_GAP = SELL_GAP
|
||||||
self.stock_code = stock_code
|
self.stock_code = stock_code
|
||||||
self.stock_name = stock_name
|
self.stock_name = stock_name
|
||||||
self.orderChecker = OrderChecker(self.RESOURCE_PATH, self.stock_code)
|
self.orderChecker = OrderChecker(self.RESOURCE_PATH, self.stock_code)
|
||||||
@@ -65,19 +67,19 @@ class HTS_etf(HTS):
|
|||||||
if code == "A" + stock_code:
|
if code == "A" + stock_code:
|
||||||
if bs_sell_price is not None:
|
if bs_sell_price is not None:
|
||||||
if jangoDic[code]['매도가능'] > 0:
|
if jangoDic[code]['매도가능'] > 0:
|
||||||
if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익']:
|
if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익'] or self.SELL_GAP < jangoDic[code]['평가금액']-jangoDic[code]['매입금액']:
|
||||||
# 1.5% 손해 혹은 2% 이상 시 수익 매도
|
# 1.5% 손해 혹은 2% 이상 시 수익 매도
|
||||||
self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], bs_sell_price)
|
self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], bs_sell_price)
|
||||||
check = True
|
check = True
|
||||||
else:
|
else:
|
||||||
if jangoDic[code]['매도가능'] > 0:
|
if jangoDic[code]['매도가능'] > 0:
|
||||||
if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익']:
|
if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익'] or self.SELL_GAP < jangoDic[code]['평가금액']-jangoDic[code]['매입금액']:
|
||||||
# 1.5% 손해 혹은 2% 이상 시 수익 매도
|
# 1.5% 손해 혹은 2% 이상 시 수익 매도
|
||||||
self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], jangoDic[code]['현재가'])
|
self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], jangoDic[code]['현재가'])
|
||||||
check = True
|
check = True
|
||||||
else:
|
else:
|
||||||
if jangoDic[code]['매도가능'] > 0:
|
if jangoDic[code]['매도가능'] > 0:
|
||||||
if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익']:
|
if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익'] or self.SELL_GAP < jangoDic[code]['평가금액']-jangoDic[code]['매입금액']:
|
||||||
# 1.5% 손해 혹은 2% 이상 시 수익 매도
|
# 1.5% 손해 혹은 2% 이상 시 수익 매도
|
||||||
self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], jangoDic[code]['현재가'])
|
self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], jangoDic[code]['현재가'])
|
||||||
check = True
|
check = True
|
||||||
@@ -219,7 +221,7 @@ if __name__ == "__main__":
|
|||||||
stock_code = "122630"
|
stock_code = "122630"
|
||||||
stock_name = "KODEX 레버리지"
|
stock_name = "KODEX 레버리지"
|
||||||
|
|
||||||
hts = HTS_etf(RESOURCE_PATH, stock_code, stock_name)
|
hts = HTS_etf(RESOURCE_PATH, stock_code, stock_name, SELL_GAP=100)
|
||||||
hts.connect2DB("hts.db")
|
hts.connect2DB("hts.db")
|
||||||
|
|
||||||
today_str = today.strftime('%Y%m%d')
|
today_str = today.strftime('%Y%m%d')
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ from stock.analysis.StockStatus import StockStatus
|
|||||||
|
|
||||||
class HTS_etf(HTS):
|
class HTS_etf(HTS):
|
||||||
RESOURCE_PATH = None
|
RESOURCE_PATH = None
|
||||||
|
SELL_GAP = None
|
||||||
stock_code = None
|
stock_code = None
|
||||||
stock_name = None
|
stock_name = None
|
||||||
buy_count = None
|
buy_count = None
|
||||||
@@ -25,11 +26,12 @@ class HTS_etf(HTS):
|
|||||||
slackBot = None
|
slackBot = None
|
||||||
stockStatus = None
|
stockStatus = None
|
||||||
|
|
||||||
def __init__(self, RESOURCE_PATH, stock_code, stock_name):
|
def __init__(self, RESOURCE_PATH, stock_code, stock_name, SELL_GAP):
|
||||||
super().__init__(RESOURCE_PATH)
|
super().__init__(RESOURCE_PATH)
|
||||||
|
|
||||||
self.RESOURCE_PATH = RESOURCE_PATH
|
self.RESOURCE_PATH = RESOURCE_PATH
|
||||||
|
|
||||||
|
self.SELL_GAP = SELL_GAP
|
||||||
self.stock_code = stock_code
|
self.stock_code = stock_code
|
||||||
self.stock_name = stock_name
|
self.stock_name = stock_name
|
||||||
self.orderChecker = OrderChecker(self.RESOURCE_PATH, self.stock_code)
|
self.orderChecker = OrderChecker(self.RESOURCE_PATH, self.stock_code)
|
||||||
@@ -65,19 +67,19 @@ class HTS_etf(HTS):
|
|||||||
if code == "A" + stock_code:
|
if code == "A" + stock_code:
|
||||||
if bs_sell_price is not None:
|
if bs_sell_price is not None:
|
||||||
if jangoDic[code]['매도가능'] > 0:
|
if jangoDic[code]['매도가능'] > 0:
|
||||||
if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익']:
|
if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익'] or self.SELL_GAP < jangoDic[code]['평가금액']-jangoDic[code]['매입금액']:
|
||||||
# 1.5% 손해 혹은 2% 이상 시 수익 매도
|
# 1.5% 손해 혹은 2% 이상 시 수익 매도
|
||||||
self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], bs_sell_price)
|
self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], bs_sell_price)
|
||||||
check = True
|
check = True
|
||||||
else:
|
else:
|
||||||
if jangoDic[code]['매도가능'] > 0:
|
if jangoDic[code]['매도가능'] > 0:
|
||||||
if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익']:
|
if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익'] or self.SELL_GAP < jangoDic[code]['평가금액']-jangoDic[code]['매입금액']:
|
||||||
# 1.5% 손해 혹은 2% 이상 시 수익 매도
|
# 1.5% 손해 혹은 2% 이상 시 수익 매도
|
||||||
self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], jangoDic[code]['현재가'])
|
self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], jangoDic[code]['현재가'])
|
||||||
check = True
|
check = True
|
||||||
else:
|
else:
|
||||||
if jangoDic[code]['매도가능'] > 0:
|
if jangoDic[code]['매도가능'] > 0:
|
||||||
if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익']:
|
if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익'] or self.SELL_GAP < jangoDic[code]['평가금액']-jangoDic[code]['매입금액']:
|
||||||
# 1.5% 손해 혹은 2% 이상 시 수익 매도
|
# 1.5% 손해 혹은 2% 이상 시 수익 매도
|
||||||
self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], jangoDic[code]['현재가'])
|
self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], jangoDic[code]['현재가'])
|
||||||
check = True
|
check = True
|
||||||
@@ -141,7 +143,7 @@ class HTS_etf(HTS):
|
|||||||
|
|
||||||
while datetime.strptime(today + " 063000", '%Y%m%d %H%M%S') < THIS_TIME < datetime.strptime(today + " 153100",'%Y%m%d %H%M%S'):
|
while datetime.strptime(today + " 063000", '%Y%m%d %H%M%S') < THIS_TIME < datetime.strptime(today + " 153100",'%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'):
|
if datetime.strptime(today + " 090000", '%Y%m%d %H%M%S') < THIS_TIME < datetime.strptime(today + " 153100", '%Y%m%d %H%M%S'):
|
||||||
|
|
||||||
# 매도를 체크한다.
|
# 매도를 체크한다.
|
||||||
self.sellStocks(self.stock_code)
|
self.sellStocks(self.stock_code)
|
||||||
@@ -219,7 +221,7 @@ if __name__ == "__main__":
|
|||||||
stock_code = "233740"
|
stock_code = "233740"
|
||||||
stock_name = "KODEX 코스닥150레버리지"
|
stock_name = "KODEX 코스닥150레버리지"
|
||||||
|
|
||||||
hts = HTS_etf(RESOURCE_PATH, stock_code, stock_name)
|
hts = HTS_etf(RESOURCE_PATH, stock_code, stock_name, SELL_GAP=100)
|
||||||
hts.connect2DB("hts.db")
|
hts.connect2DB("hts.db")
|
||||||
|
|
||||||
today_str = today.strftime('%Y%m%d')
|
today_str = today.strftime('%Y%m%d')
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ from stock.analysis.StockStatus import StockStatus
|
|||||||
|
|
||||||
class HTS_etf(HTS):
|
class HTS_etf(HTS):
|
||||||
RESOURCE_PATH = None
|
RESOURCE_PATH = None
|
||||||
|
SELL_GAP = None
|
||||||
stock_code = None
|
stock_code = None
|
||||||
stock_name = None
|
stock_name = None
|
||||||
buy_count = None
|
buy_count = None
|
||||||
@@ -25,11 +26,12 @@ class HTS_etf(HTS):
|
|||||||
slackBot = None
|
slackBot = None
|
||||||
stockStatus = None
|
stockStatus = None
|
||||||
|
|
||||||
def __init__(self, RESOURCE_PATH, stock_code, stock_name):
|
def __init__(self, RESOURCE_PATH, stock_code, stock_name, SELL_GAP):
|
||||||
super().__init__(RESOURCE_PATH)
|
super().__init__(RESOURCE_PATH)
|
||||||
|
|
||||||
self.RESOURCE_PATH = RESOURCE_PATH
|
self.RESOURCE_PATH = RESOURCE_PATH
|
||||||
|
|
||||||
|
self.SELL_GAP = SELL_GAP
|
||||||
self.stock_code = stock_code
|
self.stock_code = stock_code
|
||||||
self.stock_name = stock_name
|
self.stock_name = stock_name
|
||||||
self.orderChecker = OrderChecker(self.RESOURCE_PATH, self.stock_code)
|
self.orderChecker = OrderChecker(self.RESOURCE_PATH, self.stock_code)
|
||||||
@@ -65,19 +67,19 @@ class HTS_etf(HTS):
|
|||||||
if code == "A" + stock_code:
|
if code == "A" + stock_code:
|
||||||
if bs_sell_price is not None:
|
if bs_sell_price is not None:
|
||||||
if jangoDic[code]['매도가능'] > 0:
|
if jangoDic[code]['매도가능'] > 0:
|
||||||
if jangoDic[code]['평가손익'] < -1.5 or 2 < jangoDic[code]['평가손익']:
|
if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익'] or self.SELL_GAP < jangoDic[code]['평가금액']-jangoDic[code]['매입금액']:
|
||||||
# 1.5% 손해 혹은 2% 이상 시 수익 매도
|
# 1.5% 손해 혹은 2% 이상 시 수익 매도
|
||||||
self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], bs_sell_price)
|
self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], bs_sell_price)
|
||||||
check = True
|
check = True
|
||||||
else:
|
else:
|
||||||
if jangoDic[code]['매도가능'] > 0:
|
if jangoDic[code]['매도가능'] > 0:
|
||||||
if jangoDic[code]['평가손익'] < -1.5 or 2 < jangoDic[code]['평가손익']:
|
if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익'] or self.SELL_GAP < jangoDic[code]['평가금액']-jangoDic[code]['매입금액']:
|
||||||
# 1.5% 손해 혹은 2% 이상 시 수익 매도
|
# 1.5% 손해 혹은 2% 이상 시 수익 매도
|
||||||
self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], jangoDic[code]['현재가'])
|
self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], jangoDic[code]['현재가'])
|
||||||
check = True
|
check = True
|
||||||
else:
|
else:
|
||||||
if jangoDic[code]['매도가능'] > 0:
|
if jangoDic[code]['매도가능'] > 0:
|
||||||
if jangoDic[code]['평가손익'] < -1.5 or 2 < jangoDic[code]['평가손익']:
|
if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익'] or self.SELL_GAP < jangoDic[code]['평가금액']-jangoDic[code]['매입금액']:
|
||||||
# 1.5% 손해 혹은 2% 이상 시 수익 매도
|
# 1.5% 손해 혹은 2% 이상 시 수익 매도
|
||||||
self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], jangoDic[code]['현재가'])
|
self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], jangoDic[code]['현재가'])
|
||||||
check = True
|
check = True
|
||||||
@@ -219,7 +221,7 @@ if __name__ == "__main__":
|
|||||||
stock_code = "251340"
|
stock_code = "251340"
|
||||||
stock_name = "KODEX 코스닥150선물인버스"
|
stock_name = "KODEX 코스닥150선물인버스"
|
||||||
|
|
||||||
hts = HTS_etf(RESOURCE_PATH, stock_code, stock_name)
|
hts = HTS_etf(RESOURCE_PATH, stock_code, stock_name, SELL_GAP=50)
|
||||||
hts.connect2DB("hts.db")
|
hts.connect2DB("hts.db")
|
||||||
|
|
||||||
today_str = today.strftime('%Y%m%d')
|
today_str = today.strftime('%Y%m%d')
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ from stock.analysis.StockStatus import StockStatus
|
|||||||
|
|
||||||
class HTS_etf(HTS):
|
class HTS_etf(HTS):
|
||||||
RESOURCE_PATH = None
|
RESOURCE_PATH = None
|
||||||
|
SELL_GAP = None
|
||||||
stock_code = None
|
stock_code = None
|
||||||
stock_name = None
|
stock_name = None
|
||||||
buy_count = None
|
buy_count = None
|
||||||
@@ -25,11 +26,12 @@ class HTS_etf(HTS):
|
|||||||
slackBot = None
|
slackBot = None
|
||||||
stockStatus = None
|
stockStatus = None
|
||||||
|
|
||||||
def __init__(self, RESOURCE_PATH, stock_code, stock_name):
|
def __init__(self, RESOURCE_PATH, stock_code, stock_name, SELL_GAP):
|
||||||
super().__init__(RESOURCE_PATH)
|
super().__init__(RESOURCE_PATH)
|
||||||
|
|
||||||
self.RESOURCE_PATH = RESOURCE_PATH
|
self.RESOURCE_PATH = RESOURCE_PATH
|
||||||
|
|
||||||
|
self.SELL_GAP = SELL_GAP
|
||||||
self.stock_code = stock_code
|
self.stock_code = stock_code
|
||||||
self.stock_name = stock_name
|
self.stock_name = stock_name
|
||||||
self.orderChecker = OrderChecker(self.RESOURCE_PATH, self.stock_code)
|
self.orderChecker = OrderChecker(self.RESOURCE_PATH, self.stock_code)
|
||||||
@@ -66,19 +68,19 @@ class HTS_etf(HTS):
|
|||||||
if code == "A" + stock_code:
|
if code == "A" + stock_code:
|
||||||
if bs_sell_price is not None:
|
if bs_sell_price is not None:
|
||||||
if jangoDic[code]['매도가능'] > 0:
|
if jangoDic[code]['매도가능'] > 0:
|
||||||
if jangoDic[code]['평가손익'] < -1.5 or 2 < jangoDic[code]['평가손익']:
|
if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익'] or self.SELL_GAP < jangoDic[code]['평가금액']-jangoDic[code]['매입금액']:
|
||||||
# 1.5% 손해 혹은 2% 이상 시 수익 매도
|
# 1.5% 손해 혹은 2% 이상 시 수익 매도
|
||||||
self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], bs_sell_price)
|
self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], bs_sell_price)
|
||||||
check = True
|
check = True
|
||||||
else:
|
else:
|
||||||
if jangoDic[code]['매도가능'] > 0:
|
if jangoDic[code]['매도가능'] > 0:
|
||||||
if jangoDic[code]['평가손익'] < -1.5 or 2 < jangoDic[code]['평가손익']:
|
if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익'] or self.SELL_GAP < jangoDic[code]['평가금액']-jangoDic[code]['매입금액']:
|
||||||
# 1.5% 손해 혹은 2% 이상 시 수익 매도
|
# 1.5% 손해 혹은 2% 이상 시 수익 매도
|
||||||
self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], jangoDic[code]['현재가'])
|
self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], jangoDic[code]['현재가'])
|
||||||
check = True
|
check = True
|
||||||
else:
|
else:
|
||||||
if jangoDic[code]['매도가능'] > 0:
|
if jangoDic[code]['매도가능'] > 0:
|
||||||
if jangoDic[code]['평가손익'] < -1.5 or 2 < jangoDic[code]['평가손익']:
|
if jangoDic[code]['평가손익'] < -1.5 or 1 < jangoDic[code]['평가손익'] or self.SELL_GAP < jangoDic[code]['평가금액']-jangoDic[code]['매입금액']:
|
||||||
# 1.5% 손해 혹은 2% 이상 시 수익 매도
|
# 1.5% 손해 혹은 2% 이상 시 수익 매도
|
||||||
self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], jangoDic[code]['현재가'])
|
self.requestOrder(OrderType.sell, code[1:], jangoDic[code]['매도가능'], jangoDic[code]['현재가'])
|
||||||
check = True
|
check = True
|
||||||
@@ -220,7 +222,7 @@ if __name__ == "__main__":
|
|||||||
stock_code = "252670"
|
stock_code = "252670"
|
||||||
stock_name = "KODEX 200선물인버스2X"
|
stock_name = "KODEX 200선물인버스2X"
|
||||||
|
|
||||||
hts = HTS_etf(RESOURCE_PATH, stock_code, stock_name)
|
hts = HTS_etf(RESOURCE_PATH, stock_code, stock_name, SELL_GAP=50)
|
||||||
hts.connect2DB("hts.db")
|
hts.connect2DB("hts.db")
|
||||||
|
|
||||||
today_str = today.strftime('%Y%m%d')
|
today_str = today.strftime('%Y%m%d')
|
||||||
|
|||||||
Reference in New Issue
Block a user