init
This commit is contained in:
@@ -409,13 +409,15 @@ class AnalyzerSqlite:
|
||||
os.mkdir(outPath)
|
||||
|
||||
self.makeDir("monthly_env_하단_rsi_50")
|
||||
self.makeDir("monthly_env_상단")
|
||||
self.makeDir("monthly_env_상단_volume")
|
||||
self.makeDir("monthly_mv_5_20")
|
||||
self.makeDir("monthly_mv_20_60")
|
||||
|
||||
self.makeDir("weekly_env_상단_volume")
|
||||
self.makeDir("weekly_mv_5_20")
|
||||
self.makeDir("weekly_mv_20_60")
|
||||
|
||||
self.makeDir("daily_env_상단_volume")
|
||||
self.makeDir("daily_이전에_없던_거래량")
|
||||
self.makeDir("daily_이격도")
|
||||
#self.makeDir("daily_EV하단_내려옴")
|
||||
@@ -472,9 +474,9 @@ class AnalyzerSqlite:
|
||||
self.writeFile(dir_name, CODE, NAME, top, stock_monthly, log)
|
||||
|
||||
# ENV 상단 상향 돌파
|
||||
check = self.common.check_env_upper(stock_monthly)
|
||||
check = self.common.check_env_upper_volume(stock_monthly)
|
||||
if check:
|
||||
dir_name = "monthly_env_상단"
|
||||
dir_name = "monthly_env_상단_volume"
|
||||
log = "RSI_" + "{:.2f}".format(stock_monthly['rsi'][0])
|
||||
self.writeFile(dir_name, CODE, NAME, top, stock_monthly, log)
|
||||
|
||||
@@ -495,6 +497,13 @@ class AnalyzerSqlite:
|
||||
# Weekly 체크
|
||||
if len(stock_weekly['volume']) > 40:
|
||||
|
||||
# ENV 상단 상향 돌파
|
||||
check = self.common.check_env_upper_volume(stock_weekly)
|
||||
if check:
|
||||
dir_name = "Weekly_env_상단_volume"
|
||||
log = "RSI_" + "{:.2f}".format(stock_weekly['rsi'][0])
|
||||
self.writeFile(dir_name, CODE, NAME, top, stock_weekly, log)
|
||||
|
||||
# 5주
|
||||
check = self.common.check_mv_5_20(stock_weekly)
|
||||
if check:
|
||||
@@ -512,6 +521,13 @@ class AnalyzerSqlite:
|
||||
# 2) daily
|
||||
if len(stock_daily['volume']) > 100:
|
||||
|
||||
# ENV 상단 상향 돌파
|
||||
check = self.common.check_env_upper_volume(stock_daily)
|
||||
if check:
|
||||
dir_name = "Daily_env_상단_volume"
|
||||
log = "RSI_" + "{:.2f}".format(stock_daily['rsi'][0])
|
||||
self.writeFile(dir_name, CODE, NAME, top, stock_daily, log)
|
||||
|
||||
# 52주 200일 기준 평균 + 50% 보다 높은 거래량의 경우
|
||||
check, log = self.common.check_volume(stock_daily)
|
||||
if check:
|
||||
|
||||
@@ -506,6 +506,23 @@ class Common:
|
||||
return True
|
||||
return False
|
||||
|
||||
def check_env_upper_volume(self, stock):
|
||||
c_index = 200
|
||||
check = True
|
||||
max_volume = max(stock['volume'][1:c_index + 1])
|
||||
if 0 < max_volume < stock['volume'][0] and stock['close'][1] < stock['close'][0]:
|
||||
check = True
|
||||
|
||||
c_index = 20
|
||||
sum_volume = sum(stock['volume'][1:c_index + 1])
|
||||
avg_volume = sum_volume / c_index
|
||||
if (avg_volume * 5) < stock['volume'][0] and stock['close'][1] < stock['close'][0]:
|
||||
check = True
|
||||
|
||||
if check and stock['close'][1] < stock['envelope_upper'][1] and stock['envelope_upper'][0] < stock['close'][0]:
|
||||
return True
|
||||
return False
|
||||
|
||||
def check_mv_5_20(self, stock):
|
||||
if stock['avg5'][1] < stock['avg20'][1] and stock['avg20'][0] < stock['avg5'][0]:
|
||||
return True
|
||||
|
||||
Reference in New Issue
Block a user