diff --git a/hts/BuySellChecker.py b/hts/BuySellChecker.py index e3b87d6..ab8562a 100644 --- a/hts/BuySellChecker.py +++ b/hts/BuySellChecker.py @@ -304,6 +304,10 @@ class BuySellChecker: if data["macd"][i-3] > data["macd"][i-2] and data["macd"][i-2] > data["macd"][i-1] and data["macd"][i-1] < data["macd"][i]: buy = data["close"][i] + if data["slow_d"][i] > 90 and data["rsi"][i] > 65: + if data["upper"][i] <= data["high"][i]: + sell = data["close"][i] - 5 + return buy, weight, sell diff --git a/hts/HTS_ETF.py b/hts/HTS_252670.py similarity index 99% rename from hts/HTS_ETF.py rename to hts/HTS_252670.py index aa0a9fa..bfba09b 100644 --- a/hts/HTS_ETF.py +++ b/hts/HTS_252670.py @@ -164,7 +164,7 @@ if __name__ == "__main__": # KODEX 인버스 * 2 stock_code = "252670" - buy_count = 120 + buy_count = 100 hts = HTS_252670(stock_code, buy_count) today_str = today.strftime('%Y%m%d') diff --git a/hts/Simulation.py b/hts/Simulation.py index f2b0596..d467adb 100644 --- a/hts/Simulation.py +++ b/hts/Simulation.py @@ -94,7 +94,7 @@ class Simulation: 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') avg3 = go.Scatter(x=data['date'], y=data["avg3"], name="avg3", line_color='#000000') - avg5 = go.Scatter(x=data['date'], y=data["avg5"], name="avg5", line_color='#0A9127') + avg5 = go.Scatter(x=data['date'], y=data["avg5"], name="avg5", line_color='#085F1B') avg10 = go.Scatter(x=data['date'], y=data["avg10"], name="avg10", line_color='#ff00ff') avg20 = go.Scatter(x=data['date'], y=data["avg20"], name="avg20", line_color='#1469F4') avg30 = go.Scatter(x=data['date'], y=data["avg30"], name="avg30", line_color='#FFA500') @@ -181,10 +181,13 @@ class Simulation: if __name__ == "__main__": stock_codes = { - # "252670": ['20220620', '20220621', '20220622', '20220623', '20220624'], - # "122630": ['20220620', '20220621', '20220622', '20220623', '20220624'] - "252670": [('20220620', '20220621')], - "122630": [('20220620', '20220621')] + #"252670": [('20220620', '20220621'), ('20220621', '20220622'), ('20220622', '20220623'), ('20220623', '20220624')], + "122630": [('20220620', '20220621'), + ('20220621', '20220622'), + ('20220622', '20220623'), + ('20220623', '20220624')], + # "252670": [('20220620', '20220621')], + # "122630": [('20220620', '20220621')] } for stock_code in stock_codes: diff --git a/hts/timecheck.csv b/hts/timecheck.csv index cb939a3..1172f90 100644 --- a/hts/timecheck.csv +++ b/hts/timecheck.csv @@ -1,4 +1,6 @@ time, check +090103,False +090203,False 090303,False 090403,False 090503,False diff --git a/stockpredictor/analysis/MACD.py b/stockpredictor/analysis/MACD.py index 32cda52..d7f873b 100644 --- a/stockpredictor/analysis/MACD.py +++ b/stockpredictor/analysis/MACD.py @@ -1,9 +1,5 @@ import pandas as pd from stockpredictor.analysis.Common import Common -from plotly import tools, subplots -import plotly.offline as offline -import plotly.graph_objs as go -import plotly.io as po # [청송촌놈] 파생을 알아야 시장이 보인다. 청송이 종목 고르는법! https://www.youtube.com/watch?v=weABtgZDeGg # 6. Pandas와 Plotly를 이용한 MACD 차트 그리기 https://excelsior-cjh.tistory.com/110 @@ -20,31 +16,6 @@ class MACD: self.common = Common() return - def draw(self, stock): - item_name = stock["NAME"] - item_code = stock["CODE"] - - df = pd.DataFrame(stock["PRICE"]) - macd = go.Scatter(x=df.DATE, y=df['macd'], name="MACD") - signal = go.Scatter(x=df.DATE, y=df['macds'], name="Signal") - oscillator = go.Bar(x=df.DATE, y=df['macdo'], name="oscillator") - trade_volume = go.Bar(x=df.DATE, y=df['volume'], name="volume") - data = [macd, signal, oscillator] - - layout = go.Layout(title='{} MACD 그래프'.format(item_name)) - fig = subplots.make_subplots(rows=2, cols=1, shared_xaxes=True) - - for trace in data: - fig.append_trace(trace, 1,1) - - fig.append_trace(trade_volume, 2,1) - fig = go.Figure(data=data, layout=layout) - - path = "/Users/dsyoon/workspace/StockPredictor/resources/analysis/html" - po.write_html(fig, file=path + "/macd_" + item_code+'.html', auto_open=False) - return fig - - # macd 0선 위에서 매수를 한다. 0이하는 절대 처다보지 않는다. def apply(self, df, short=12, long=26, t=9): # 입력받은 값이 dataframe이라는 것을 정의해줌