From 74365b7d371e21037633723fd65625ff90fa864c Mon Sep 17 00:00:00 2001 From: dsyoon Date: Tue, 24 Jan 2023 19:55:10 +0900 Subject: [PATCH] init --- Bithumb_minute.py | 58 ++++++++++++++++++++--------------------------- 1 file changed, 25 insertions(+), 33 deletions(-) diff --git a/Bithumb_minute.py b/Bithumb_minute.py index d26fae0..71e84e6 100644 --- a/Bithumb_minute.py +++ b/Bithumb_minute.py @@ -349,36 +349,26 @@ class Bithumb_minute(HTS): sell_colors.append("#00ced1") # 그래프를 설정한다. - buy_check = go.Scatter(x=data['ymd'], y=buy_line, mode='markers', name="buy", - marker=dict(size=buy_size, color=buy_colors, line_width=0)) - sell_check = go.Scatter(x=data['ymd'], y=sell_line, mode='markers', name="sell", - marker=dict(size=14, color=sell_colors, line_width=0)) + buy_check = go.Scatter(x=data['ymd'], y=buy_line, mode='markers', name="buy", marker=dict(size=buy_size, color=buy_colors, line_width=0)) + sell_check = go.Scatter(x=data['ymd'], y=sell_line, mode='markers', name="sell", marker=dict(size=14, color=sell_colors, line_width=0)) avg5 = go.Scatter(x=data['ymd'], y=data["avg5"], name="avg5", line_color='#6C2507') avg20 = go.Scatter(x=data['ymd'], y=data["avg20"], name="avg20", line_color='#f84c43') avg60 = go.Scatter(x=data['ymd'], y=data["avg60"], name="avg60", line_color='#f89543') - candle_stick = go.Candlestick(x=data['ymd'], open=data['open'], high=data['high'], low=data['low'], - close=data['close'], increasing_line_color='red', decreasing_line_color='blue', - showlegend=False) + candle_stick = go.Candlestick(x=data['ymd'], open=data['open'], high=data['high'], low=data['low'], close=data['close'], increasing_line_color='red', decreasing_line_color='blue', showlegend=False) macd_line = go.Scatter(x=data['ymd'], y=data["macd"], line=dict(color='red', width=2), name='macd') - macd_s_line = go.Scatter(x=data['ymd'], y=data["macds"], line=dict(dash='dashdot', color='black', width=2), - name='macds') + macd_s_line = go.Scatter(x=data['ymd'], y=data["macds"], line=dict(dash='dashdot', color='black', width=2), name='macds') # fast_k_line = go.Scatter(x=hts['date'], y=hts["fast_k"], mode='lines', name='fast_k') slow_k_line = go.Scatter(x=data['ymd'], y=data["slow_k"], line=dict(color='red', width=2), name='slow_k') - slow_d_line = go.Scatter(x=data['ymd'], y=data["slow_d"], line=dict(dash='dashdot', color='black', width=2), - name='slow_d') + slow_d_line = go.Scatter(x=data['ymd'], y=data["slow_d"], line=dict(dash='dashdot', color='black', width=2), name='slow_d') rsi_line = go.Scatter(x=data['ymd'], y=data["rsi"], line=dict(color='red', width=2), name='rsi') - rsis_line = go.Scatter(x=data['ymd'], y=data["rsis"], line=dict(dash='dashdot', color='black', width=2), - name='rsis') + rsis_line = go.Scatter(x=data['ymd'], y=data["rsis"], line=dict(dash='dashdot', color='black', width=2), name='rsis') - disparity_avg5 = go.Scatter(x=data['ymd'], y=data["disparity_avg5"], name="disparity_avg5", - line_color='#8F8203') - disparity_avg20 = go.Scatter(x=data['ymd'], y=data["disparity_avg20"], name="disparity_avg20", - line_color='#ff00ff') - disparity_avg60 = go.Scatter(x=data['ymd'], y=data["disparity_avg60"], name="disparity_avg60", - line_color='#1469F4') + disparity_avg5 = go.Scatter(x=data['ymd'], y=data["disparity_avg5"], name="disparity_avg5", line_color='#8F8203') + disparity_avg20 = go.Scatter(x=data['ymd'], y=data["disparity_avg20"], name="disparity_avg20", line_color='#ff00ff') + disparity_avg60 = go.Scatter(x=data['ymd'], y=data["disparity_avg60"], name="disparity_avg60", line_color='#1469F4') candle_data = [candle_stick, avg5, avg20, avg60, buy_check, sell_check] disparity_data = [disparity_avg5, disparity_avg20, disparity_avg60] @@ -448,10 +438,10 @@ class Bithumb_minute(HTS): bsLine = {} size = len(data1["close"]) - bsLine['buy'] = [-1 for i in range(size)] - bsLine['buy_weight'] = [-1 for i in range(size)] - bsLine['sell'] = [-1 for i in range(size)] - bsLine['sell_weight'] = [-1 for i in range(size)] + bsLine['buy'] = [-1.0 for i in range(size)] + bsLine['buy_weight'] = [-1.0 for i in range(size)] + bsLine['sell'] = [-1.0 for i in range(size)] + bsLine['sell_weight'] = [-1.0 for i in range(size)] for i in range(size): if isRealTime: @@ -460,18 +450,19 @@ class Bithumb_minute(HTS): if i > 10: - if data1['slow_k'][i] < 20 and data1['slow_k'][i - 1] < data1['slow_d'][i - 1] and data1['slow_d'][i] < data1['slow_k'][i]: - buy = data1['low'][i] - data1['buy'][i] = buy - bsLine['buy'][i] = buy - bsLine['buy_weight'][i] = 3 + if data1['slow_k'][i] < 20: + if data1['slow_k'][i - 1] < data1['slow_d'][i - 1] and data1['slow_d'][i] < data1['slow_k'][i]: + buy = data1['low'][i] + data1['buy'][i] = buy + bsLine['buy'][i] = buy + bsLine['buy_weight'][i] = 2.0 if data2['slow_k'][i] < 30 and data1['slow_k'][i] < 30: if data1['slow_k'][i-1] < data1['slow_d'][i-1] and data1['slow_d'][i] < data2['slow_k'][i]: buy = data1['close'][i] data1['buy'][i] = buy bsLine['buy'][i] = buy - bsLine['buy_weight'][i] = 3 + bsLine['buy_weight'][i] = 2.0 if data2['slow_k'][i] < 30: @@ -480,12 +471,13 @@ class Bithumb_minute(HTS): buy = data1['close'][i] data1['buy'][i] = buy bsLine['buy'][i] = buy - bsLine['buy_weight'][i] = 1 - else: + bsLine['buy_weight'][i] = 1.0 + + if data1['slow_k'][i-1] < data1['slow_d'][i-1] and data1['slow_d'][i] < data2['slow_k'][i]: buy = data1['close'][i] data1['buy'][i] = buy bsLine['buy'][i] = buy - bsLine['buy_weight'][i] = 0.1 + bsLine['buy_weight'][i] = 1.5 """ if data2['slow_k'][i] > 90: if (data1['slow_d'][i-1] < data1['slow_k'][i-1] and data1['slow_k'][i] < data1['slow_d'][i]): @@ -600,7 +592,7 @@ class Bithumb_minute(HTS): log_df.set_index('datetime', inplace=True) # 10분이 지난 미체결은 취소한다. - log_df = self.cancel_order(log_df, log_filename, 5) + log_df = self.cancel_order(log_df, log_filename, 10) if isRealTime: if max(bsLine['buy'][len(bsLine['buy']) - 2:]) > 100: tmp = self.bithumb.get_balance(ticker)