This commit is contained in:
dsyoon
2023-11-01 00:16:52 +09:00
parent 08b5915d89
commit 03cbec5803
7 changed files with 93 additions and 77 deletions

View File

@@ -215,61 +215,40 @@ class BuySellChecker:
return buy, weight
def getBuyPriceAndWeight(self, stock_code, i, data):
buy, weight = -1, -1
if i > 40:
"""
up, up_volume, down, down_volume = 0, 0, 0, 0
for c in range(i-26, i):
if data['open'][c] < data['close'][c]:
up += 1
up_volume += data['volume'][c]
if data['close'][c] < data['open'][c]:
down += 1
down_volume += data['volume'][c]
if down_volume < up_volume * 0.75:
buy, weight = data['close'][i], 1
"""
if i > 50:
if data['macd'][i] < 0 and data['macd'][i - 1] < data['macd'][i] and data['macds'][i] < data['macd'][i]:
check = True
for c in range(2, 5):
if data['macds'][i - c] < data['macd'][i - c]:
check = False
break
if check:
up, middle, down = 0, 0, 0
for c in range(i - 26, i):
if data['open'][c] < data['close'][c]:
min_value = min(data['open'][c], data['close'][c])
if data['laggingSpan'][c] < min_value:
down += 1
elif min_value < data['laggingSpan'][c]:
up += 1
else:
middle += 1
if middle < 10:
check = True
for c in range(i - 56, i - 26):
if min(data['open'][c], data['close'][c]) < data['laggingSpan'][c]:
check = False
break
if check:
if max(data['low'][i - 5:i].tolist() + data['high'][i - 5:i].tolist()) < data['close'][i]:
buy, weight = data['close'][i], 1
if stock_code == '233740':
if data['macd'][i-2] < 0 and 0 < data['macd'][i-1] and 0 < data['macd'][i]:
if data['volume'][i - 2] < data['volume'][i - 1] < data['volume'][i]:
if min(data['macd'][i-30:i].tolist()) < -50:
buy, weight = data['close'][i], 1
check = True
for c in range(i - 40 - 26, i - 26):
if min(data['open'][c], data['close'][c]) < data['laggingSpan'][c]:
check = False
break
if check:
if max(data['low'][i - 5:i].tolist() + data['high'][i - 5:i].tolist()) < data['close'][i]:
buy, weight = data['close'][i], 1
if min(data['macd'][i-5:i].tolist()) < min(data['macd'][i-15:i-10].tolist()) < -50:
if -50 < max(data['macd'][i-15:i-7].tolist()):
buy, weight = data['close'][i], 1
elif stock_code == '122630':
if data['macd'][i - 2] < 0 and 0 < data['macd'][i - 1] and 0 < data['macd'][i]:
if data['volume'][i - 2] < data['volume'][i - 1] < data['volume'][i]:
if min(data['macd'][i - 30:i].tolist()) < -25:
buy, weight = data['close'][i], 1
if min(data['macd'][i-5:i].tolist()) < min(data['macd'][i - 15:i - 10].tolist()) < -30:
if -20 < max(data['macd'][i - 15:i - 7].tolist()):
buy, weight = data['close'][i], 1
elif stock_code == '252670':
if min(data['macd'][i - 40:i - 20].tolist()) < -5 < data['macd'][i]:
if data['close'][i] < min(data['close'][i - 40:i - 20].tolist()):
buy, weight = data['close'][i], 1
elif stock_code == '251340':
if min(data['macd'][i-40:i-20].tolist()) < -20 < data['macd'][i]:
if data['close'][i] < min(data['close'][i-40:i-20].tolist()):
buy, weight = data['close'][i], 1
return buy, weight