init
This commit is contained in:
@@ -93,9 +93,9 @@ class Simulation (HTS):
|
|||||||
changeLine = go.Scatter(x=data['date'], y=data["changeLine"], name='changeLine', line_color='#14A200')
|
changeLine = go.Scatter(x=data['date'], y=data["changeLine"], name='changeLine', line_color='#14A200')
|
||||||
baseLine = go.Scatter(x=data['date'], y=data["baseLine"], name='baseLine', line_color='#CF6E0D')
|
baseLine = go.Scatter(x=data['date'], y=data["baseLine"], name='baseLine', line_color='#CF6E0D')
|
||||||
|
|
||||||
candle_stick = go.Candlestick(x=data['date'], open=data['open'], high=data['high'], low=data['low'], close=data['close'], increasing_line_color='red', decreasing_line_color='blue')
|
candle_stick = go.Candlestick(x=data['date'], open=data['open'], high=data['high'], low=data['low'], close=data['close'], increasing_line_color='red', decreasing_line_color='blue', showlegend=False)
|
||||||
volume_line = go.Scatter(x=data['date'], y=data["volume"], mode='lines', name='volume')
|
#volume_line = go.Scatter(x=data['date'], y=data["volume"], mode='lines', name='volume')
|
||||||
#fast_k_line = go.Scatter(x=hts['date'], y=hts["fast_k"], mode='lines', name='fast_k')
|
volume_line = go.Bar(x=data['date'], y=data["volume"], marker_color='red', name='volume')
|
||||||
|
|
||||||
disparity_avg5 = go.Scatter(x=data['date'], y=data["disparity_avg5"], name="disparity_avg5", line_color='#8F8203')
|
disparity_avg5 = go.Scatter(x=data['date'], y=data["disparity_avg5"], name="disparity_avg5", line_color='#8F8203')
|
||||||
disparity_avg10 = go.Scatter(x=data['date'], y=data["disparity_avg10"], name="disparity_avg10", line_color='#089B5B')
|
disparity_avg10 = go.Scatter(x=data['date'], y=data["disparity_avg10"], name="disparity_avg10", line_color='#089B5B')
|
||||||
@@ -103,15 +103,16 @@ class Simulation (HTS):
|
|||||||
disparity_avg60 = go.Scatter(x=data['date'], y=data["disparity_avg60"], name="disparity_avg60", line_color='#1469F4')
|
disparity_avg60 = go.Scatter(x=data['date'], y=data["disparity_avg60"], name="disparity_avg60", line_color='#1469F4')
|
||||||
disparity_avg120 = go.Scatter(x=data['date'], y=data["disparity_avg120"], name="disparity_avg120", line_color='#000000')
|
disparity_avg120 = go.Scatter(x=data['date'], y=data["disparity_avg120"], name="disparity_avg120", line_color='#000000')
|
||||||
|
|
||||||
macd_line = go.Scatter(x=data['date'], y=data["macd"], mode='lines', name='macd')
|
macd_line = go.Scatter(x=data['date'], y=data["macd"], line=dict(color='red', width=2), name='macd')
|
||||||
macd_s_line = go.Scatter(x=data['date'], y=data["macds"], mode='lines', name='macds')
|
macd_s_line = go.Scatter(x=data['date'], y=data["macds"], line=dict(dash='dashdot', color='black', width=2), name='macds')
|
||||||
macd_o_line = go.Scatter(x=data['date'], y=data["macdo"], mode='lines', name='macdo')
|
macd_o_line = go.Bar(x=data['date'], y=data["macdo"], marker_color='purple', name='macdo')
|
||||||
|
|
||||||
slow_k_line = go.Scatter(x=data['date'], y=data["slow_k"], mode='lines', name='slow_k')
|
# fast_k_line = go.Scatter(x=hts['date'], y=hts["fast_k"], mode='lines', name='fast_k')
|
||||||
slow_d_line = go.Scatter(x=data['date'], y=data["slow_d"], mode='lines', name='slow_d')
|
slow_k_line = go.Scatter(x=data['date'], y=data["slow_k"], line=dict(color='red', width=2), name='slow_k')
|
||||||
|
slow_d_line = go.Scatter(x=data['date'], y=data["slow_d"], line=dict(dash='dashdot', color='black', width=2), name='slow_d')
|
||||||
|
|
||||||
rsi_line = go.Scatter(x=data['date'], y=data["rsi"], mode='lines', name='rsi')
|
rsi_line = go.Scatter(x=data['date'], y=data["rsi"], line=dict(color='red', width=2), name='rsi')
|
||||||
rsis_line = go.Scatter(x=data['date'], y=data["rsis"], mode='lines', name='rsis')
|
rsis_line = go.Scatter(x=data['date'], y=data["rsis"], line=dict(dash='dashdot', color='black', width=2), name='rsis')
|
||||||
|
|
||||||
candle_data = [candle_stick, upper, lower, avg3, avg6, avg9, avg12, avg20, buy_check, sell_check, laggingSpan, changeLine, baseLine]
|
candle_data = [candle_stick, upper, lower, avg3, avg6, avg9, avg12, avg20, buy_check, sell_check, laggingSpan, changeLine, baseLine]
|
||||||
volume_data = [volume_line]
|
volume_data = [volume_line]
|
||||||
@@ -127,21 +128,26 @@ class Simulation (HTS):
|
|||||||
fig.show()
|
fig.show()
|
||||||
"""
|
"""
|
||||||
|
|
||||||
fig = subplots.make_subplots(rows=6, cols=1,
|
fig = subplots.make_subplots(
|
||||||
subplot_titles=('캔들', "거래량", "이격도", "MACD", "스토캐스틱", "RSI"),
|
rows=6, cols=1,
|
||||||
row_heights=[1200, 500, 500, 500, 500, 500])
|
subplot_titles=("MACD", "스토캐스틱", "RSI", "거래량", "이격도", '캔들'),
|
||||||
for trace in candle_data:
|
#specs=[[{}], [{}], [{}], [{}], [{}], [{}]],
|
||||||
fig.append_trace(trace, 1, 1)
|
shared_xaxes=True, horizontal_spacing=0.03, vertical_spacing=0.01,
|
||||||
for trace in volume_data:
|
row_heights=[200, 200, 200, 200, 200, 700]
|
||||||
fig.append_trace(trace, 2, 1)
|
)
|
||||||
for trace in disparity_data:
|
|
||||||
fig.append_trace(trace, 3, 1)
|
|
||||||
for trace in macd_data:
|
for trace in macd_data:
|
||||||
fig.append_trace(trace, 4, 1)
|
fig.append_trace(trace, 1, 1)
|
||||||
for trace in stochastic_data:
|
for trace in stochastic_data:
|
||||||
fig.append_trace(trace, 5, 1)
|
fig.append_trace(trace, 2, 1)
|
||||||
for trace in rsi_data:
|
for trace in rsi_data:
|
||||||
|
fig.append_trace(trace, 3, 1)
|
||||||
|
for trace in volume_data:
|
||||||
|
fig.append_trace(trace, 4, 1)
|
||||||
|
for trace in disparity_data:
|
||||||
|
fig.append_trace(trace, 5, 1)
|
||||||
|
for trace in candle_data:
|
||||||
fig.append_trace(trace, 6, 1)
|
fig.append_trace(trace, 6, 1)
|
||||||
|
|
||||||
#fig.update_xaxes(nticks=5)
|
#fig.update_xaxes(nticks=5)
|
||||||
#fig.update_layout(height=1800, title=stock_code + "_" + given_day, xaxis_rangeslider_visible=False)
|
#fig.update_layout(height=1800, title=stock_code + "_" + given_day, xaxis_rangeslider_visible=False)
|
||||||
|
|
||||||
@@ -150,7 +156,8 @@ class Simulation (HTS):
|
|||||||
buy_count = len(df.loc[df["buy"] > 0])
|
buy_count = len(df.loc[df["buy"] > 0])
|
||||||
sell_count = len(df.loc[df["sell"] > 0])
|
sell_count = len(df.loc[df["sell"] > 0])
|
||||||
|
|
||||||
fig.update_layout(height=5000, title=stock_code + "_" + given_day + "_" + str(buy_count)+","+str(sell_count))
|
fig.update_layout(height=1700, title=stock_code + "_" + given_day + "_" + str(buy_count)+","+str(sell_count))
|
||||||
|
#fig.update_layout(title=stock_code + "_" + given_day + "_" + str(buy_count) + "," + str(sell_count))
|
||||||
fig.show()
|
fig.show()
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -198,6 +198,18 @@ class BuySellChecker:
|
|||||||
avg20_list = close_df.rolling(window=20).mean().fillna(close[0]).values.tolist()
|
avg20_list = close_df.rolling(window=20).mean().fillna(close[0]).values.tolist()
|
||||||
avg20 = [item[0] for item in avg20_list]
|
avg20 = [item[0] for item in avg20_list]
|
||||||
|
|
||||||
|
open_df = pd.DataFrame(close)
|
||||||
|
disparity_avg5_list = (open_df / close_df.rolling(window=5).mean()).values.tolist()
|
||||||
|
disparity_avg5 = [item[0] for item in disparity_avg5_list]
|
||||||
|
disparity_avg10_list = (open_df / close_df.rolling(window=10).mean()).values.tolist()
|
||||||
|
disparity_avg10 = [item[0] for item in disparity_avg10_list]
|
||||||
|
disparity_avg20_list = (open_df / close_df.rolling(window=20).mean()).values.tolist()
|
||||||
|
disparity_avg20 = [item[0] for item in disparity_avg20_list]
|
||||||
|
disparity_avg60_list = (open_df / close_df.rolling(window=60).mean()).values.tolist()
|
||||||
|
disparity_avg60 = [item[0] for item in disparity_avg60_list]
|
||||||
|
disparity_avg120_list = (open_df / close_df.rolling(window=120).mean()).values.tolist()
|
||||||
|
disparity_avg120 = [item[0] for item in disparity_avg120_list]
|
||||||
|
|
||||||
# 볼린져 밴드
|
# 볼린져 밴드
|
||||||
df = pd.DataFrame(close)
|
df = pd.DataFrame(close)
|
||||||
max20 = df.rolling(window=20).mean()
|
max20 = df.rolling(window=20).mean()
|
||||||
@@ -251,6 +263,7 @@ class BuySellChecker:
|
|||||||
"date": point_temp,
|
"date": point_temp,
|
||||||
"open": open, "high": high, "low": low, "close": close, "volume": vol,
|
"open": open, "high": high, "low": low, "close": close, "volume": vol,
|
||||||
"avg3": avg3,"avg6": avg6,"avg9": avg9,"avg12": avg12, "avg20": avg20,
|
"avg3": avg3,"avg6": avg6,"avg9": avg9,"avg12": avg12, "avg20": avg20,
|
||||||
|
"disparity_avg5": disparity_avg5, "disparity_avg10": disparity_avg10, "disparity_avg20": disparity_avg20, "disparity_avg60": disparity_avg60, "disparity_avg120": disparity_avg120,
|
||||||
"upper": upper, "lower": lower,
|
"upper": upper, "lower": lower,
|
||||||
"macd": macd, "macds": macds, "macdo": macdo,
|
"macd": macd, "macds": macds, "macdo": macdo,
|
||||||
"fast_k": fast_k, "slow_k": slow_k, "slow_d": slow_d,
|
"fast_k": fast_k, "slow_k": slow_k, "slow_d": slow_d,
|
||||||
|
|||||||
@@ -176,7 +176,7 @@ class AnalyzerSqlite:
|
|||||||
candle_data = [candle_stick, avg3, avg4, avg5, avg6, avg10, avg12, avg20, avg36, avg40, avg48, avg60, avg120, avg240, avg300, bolinger_upper, bolinger_lower, changeLine, baseLine]
|
candle_data = [candle_stick, avg3, avg4, avg5, avg6, avg10, avg12, avg20, avg36, avg40, avg48, avg60, avg120, avg240, avg300, bolinger_upper, bolinger_lower, changeLine, baseLine]
|
||||||
#candle_data = [candle_stick, bolinger_upper, bolinger_lower, changeLine, baseLine]
|
#candle_data = [candle_stick, bolinger_upper, bolinger_lower, changeLine, baseLine]
|
||||||
|
|
||||||
volume = go.Bar(x=ymd, y=volume, name="volume")
|
volume = go.Bar(x=ymd, y=volume, marker_color='red', name="volume")
|
||||||
volume_data = [volume]
|
volume_data = [volume]
|
||||||
|
|
||||||
disparity_avg5 = go.Scatter(x=ymd, y=disparity_avg5, name="disparity_avg5", line_color='#8F8203')
|
disparity_avg5 = go.Scatter(x=ymd, y=disparity_avg5, name="disparity_avg5", line_color='#8F8203')
|
||||||
@@ -187,38 +187,42 @@ class AnalyzerSqlite:
|
|||||||
disparity_data = [disparity_avg5, disparity_avg10, disparity_avg20, disparity_avg60, disparity_avg120]
|
disparity_data = [disparity_avg5, disparity_avg10, disparity_avg20, disparity_avg60, disparity_avg120]
|
||||||
|
|
||||||
# macd
|
# macd
|
||||||
macd_line = go.Scatter(x=ymd, y=macd, mode='lines', name='macd')
|
macd_line = go.Scatter(x=ymd, y=macd, line=dict(color='red', width=2), name='macd')
|
||||||
macd_s_line = go.Scatter(x=ymd, y=macds, mode='lines', name='macds')
|
macd_s_line = go.Scatter(x=ymd, y=macds, line=dict(dash='dashdot', color='black', width=2), name='macds')
|
||||||
macd_o_line = go.Scatter(x=ymd, y=macdo, mode='lines', name='macdo')
|
macd_o_line = go.Bar(x=ymd, y=macdo, marker_color='purple', name='macdo')
|
||||||
macd_data = [macd_line, macd_s_line, macd_o_line]
|
macd_data = [macd_line, macd_s_line, macd_o_line]
|
||||||
|
|
||||||
# stochastic
|
# stochastic
|
||||||
rsi = go.Scatter(x=ymd, y=rsi, name="rsi", line_color='#8B4513')
|
rsi_line = go.Scatter(x=ymd, y=rsi, line=dict(color='red', width=2), name='rsi')
|
||||||
rsis = go.Scatter(x=ymd, y=rsis, name="rsis", line_color='#4169E1')
|
rsis_line = go.Scatter(x=ymd, y=rsis, line=dict(dash='dashdot', color='black', width=2), name='rsis')
|
||||||
rsi_data = [rsi, rsis]
|
rsi_data = [rsi_line, rsis_line]
|
||||||
|
|
||||||
# stochastic
|
# stochastic
|
||||||
slow_k = go.Scatter(x=ymd, y=stochastic_slow_k, name="Slow%K", line_color='#8B4513')
|
stochastic_slow_k_line = go.Scatter(x=ymd, y=stochastic_slow_k, line=dict(color='red', width=2), name='slow_k')
|
||||||
slow_d = go.Scatter(x=ymd, y=stochastic_slow_d, name="Slow%D", line_color='#4169E1')
|
stochastic_slow_d_line = go.Scatter(x=ymd, y=stochastic_slow_d, line=dict(dash='dashdot', color='black', width=2), name='slow_d')
|
||||||
stochastic_data = [slow_k, slow_d]
|
stochastic_data = [stochastic_slow_k_line, stochastic_slow_d_line]
|
||||||
|
|
||||||
fig = subplots.make_subplots(rows=6, cols=1,
|
fig = subplots.make_subplots(
|
||||||
subplot_titles=('캔들', "거래량", "이격도", "MACD", "스토캐스틱", "RSI"),
|
rows=6, cols=1,
|
||||||
row_heights=[1200, 500, 500, 500, 500, 500])
|
subplot_titles=("MACD", "스토캐스틱", "RSI", "거래량", "이격도", '캔들'),
|
||||||
for trace in candle_data:
|
# specs=[[{}], [{}], [{}], [{}], [{}], [{}]],
|
||||||
fig.append_trace(trace, 1, 1)
|
shared_xaxes=True, horizontal_spacing=0.03, vertical_spacing=0.01,
|
||||||
for trace in volume_data:
|
row_heights=[200, 200, 200, 200, 200, 700]
|
||||||
fig.append_trace(trace, 2, 1)
|
)
|
||||||
for trace in disparity_data:
|
|
||||||
fig.append_trace(trace, 3, 1)
|
|
||||||
for trace in macd_data:
|
for trace in macd_data:
|
||||||
fig.append_trace(trace, 4, 1)
|
fig.append_trace(trace, 1, 1)
|
||||||
for trace in stochastic_data:
|
for trace in stochastic_data:
|
||||||
fig.append_trace(trace, 5, 1)
|
fig.append_trace(trace, 2, 1)
|
||||||
for trace in rsi_data:
|
for trace in rsi_data:
|
||||||
|
fig.append_trace(trace, 3, 1)
|
||||||
|
for trace in volume_data:
|
||||||
|
fig.append_trace(trace, 4, 1)
|
||||||
|
for trace in disparity_data:
|
||||||
|
fig.append_trace(trace, 5, 1)
|
||||||
|
for trace in candle_data:
|
||||||
fig.append_trace(trace, 6, 1)
|
fig.append_trace(trace, 6, 1)
|
||||||
|
|
||||||
fig.update_layout(height=2200, xaxis_rangeslider_visible=False)
|
fig.update_layout(height=1700, xaxis_rangeslider_visible=False)
|
||||||
|
|
||||||
return fig
|
return fig
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user