From 25a6e77125fb9436f89e2f187113da33e79cfa70 Mon Sep 17 00:00:00 2001 From: dsyoon Date: Tue, 24 Oct 2023 21:54:46 +0900 Subject: [PATCH] init --- Simulation.py | 8 +++++--- hts/BuySellChecker.py | 11 ++++++----- stock/analysis/MACD.py | 6 +++--- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/Simulation.py b/Simulation.py index 4149259..052ff60 100644 --- a/Simulation.py +++ b/Simulation.py @@ -117,12 +117,14 @@ class Simulation (HTS): upper = go.Scatter(x=data['date'], y=data["upper"], name="upper", line_color='#000000') lower = go.Scatter(x=data['date'], y=data["lower"], name="lower", line_color='#000000') + avg5 = go.Scatter(x=data['date'], y=data["avg5"], name="avg5", line_color='#F81191') avg20 = go.Scatter(x=data['date'], y=data["avg20"], name="avg20", line_color='#097F19') avg30 = go.Scatter(x=data['date'], y=data["avg30"], name="avg30", line_color='#097F19') avg60 = go.Scatter(x=data['date'], y=data["avg60"], name="avg60", line_color='#671BEA') avg120 = go.Scatter(x=data['date'], y=data["avg120"], name="avg120", line_color='#DFB809') avg200 = go.Scatter(x=data['date'], y=data["avg200"], name="avg200", line_color='#000000') + laggingSpan = go.Scatter(x=data['date'], y=data["laggingSpan"], name='laggingSpan', line_color='#B50ABB') 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') @@ -152,9 +154,9 @@ class Simulation (HTS): hoverinfo="text" ) - #candle_data = [candle_stick, upper, lower, avg5, avg20, avg30, avg60, avg120, avg200, buy_check, sell_check, laggingSpan, changeLine, baseLine] - candle_data = [candle_stick, avg5, avg20, avg30, avg60, avg200, buy_check, sell_check] - #candle_data = [candle_stick, avg5, avg200, buy_check, sell_check] + #candle_data = [avg5, avg20, avg30, avg60, avg120, avg200, buy_check, sell_check, laggingSpan, changeLine, baseLine, upper, lower, candle_stick] + candle_data = [avg5, avg20, avg30, avg60, avg200, buy_check, sell_check, upper, lower, candle_stick] + #candle_data = [avg5, avg200, buy_check, sell_check, candle_stick] volume_data = [volume_line] disparity_data = [disparity_avg5, disparity_avg20, disparity_avg30, disparity_avg60, disparity_avg120, disparity_avg200] macd_data = [macd_line, macd_s_line, macd_o_line] diff --git a/hts/BuySellChecker.py b/hts/BuySellChecker.py index 42631de..5ae744f 100644 --- a/hts/BuySellChecker.py +++ b/hts/BuySellChecker.py @@ -253,22 +253,22 @@ class BuySellChecker: if stock_code in ("233740"): - if data['macd'][i] < -10: + if data['macd'][i-1] < -30: if data['macd'][i-1] < data['macds'][i-1] and data['macds'][i] < data['macd'][i]: buy, weight = data['close'][i], 3 if stock_code in ("122630"): - if data['macd'][i] < -15: + if data['macd'][i-1] < -30: if data['macd'][i-1] < data['macds'][i-1] and data['macds'][i] < data['macd'][i]: buy, weight = data['close'][i], 2 if stock_code in ("251340"): - if data['macd'][i] < -3: + if data['macd'][i-1] < -7: if data['macd'][i-1] < data['macds'][i-1] and data['macds'][i] < data['macd'][i]: buy, weight = data['close'][i], 3 if stock_code in ("252670"): - if data['macd'][i] < -1: + if data['macd'][i-1] < -4: if data['macd'][i-1] < data['macds'][i-1] and data['macds'][i] < data['macd'][i]: buy, weight = data['close'][i], 3 @@ -369,7 +369,8 @@ class BuySellChecker: slow_d = stochastic_df['slow_d'].values.tolist() # macd - macd_df = self.macd.apply(STOCK, short=12, long=26, t=9) + #macd_df = self.macd.apply(STOCK, short=12, long=26, t=9) + macd_df = self.macd.apply(STOCK, short=5, long=20, t=5) macd = macd_df['macd'].values.tolist() macds = macd_df['macds'].values.tolist() macdo = macd_df['macdo'].values.tolist() diff --git a/stock/analysis/MACD.py b/stock/analysis/MACD.py index 873c12b..488c9bb 100644 --- a/stock/analysis/MACD.py +++ b/stock/analysis/MACD.py @@ -23,9 +23,9 @@ class MACD: df = pd.DataFrame(df) # MACD 관련 수식 - ma_12 = df.close.ewm(span=short).mean() # 단기(12) EMA(지수이동평균) - ma_26 = df.close.ewm(span=long).mean() # 장기(26) EMA - macd = ma_12 - ma_26 # MACD + ma_short = df.close.ewm(span=short).mean() # 단기(12) EMA(지수이동평균) + ma_long = df.close.ewm(span=long).mean() # 장기(26) EMA + macd = ma_short - ma_long # MACD macds = macd.ewm(span=t).mean() # Signal macdo = macd - macds # Oscillator