This commit is contained in:
dsyoon
2023-10-24 21:54:46 +09:00
parent 2bd4c60855
commit 25a6e77125
3 changed files with 14 additions and 11 deletions

View File

@@ -117,12 +117,14 @@ class Simulation (HTS):
upper = go.Scatter(x=data['date'], y=data["upper"], name="upper", line_color='#000000') 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') 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') 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') 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') 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') 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') 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') 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') 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') 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')
@@ -152,9 +154,9 @@ class Simulation (HTS):
hoverinfo="text" hoverinfo="text"
) )
#candle_data = [candle_stick, upper, lower, avg5, avg20, avg30, avg60, avg120, avg200, buy_check, sell_check, laggingSpan, changeLine, baseLine] #candle_data = [avg5, avg20, avg30, avg60, avg120, avg200, buy_check, sell_check, laggingSpan, changeLine, baseLine, upper, lower, candle_stick]
candle_data = [candle_stick, avg5, avg20, avg30, avg60, avg200, buy_check, sell_check] candle_data = [avg5, avg20, avg30, avg60, avg200, buy_check, sell_check, upper, lower, candle_stick]
#candle_data = [candle_stick, avg5, avg200, buy_check, sell_check] #candle_data = [avg5, avg200, buy_check, sell_check, candle_stick]
volume_data = [volume_line] volume_data = [volume_line]
disparity_data = [disparity_avg5, disparity_avg20, disparity_avg30, disparity_avg60, disparity_avg120, disparity_avg200] disparity_data = [disparity_avg5, disparity_avg20, disparity_avg30, disparity_avg60, disparity_avg120, disparity_avg200]
macd_data = [macd_line, macd_s_line, macd_o_line] macd_data = [macd_line, macd_s_line, macd_o_line]

View File

@@ -253,22 +253,22 @@ class BuySellChecker:
if stock_code in ("233740"): 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]: if data['macd'][i-1] < data['macds'][i-1] and data['macds'][i] < data['macd'][i]:
buy, weight = data['close'][i], 3 buy, weight = data['close'][i], 3
if stock_code in ("122630"): 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]: if data['macd'][i-1] < data['macds'][i-1] and data['macds'][i] < data['macd'][i]:
buy, weight = data['close'][i], 2 buy, weight = data['close'][i], 2
if stock_code in ("251340"): 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]: if data['macd'][i-1] < data['macds'][i-1] and data['macds'][i] < data['macd'][i]:
buy, weight = data['close'][i], 3 buy, weight = data['close'][i], 3
if stock_code in ("252670"): 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]: if data['macd'][i-1] < data['macds'][i-1] and data['macds'][i] < data['macd'][i]:
buy, weight = data['close'][i], 3 buy, weight = data['close'][i], 3
@@ -369,7 +369,8 @@ class BuySellChecker:
slow_d = stochastic_df['slow_d'].values.tolist() slow_d = stochastic_df['slow_d'].values.tolist()
# macd # 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() macd = macd_df['macd'].values.tolist()
macds = macd_df['macds'].values.tolist() macds = macd_df['macds'].values.tolist()
macdo = macd_df['macdo'].values.tolist() macdo = macd_df['macdo'].values.tolist()

View File

@@ -23,9 +23,9 @@ class MACD:
df = pd.DataFrame(df) df = pd.DataFrame(df)
# MACD 관련 수식 # MACD 관련 수식
ma_12 = df.close.ewm(span=short).mean() # 단기(12) EMA(지수이동평균) ma_short = df.close.ewm(span=short).mean() # 단기(12) EMA(지수이동평균)
ma_26 = df.close.ewm(span=long).mean() # 장기(26) EMA ma_long = df.close.ewm(span=long).mean() # 장기(26) EMA
macd = ma_12 - ma_26 # MACD macd = ma_short - ma_long # MACD
macds = macd.ewm(span=t).mean() # Signal macds = macd.ewm(span=t).mean() # Signal
macdo = macd - macds # Oscillator macdo = macd - macds # Oscillator