This commit is contained in:
dosangyoon
2021-10-17 22:28:11 +09:00
parent 20591c7a17
commit cb60a54f3f
2 changed files with 33 additions and 40 deletions

View File

@@ -195,55 +195,47 @@ class BuySellChecker:
# 3. 2시 이후에는 최고가가 볼린져밴드 상단 위에 있으면 매도한다.
if i > 300 and data["High"][i] > data["upper"][i]:
sell = data["High"][i]
################
### buy 분석 ###
################
# 1. slow_k가 10 아래 있으면 매수한다.
if i < 30:
##########################
### STOCHASTIC buy 분석 ###
##########################
if i < 40:
if data["slow_k"][i] <= 10:
if data["Close"][i] < data["avg5"][i]:
buy = data["Close"][i]
else:
buy = data["Low"][i]
elif 30 <= i < 60:
if data["slow_k"][i] <= 15:
if data["Close"][i] < data["avg5"][i]:
buy = data["Close"][i]
else:
buy = data["Low"][i]
if data["slow_k"][i - 1] < data["slow_d"][i - 1] and data["slow_d"][i] < data["slow_k"][i]:
if data["Close"][i] < data["avg5"][i]:
buy = data["Close"][i]
else:
buy = data["Low"][i]
else:
if data["slow_k"][i] <= 20:
if data["Close"][i] < data["avg5"][i]:
buy = data["Close"][i]
else:
buy = data["Low"][i]
if data["rsi"][i-1] < 10 and data["rsi"][i-1] < data["rsis"][i-1] and data["rsis"][i] < data["rsi"][i]:
if data["Close"][i] < data["avg5"][i]:
buy = data["Close"][i]
else:
buy = data["Low"][i]
##################
### weight 분석 ###
##################
# rsi가 rsis 위로 올라오며 15 이하일 경우 10배로 주문함 (14:30 이전)
if data["rsi"][i] < 15 and data["rsis"][i] < 15 and data["rsi"][i - 1] < data["rsis"][i - 1] and data["rsis"][i] < data["rsi"][i]:
buy = data["Low"][i]
weight = 4
if data["rsi"][i] < 10:
weight = 4
if data["slow_k"][i] <= 35:
if data["slow_k"][i-1] < data["slow_d"][i-1] and data["slow_d"][i] < data["slow_k"][i]:
if data["Close"][i] < data["avg5"][i]:
buy = data["Close"][i]
else:
buy = data["Low"][i]
#############################
### STOCHASTIC weight 분석 ###
#############################
if data["slow_k"][i] in (0, 1, 2, 3):
weight = 4
if data["slow_k"][i] in (4, 5, 6, 7):
if data["slow_k"][i] in (4, 5, 6, 7, 8):
weight = 3
elif data["slow_k"][i] in (8, 9, 10, 11, 12, 13):
elif data["slow_k"][i] in (9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20):
weight = 2
elif data["slow_k"][i] in (14, 15, 16, 17, 18, 19, 20):
elif data["slow_k"][i] in (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35):
weight = 1
###################
### RSI buy 분석 ###
###################
if data["rsi"][i - 1] < data["rsis"][i - 1] and data["rsis"][i] < data["rsi"][i]:
if data["Close"][i] < data["avg5"][i]:
buy = data["Close"][i]
else:
buy = data["Low"][i]
weight = 3
return buy, weight, sell
def getPriceAndWeight2(self, data, i):

View File

@@ -169,6 +169,7 @@ if __name__ == "__main__":
'20210930','20211001', '20211005','20211006', '20211007','20211008', '20211012','20211013', '20211014']
simulation = Simulation()
given_days = sorted(given_days, reverse=True)
for given_day in given_days:
simulation.simulate(stock_codes[0], given_day)