init
This commit is contained in:
@@ -408,6 +408,8 @@ class AnalyzerSqlite:
|
|||||||
self.makeDir("-2_캔들_기준선_아래로_내려옴")
|
self.makeDir("-2_캔들_기준선_아래로_내려옴")
|
||||||
self.makeDir("-3_후행스팬_캔들_아래로_내려옴")
|
self.makeDir("-3_후행스팬_캔들_아래로_내려옴")
|
||||||
|
|
||||||
|
self.makeDir("1_거래량_상승")
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
def writeFile(self, type, CODE, NAME, stock, state):
|
def writeFile(self, type, CODE, NAME, stock, state):
|
||||||
@@ -420,8 +422,27 @@ class AnalyzerSqlite:
|
|||||||
po.write_html(fig, file=fileName, auto_open=False)
|
po.write_html(fig, file=fileName, auto_open=False)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
def checkVolume(self, p_volume, volume):
|
||||||
|
if p_volume < 10000 and p_volume * 50 < volume:
|
||||||
|
return True
|
||||||
|
if p_volume < 50000 and p_volume * 20 < volume:
|
||||||
|
return True
|
||||||
|
if p_volume < 100000 and p_volume * 15 < volume:
|
||||||
|
return True
|
||||||
|
if p_volume < 200000 and p_volume * 7 < volume:
|
||||||
|
return True
|
||||||
|
if p_volume < 700000 and p_volume * 5 < volume:
|
||||||
|
return True
|
||||||
|
if p_volume < 1000000 and p_volume * 4 < volume:
|
||||||
|
return True
|
||||||
|
if p_volume < 5000000 and p_volume * 3 < volume:
|
||||||
|
return True
|
||||||
|
if p_volume > 5000000 and p_volume * 2 < volume:
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
# 후보 찾기
|
# 후보 찾기
|
||||||
def findCandidate(self, outPath):
|
def findCandidate(self, outPath):
|
||||||
self.makeDirectory(outPath)
|
self.makeDirectory(outPath)
|
||||||
|
|
||||||
stockTableName = 'stock'
|
stockTableName = 'stock'
|
||||||
@@ -663,7 +684,9 @@ class AnalyzerSqlite:
|
|||||||
type = "-3_후행스팬_캔들_아래로_내려옴"
|
type = "-3_후행스팬_캔들_아래로_내려옴"
|
||||||
self.writeFile(type, CODE, NAME, stock, state)
|
self.writeFile(type, CODE, NAME, stock, state)
|
||||||
|
|
||||||
|
if self.checkVolume(volume[1], volume[0]):
|
||||||
|
type = "1_거래량_상승"
|
||||||
|
self.writeFile(type, CODE, NAME, stock, state)
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -760,7 +783,8 @@ class AnalyzerSqlite:
|
|||||||
self.stochastic.analyze(stock)
|
self.stochastic.analyze(stock)
|
||||||
self.bolingerBand.analyze(stock)
|
self.bolingerBand.analyze(stock)
|
||||||
|
|
||||||
for price in stock["PRICE"]:
|
sorted_stock = sorted(stock["PRICE"], key=lambda x: x['ymd'], reverse=True)
|
||||||
|
for price in sorted_stock:
|
||||||
cursor.execute('SELECT * FROM ' + stockAnalysisTableName + ' WHERE CODE=? and ymd=?', (stock['CODE'], price['ymd'],))
|
cursor.execute('SELECT * FROM ' + stockAnalysisTableName + ' WHERE CODE=? and ymd=?', (stock['CODE'], price['ymd'],))
|
||||||
result = cursor.fetchone()
|
result = cursor.fetchone()
|
||||||
if result == None:
|
if result == None:
|
||||||
|
|||||||
@@ -232,7 +232,7 @@ class StockCrawler:
|
|||||||
break
|
break
|
||||||
df = df.append(html[0], ignore_index=True)
|
df = df.append(html[0], ignore_index=True)
|
||||||
df = df.dropna()
|
df = df.dropna()
|
||||||
if lastPage or len(df) < 1 or df.날짜[0]=='':
|
if (lastPage) or (len(df) < 1) or ("날짜" not in df) or (df.날짜[1]==''):
|
||||||
print("\t- lastpage:", page)
|
print("\t- lastpage:", page)
|
||||||
break
|
break
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user