init
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user