This commit is contained in:
dosang.yoon
2022-06-24 21:25:57 +09:00
parent 0d523678a6
commit 0b4a87b334
5 changed files with 176 additions and 281 deletions

View File

@@ -269,7 +269,7 @@ class BuySellChecker:
if data["slow_k"][i] <= 35:
if (data["close"][i] - data["lower"][i]) / (data["upper"][i] - data["lower"][i]) < 0.35:
if data["slow_k"][i - 1] < data["slow_d"][i - 1] and data["slow_d"][i] < data["slow_k"][i]:
if data['avg3'][i] < data['avg2'][i]:
if data['avg10'][i] < data['avg5'][i]:
if data["open"][i] < data["close"][i]:
buy = data["close"][i]
else:
@@ -281,7 +281,7 @@ class BuySellChecker:
if data["slow_k"][i] <= 30:
if (data["close"][i] - data["lower"][i]) / (data["upper"][i] - data["lower"][i]) < 0.35:
if data["slow_k"][i - 1] < data["slow_d"][i - 1] and data["slow_d"][i] < data["slow_k"][i]:
if data['avg3'][i] < data['avg2'][i]:
if data['avg10'][i] < data['avg5'][i]:
if data["close"][i] < data["avg5"][i]:
buy = data["close"][i]
else:
@@ -370,6 +370,8 @@ class BuySellChecker:
vol = result["vol"]
close_df = pd.DataFrame(close)
avg2_list = close_df.rolling(window=2).mean().fillna(close[0]).values.tolist()
avg2 = [item[0] for item in avg2_list]
avg5_list = close_df.rolling(window=5).mean().fillna(close[0]).values.tolist()
avg5 = [item[0] for item in avg5_list]
avg10_list = close_df.rolling(window=10).mean().fillna(close[0]).values.tolist()
@@ -399,24 +401,24 @@ class BuySellChecker:
STOCK = []
for i in range(len(open)):
STOCK.append({'volume': vol[i], 'close': close[i], 'open': open[i], 'high': high[i], 'low': low[i],
'avg5': avg5[i],'avg10': avg10[i],'avg30': avg30[i],'avg60': avg60[i]})
'avg2': avg2[i], 'avg5': avg5[i],'avg10': avg10[i],'avg30': avg30[i],'avg60': avg60[i]})
# stochastic 계산
stochastic_df = self.stochastic.apply(STOCK, n=12, m=5, t=5)
stochastic_df = self.stochastic.apply(STOCK, n=30, m=5, t=5)
stochastic_df = stochastic_df.fillna(100)
fast_k = stochastic_df['fast_k'].values.tolist()
slow_k = stochastic_df['slow_k'].values.tolist()
slow_d = stochastic_df['slow_d'].values.tolist()
# rsi 계산
rsi_df = self.rsi.apply(STOCK, period=14, window=9)
rsi_df = self.rsi.apply(STOCK, period=30, window=5)
rsi_df = rsi_df.fillna(100)
rsi = rsi_df['rsi'].values.tolist()
rsis = rsi_df['rsis'].values.tolist()
temp = {"date": point_temp,
"open": open, "high": high, "low": low, "close": close, "volume": vol, "upper": upper, "lower": lower,
"avg5": avg5, "avg10": avg10, "avg30": avg30, "avg60": avg60,
"avg2": avg2, "avg5": avg5, "avg10": avg10, "avg30": avg30, "avg60": avg60,
"fast_k": fast_k, "slow_k": slow_k, "slow_d": slow_d, "rsi": rsi, "rsis": rsis}
data = pd.DataFrame(temp)
df_final_time = pd.DatetimeIndex(point_temp)