This commit is contained in:
dsyoon
2022-08-08 23:18:19 +09:00
parent 1176362c8b
commit 2173156d41
3 changed files with 34 additions and 36 deletions

View File

@@ -155,14 +155,6 @@ class BuySellChecker:
if data['slow_k'][i] > 40:
buy, weight, sell = -1, -1, -1
high, low = 0, 0
for c in range(1, 10):
if data['lower'][i-c-1] < data['lower'][i-c]:
high += 1
else:
low += 1
if high > low:
buy, weight, sell = -1, -1, -1
return buy, weight
@@ -207,6 +199,20 @@ class BuySellChecker:
# "15:00" 까지만 매수
return buy, weight
# 5분선이 10분 이상 10분선 아래에 있다가 10분선 위로 올라옴
if i >= 381 + 10:
vaild = True
for c in range(2, 10):
if data["avg5"][i - c] > data["avg10"][i - c]:
vaild = False
break
if vaild:
if data["avg5"][i - 1] >= data["avg10"][i - 1] and data["avg5"][i] >= data["avg10"][i]:
buy = int(data["avg5"][i] - data["avg5"][i]%5)
weight = 1
return self.getBuyCheck(data, i, buy, weight)
"""
# 중위선 20분선 아래에서 볼린져 상단을 뚫고 종료할 때
# (2022-07-06 11:17) (2022-07-07 14:29) (2022-07-08 12:41 12:44) (2022-07-11 13:58)
# (2022-07-13 12:02 12:03) (2022-07-14 10:50) (2022-07-15 09:52)
@@ -328,30 +334,10 @@ class BuySellChecker:
buy = (data["open"][i]+data["close"][i])/2
weight = 7
return self.getBuyCheck(data, i, buy, weight)
"""
# 10분선이 30분 이상 20분선 아래에 있다가 20분선 위로 올라옴
# 이때 3, 5, 10, 20분선의 max-min이 5원 미만이다.
if i > 381 + 20:
vaild = True
max_price = 0
if i > 381 + 30:
last = 30
else:
last = i - 381
for c in range(4, last):
if data["avg10"][i - c] >= data["avg20"][i - c]:
vaild = False
if max_price < data["high"][i - c]:
max_price = data["high"][i - c]
if vaild:
if ((data["avg10"][i-3] > data["avg20"][i-3] and data["avg10"][i-2] > data["avg20"][i-2] and data["avg10"][i-1] > data["avg20"][i-1] and data["avg10"][i] > data["avg20"][i]) or
(abs(data["avg10"][i-3] - data["avg20"][i-3]) < 2 and abs(data["avg10"][i-2] - data["avg20"][i-2]) < 2 and abs(data["avg10"][i-1] - data["avg20"][i-1]) < 2 and abs(data["avg10"][i] - data["avg20"][i])<2)) :
if max(data["avg3"][i], data["avg5"][i], data["avg10"][i], data["avg20"][i]) - min(data["avg3"][i], data["avg5"][i], data["avg10"][i], data["avg20"][i]) <= 5:
if max_price - data["close"][i] >= 30:
buy = data["high"][i]
weight = 10
return self.getBuyCheck(data, i, buy, weight)
"""
@@ -501,7 +487,20 @@ class BuySellChecker:
# "15:00" 까지만 매수
return buy, weight
# 5분선이 10분 이상 10분선 아래에 있다가 10분선 위로 올라옴
if i >= 381 + 10:
vaild = True
for c in range(2, 10):
if data["avg5"][i - c] > data["avg10"][i - c]:
vaild = False
break
if vaild:
if data["avg5"][i - 1] >= data["avg10"][i - 1] and data["avg5"][i] >= data["avg10"][i]:
buy = int(data["avg5"][i] - data["avg5"][i]%5)
weight = 1
return self.getBuyCheck(data, i, buy, weight)
"""
# 30일 이전부터 모든 선이 좁혀졌다 녋혀지면서 다시 상승하며 좁혀짐
if max(data["avg3"][i], data["avg5"][i], data["avg10"][i], data["avg20"][i], data["avg30"][i]) - min(data["avg3"][i], data["avg5"][i], data["avg10"][i], data["avg20"][i]) < 5:
if data["avg3"][i - 1] < data["avg3"][i] and data["macd"][i] < 20:
@@ -672,7 +671,7 @@ class BuySellChecker:
buy = data["high"][i]
weight = 3
return buy, weight
"""
return buy, weight