This commit is contained in:
dosangyoon
2022-08-07 17:46:06 +09:00
parent 655eedc421
commit 57a906bc08
5 changed files with 53 additions and 26 deletions

View File

@@ -151,7 +151,17 @@ class BuySellChecker:
def getBuyCheck(self, data, i, buy, weight):
if data['close'][i]<data['avg3'][i]<data['avg5'][i]<data['avg10'][i]<data['avg20'][i]<data['avg30'][i]:
buy, weight, sell = -1, -1, -1
if data['slow_k'][i]>40:
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
@@ -161,21 +171,21 @@ class BuySellChecker:
def isYangbong(self, data, i):
if data['close'][i] > data['open'][i]:
return True
if data['close'][i] == data['open'][i]:
if data['low'][i] < data['close'][i] == data['high'][i]:
else:
if data['low'][i] < data['close'][i] == data['open'][i] == data['high'][i]:
return True
if data['low'][i] < data['open'][i] == data['close'][i] < data['high'][i]:
return True
if data['low'][i] < data['open'][i] == data['close'][i] < data['high'][i]:
return True
return False
def isUmbong(self, data, i):
if data['close'][i] < data['open'][i]:
return True
if data['close'][i] == data['open'][i]:
if data['close'][i] == data['low'][i] < data['high'][i]:
else:
if data['low'][i] == data['close'][i] == data['open'][i] < data['high'][i]:
return True
if data['low'][i] < data['open'][i] == data['close'][i] < data['high'][i]:
return True
if data['low'][i] < data['open'][i] == data['close'][i] < data['high'][i]:
return True
return False
@@ -237,7 +247,7 @@ class BuySellChecker:
if data["open"][i-2] < data["close"][i-2] and data["open"][i-1] <= data["close"][i-1] and data["open"][i] < data["close"][i]:
umbong = 0
for c in range(13, 3, -1):
if data['close'][i-c] <= data['open'][i-c]:
if (data['close'][i-c] < data['open'][i-c] or data['close'][i-c] == data['open'][i-c] == data['low'][i-c] < data['high'][i-c]):
umbong += 1
if umbong >= 8:
if data["open"][i] < data["open"][i-10]:
@@ -343,6 +353,7 @@ class BuySellChecker:
weight = 10
return self.getBuyCheck(data, i, buy, weight)
"""
# 이동선을 이용한 매매
# 20분선이 30분선에 돌파 후 지지하는지 확인하고 해당 시점이 양봉이면 매수함
@@ -412,7 +423,7 @@ class BuySellChecker:
valid = False
break
if valid:
sell = int((data["open"][i] + data["close"][i])/2)
sell = data["high"][i]
return sell, weight
@@ -424,13 +435,13 @@ class BuySellChecker:
valid = False
break
if valid:
sell = int((data["open"][i] + data["close"][i])/2)
sell = data["high"][i]
return sell, weight
# rsi와 rsis가 75이상에서 slow_k가 slow_d 아래롸 내려온 경우
if data["rsi"][i] >= 70 and data["rsis"][i] >= 70:
if data["rsi"][i-1] > data["rsis"][i-1] and data["rsi"][i] < data["rsis"][i]:
sell = int((data["open"][i] + data["close"][i]) / 2)
sell = data["high"][i]
return sell, weight
@@ -438,11 +449,9 @@ class BuySellChecker:
if data["slow_k"][i] >= 90 and data["slow_d"][i] >= 90:
if data["slow_k"][i-1] > data["slow_d"][i-1] and data["slow_k"][i] < data["slow_d"][i]:
if data["avg3"][i] < data["avg5"][i]:
sell = int((data["open"][i] + data["close"][i]) / 2)
sell = data["high"][i]
if data.index[i].strftime("%H:%M") < "12:00" and data['rsis'][i] < 70:
return -1, -1
return sell, weight
# 양봉 5개 이후 음봉이 나온 경우
@@ -456,7 +465,7 @@ class BuySellChecker:
if data["avg30"][i-1] < data["avg20"][i-1] < data["avg10"][i-1] < data["avg5"][i-1] < data["avg3"][i-1]:
if data["close"][i] < data["open"][i] and data["low"][i] < data["low"][i-1]:
if data["slow_k"][i] >= 95:
sell = data["close"][i]
sell = data["high"][i]
weight = 1
return sell, weight
@@ -466,7 +475,7 @@ class BuySellChecker:
(data["high"][i-3] > data["upper"][i-3] or data["high"][i-3] > data["avg3"][i-3] > data["avg5"][i-3] > data["avg10"][i-3] > data["avg20"][i-3] > data["avg30"][i-3])):
if self.isUmbong(data, i-2) and self.isUmbong(data, i-1) and self.isUmbong(data, i):
if data["slow_k"][i] >= 80:
sell = data["low"][i]
sell = int((data["high"][i] + data["low"][i])/2)
weight = 1
return sell, weight