This commit is contained in:
dsyoon
2023-01-27 21:33:15 +09:00
parent b1f3baa536
commit b27d436f36
3 changed files with 26 additions and 1 deletions

View File

@@ -17,6 +17,7 @@ from sklearn.preprocessing import StandardScaler, MinMaxScaler
from stock.analysis.AnalyzerSqlite import AnalyzerSqlite
from hts.BuySellChecker import BuySellChecker
from hts.HTS import HTS
from stock.util.SlackBot import SlackBot
class Bithumb_minute(HTS):
@@ -27,9 +28,14 @@ class Bithumb_minute(HTS):
binance = None
TODAY = None
MAX_BUY_PRICE = None
slackBot = None
stock_code = None
def __init__(self, RESOURCE_PATH, today):
super().__init__(RESOURCE_PATH)
self.slackBot = SlackBot()
self.stock_code = {"XRP": "리플"}
self.RESOURCE_PATH = RESOURCE_PATH
con_key = "946dd0b0e6f8ad411144cd33f09518d3" # 본인의 Connect Key를 입력한다.
@@ -527,6 +533,8 @@ class Bithumb_minute(HTS):
for i in range(len(df)):
order = (df['order0'][i], df['order1'][i], df['order2'][i], df['order3'][i])
cancel = self.bithumb.cancel_order(order)
# slackbot에 메시지를 보냄
self.slackBot.post_to_slack(ticker, self.stock_code[ticker], "CANCEL", -1, -1)
log_df = log_df.loc[(log_df.index > now)]
if len(log_df) == 0:
@@ -628,7 +636,12 @@ class Bithumb_minute(HTS):
balance = tmp[2]
#count = round((balance * (bsLine['buy_weight'][len(bsLine['buy_weight']) - 1] / 100)) / bsLine['buy'][len(bsLine['buy']) - 1], 2)
count = round(self.MAX_BUY_PRICE / bsLine['buy'][len(bsLine['buy']) - 1], 2)
# 매수를 요청한다.
order = self.bithumb.buy_limit_order(ticker, bsLine['buy'][len(bsLine['buy']) - 1], count)
# slackbot에 메시지를 보냄
self.slackBot.post_to_slack(ticker, self.stock_code[ticker], "BUY", bsLine['buy'][len(bsLine['buy']) - 1], count)
# order: ('bid', 'BTC', 'C0101000000322993432', 'KRW')
if len(stock1['close']) > 0:
print(ticker, "/", datetime.now().strftime('%Y-%m-%d %H:%M:%S'), "/", stock1['close'][len(stock1['close']) - 1], "/ BUY / ", stock2['slow_k'][len(stock2['slow_k']) - 1], "/", stock1['slow_k'][len(stock1['slow_k']) - 1], "/", bsLine['buy'][len(bsLine['buy']) - 1], "/", count)
@@ -663,7 +676,12 @@ class Bithumb_minute(HTS):
if tmp is None:
return
count = tmp[0]
# 매도를 요청한다.
order = self.bithumb.sell_limit_order(ticker, bsLine['sell'][len(bsLine['sell'])-1], count)
# slackbot에 메시지를 보냄
self.slackBot.post_to_slack(ticker, self.stock_code[ticker], "SELL", bsLine['sell'][len(bsLine['sell']) - 1], count)
if len(order) > 2 and len(stock1['close'])>0:
print(ticker, "/", datetime.now().strftime('%Y-%m-%d %H:%M:%S'), "/", stock1['close'][len(stock1['close']) - 1], "/ SELL / ", stock2['slow_k'][len(stock2['slow_k']) - 1], "/", stock1['slow_k'][len(stock1['slow_k']) - 1], "/", bsLine['sell'][len(bsLine['sell']) - 1], "/", count)
value = {"type": "SELL","order0": order[0], "order1": order[1], "order2": order[2], "order3": order[3], "slow_k_30": stock2['slow_k'][len(stock2['slow_k']) - 1], "slow_k_5": stock1['slow_k'][len(stock1['slow_k']) - 1], "price": bsLine['sell'][len(bsLine['sell']) - 1], "count": count}

View File

@@ -9,6 +9,7 @@ from hts.OrderType import OrderType
from hts.BuySellChecker import BuySellChecker
from hts.OrderChecker import OrderChecker
from stock.util.SlackBot import SlackBot
class HTS_DAILY (HTS):
@@ -22,6 +23,7 @@ class HTS_DAILY (HTS):
def __init__(self, RESOURCE_PATH):
super().__init__(RESOURCE_PATH)
self.slackBot = SlackBot()
self.RESOURCE_PATH = RESOURCE_PATH
self.dailyStatus = DailyStatus(RESOURCE_PATH)
@@ -132,6 +134,8 @@ class HTS_DAILY (HTS):
# 매수를 주문한다.
orderNum = self.requestOrder(OrderType.buy, stock_code, buy_count, bs_buy_price)
# slackbot에 메시지를 보냄
self.slackBot.post_to_slack(stock_code, stock_name, "BUY", bsLine['buy'][len(bsLine['buy']) - 1], buy_count)
self.orderChecker.add(today, stock_code, 1, buy_count, bs_buy_price, orderNum)
# 로그 출력
@@ -143,6 +147,8 @@ class HTS_DAILY (HTS):
if bsLine['sell'][last_index] > 0:
bs_sell_price = bsLine['sell'][last_index]
orderNum = self.getSellingPrice(THIS_TIME, stock_code, bs_sell_price)
# slackbot에 메시지를 보냄
self.slackBot.post_to_slack(stock_code, stock_name, "SELL", bsLine['sell'][len(bsLine['sell']) - 1], -1)
self.orderChecker.delete(today, stock_code)
# 로그 출력

View File

@@ -15,8 +15,9 @@ class SlackBot:
return
def post_to_slack(self, this_time, stock_code, stock_name, type, price, count):
def post_to_slack(self, stock_code, stock_name, type, price, count):
try:
this_time = datetime.now()
text = "DATE TIME:" + this_time.strftime(
'%Y-%m-%d %H:%M:%S') + ", " + "stock_code:" + stock_code + ", " + "stock_name:" + stock_name + ", " + "type:" + type + ", " + "price:" + str(
price) + ", " + "count:" + str(count)