지지 후 돌파 추가

This commit is contained in:
dsyoon
2021-03-26 00:46:13 +09:00
parent 86973af5e4
commit 5ec270bbb9
5 changed files with 110 additions and 45 deletions

View File

@@ -198,6 +198,15 @@ class Common:
return "BEARMARKET#2_"
return ""
def check_stochastic(self, stock, stochastic, i):
if i > 2:
# 스토케스틱이 15 이하인 경우
# 어제보다 slow_k가 상승했고, 오늘 slow_k가 slow_d 위에 있는 경우,
if stochastic[i]['slow_k'] < 15:
if stochastic[i-1]['slow_k'] < stochastic[i]['slow_k'] and stochastic[i]['slow_d'] < stochastic[i]['slow_k']:
return "STOCHASTIC_"
return ""
def check_stochastic_buying(self, stock, stochastic, ichimoku, i):
if i > 3:
# 삼성전자 2020년 11월 4일
@@ -220,17 +229,21 @@ class Common:
return "STOCHASTIC#2_"
return ""
def check_days20_line_buying1(self, stock, i):
def check_days5_20_line_buying(self, stock, i):
"""
5일 선이 20일 선을 뚫고 올라온 순간 체크
5일선이 다시 20선 아래로 내려가는 순간 손걸한다.
"""
if stock[i]['close'] == stock[i]['high']:
# 윗꼬리 없는 양봉이어야 한다.
return ""
if len(stock) > 61:
# 오늘 종가가 20일선을 뚫고 올라왔다. (20일선<오늘종가 and (어제종가<20 or 어제3일선<20))
# 오늘 종가가 20일선을 뚫고 올라왔다. (20일선<오늘종가 and (어제종가<20 or 어제5일선<20))
# 오늘 종가는 양봉이어야 한다.
# 어제부터 index1일까지 20일선이 3일선 위에 있었다.
# index1일부터 index2일까지 3일선이 20일선 위에 있었다.
# 이전 3일선이 20일선을 뚫었던 종가보다 오늘 뚫은 종가가 높거나 혹은 오늘 종가가 더 낮더라도 장대 양봉어어야 한다.
# 어제부터 index1일까지 20일선이 5일선 위에 있었다.
# index1일부터 index2일까지 5일선이 20일선 위에 있었다.
# 이전 5일선이 20일선을 뚫었던 종가보다 오늘 뚫은 종가가 높거나 혹은 오늘 종가가 더 낮더라도 장대 양봉어어야 한다.
# 주봉의 20일 평균이 이전 주봉의 20일 평균 보다 높아야 한다.
if stock[i]['avg20'] < stock[i]['close'] and (stock[i-1]['close'] < stock[i]['avg20'] or stock[i-1]['avg5'] < stock[i]['avg20']):
if (stock[i-3]['avg5'] < stock[i-3]['avg20'] or stock[i-2]['avg5'] < stock[i-2]['avg20'] or stock[i-1]['avg5'] < stock[i-1]['avg20']):
@@ -246,16 +259,20 @@ class Common:
if stock[i-j]['avg5'] < stock[i-j]['avg20']:
index2 = j
break
if (index2 != -1 and ((stock[i-index2+1]['close'] < stock[i]['close']) or (stock[i]['high']-stock[i]['close'] < stock[i]['open']-stock[i]['low']))):
if (index2 != -1 and ((stock[i-index2]['close'] < stock[i]['close']) or (stock[i]['high']-stock[i]['close'] < stock[i]['open']-stock[i]['low']))):
# 주봉의 20일 평균이 이전 주봉의 20일 평균 보다 높아야 한다.
return "5-20_"
return ""
def check_days60_line_buying1(self, stock, i):
def check_days5_60_line_buying(self, stock, i):
"""
5일 선이 60일 선을 뚫고 올라온 순간 체크
5일선이 다시 60선 아래로 내려가는 순간 손걸한다.
"""
if stock[i]['close'] == stock[i]['high']:
# 윗꼬리 없는 양봉이어야 한다.
return ""
if len(stock) > 61:
# 오늘 5일선이 60일선 위에 올라왔다.
# 어제부터 index1일까지 60일선이 5일선 위에 있었다.
@@ -277,11 +294,15 @@ class Common:
return "5-60_"
return ""
def check_days60_line_buying2(self, stock, i):
def check_days20_60_line_buying(self, stock, i):
"""
20일 선이 60일 선을 뚫고 올라온 순간 체크
20일선이 다시 60선 아래로 내려가는 순간 손걸한다.
"""
if stock[i]['close'] == stock[i]['high']:
# 윗꼬리 없는 양봉이어야 한다.
return ""
if len(stock) > 151:
# 오늘 20일선이 60일선 위에 올라왔다.
# 어제부터 index1일까지 60일선이 20일선 위에 있었다.
@@ -303,13 +324,29 @@ class Common:
return "20-60_"
return ""
def check_stochastic(self, stock, stochastic, i):
if i > 2:
# 스토케스틱이 15 이하인 경우
# 어제보다 slow_k가 상승했고, 오늘 slow_k가 slow_d 위에 있는 경우,
if stochastic[i]['slow_k'] < 15:
if stochastic[i-1]['slow_k'] < stochastic[i]['slow_k'] and stochastic[i]['slow_d'] < stochastic[i]['slow_k']:
return "STOCHASTIC_"
def check_days5_120_line_buying(self, stock, i):
if stock[i]['close'] == stock[i]['high']:
# 윗꼬리 없는 양봉이어야 한다.
return ""
"""
5일 선이 120일 선을 뚫고 올라온 순간 체크
"""
if stock[i-1]['close'] < stock[i-1]['avg120']:
if stock[i]['avg120'] < stock[i]['close']:
return "5-120_"
return ""
def check_days5_240_line_buying(self, stock, i):
if stock[i]['close'] == stock[i]['high']:
# 윗꼬리 없는 양봉이어야 한다.
return ""
"""
5일 선이 240일 선을 뚫고 올라온 순간 체크
"""
if stock[i-1]['close'] < stock[i-1]['avg240']:
if stock[i]['avg240'] < stock[i]['close']:
return "5-240_"
return ""