feat: impl index html
This commit is contained in:
parent
e28ff3afa4
commit
cd7722ac5b
11
app.py
11
app.py
@ -3,10 +3,17 @@ import flask
|
||||
|
||||
app = flask.Flask(__name__)
|
||||
|
||||
@app.route("/<m>")
|
||||
def index(m:str):
|
||||
|
||||
@app.route("/dist/<m>")
|
||||
def distServe(m:str):
|
||||
return flask.send_from_directory("dist", m)
|
||||
|
||||
@app.route("/")
|
||||
def index():
|
||||
import pages
|
||||
return flask.render_template("index.html", pages = pages.GenLists)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
app.run(host='0.0.0.0', port=12001, debug=True)
|
||||
|
||||
|
39
gen.py
39
gen.py
@ -86,42 +86,9 @@ def isDiffGreaterThan(a:pd.Series,b:pd.Series, nday:int) -> bool:
|
||||
return (a.iloc[nday] > b.iloc[nday])
|
||||
|
||||
def prepareCollector(collector: OutputCollector) -> None:
|
||||
collector.addResult("cross 2", """\
|
||||
5일선과 20일선이 서로 만나는 시점 즉 상대 오차가 1% 이하이고
|
||||
5일선과 60일선이 서로 만나는 시점을 찾습니다.
|
||||
""")
|
||||
collector.addResult("cross 3", """\
|
||||
cross 2의 조건에서 더해서 거래량이 이전 날짜보다 3배 증가하고
|
||||
100000 이상인 시점을 찾습니다.
|
||||
""")
|
||||
collector.addResult("cross 4", """\
|
||||
20일선과 60일선이 서로 만나는 시점 즉 상대 오차가 1% 이하이고
|
||||
거래량이 1000000 이상인 시점을 찾습니다.
|
||||
""")
|
||||
collector.addResult("d20d5", """\
|
||||
5일선이 20선보다 큰 시점을 찾습니다.
|
||||
""")
|
||||
collector.addResult("d20d5VolumeX5", """\
|
||||
d20d5의 조건에서 더해서 거래량이 이전 날짜보다 5배 증가한 시점을 찾습니다.
|
||||
""")
|
||||
collector.addResult("DiffDistance", """\
|
||||
5일선과 20일선이 서로 만나는 시점 즉 상대 오차가 3% 이하이고
|
||||
5일선과 60일선이 서로 만나고 거래량이 이전 날짜보다 3배 증가한
|
||||
시점을 찾습니다.
|
||||
""")
|
||||
collector.addResult("volume", """\
|
||||
거래량이 이전 날짜보다 3배 증가한 시점을 찾습니다.
|
||||
""")
|
||||
collector.addResult("volume5", """\
|
||||
거래량과 가격의 곱이 50,000,000,000 이상인 시점을 찾습니다.
|
||||
""")
|
||||
collector.addResult("volumeX5", """\
|
||||
거래량이 이전 날짜보다 5배 증가한 시점을 찾습니다.
|
||||
""")
|
||||
collector.addResult("macd", """\
|
||||
signal과 macd가 서로 교차한 시점을 찾습니다. 즉 signal이 아래로 떨어지고
|
||||
macd가 위로 올라가는 시점을 찾습니다.
|
||||
""")
|
||||
import pages
|
||||
for item in pages.GenLists:
|
||||
collector.addResult(item.name, item.description)
|
||||
|
||||
def collect(data: DataStore, collector: OutputCollector, corp: database.KRXCorp
|
||||
, nday: int) -> None:
|
||||
|
40
pages.py
Normal file
40
pages.py
Normal file
@ -0,0 +1,40 @@
|
||||
name = "name"
|
||||
desc = "description"
|
||||
|
||||
GenLists = [{name:"cross 2", desc:"""\
|
||||
5일선과 20일선이 서로 만나는 시점 즉 상대 오차가 1% 이하이고
|
||||
5일선과 60일선이 서로 만나는 시점을 찾습니다.
|
||||
"""},
|
||||
{name:"cross 3",desc: """\
|
||||
cross 2의 조건에서 더해서 거래량이 이전 날짜보다 3배 증가하고
|
||||
100000 이상인 시점을 찾습니다.
|
||||
"""},
|
||||
{name:"cross 4",desc: """\
|
||||
20일선과 60일선이 서로 만나는 시점 즉 상대 오차가 1% 이하이고
|
||||
거래량이 1000000 이상인 시점을 찾습니다.
|
||||
"""},
|
||||
{name:"d20d5",desc: """\
|
||||
5일선이 20선보다 큰 시점을 찾습니다.
|
||||
"""},
|
||||
{name:"d20d5VolumeX5",desc: """\
|
||||
d20d5의 조건에서 더해서 거래량이 이전 날짜보다 5배 증가한 시점을 찾습니다.
|
||||
"""},
|
||||
{name:"DiffDistance",desc: """\
|
||||
5일선과 20일선이 서로 만나는 시점 즉 상대 오차가 3% 이하이고
|
||||
5일선과 60일선이 서로 만나고 거래량이 이전 날짜보다 3배 증가한
|
||||
시점을 찾습니다.
|
||||
"""},
|
||||
{name:"volume",desc: """\
|
||||
거래량이 이전 날짜보다 3배 증가한 시점을 찾습니다.
|
||||
"""},
|
||||
{name:"volume5",desc: """\
|
||||
거래량과 가격의 곱이 50,000,000,000 이상인 시점을 찾습니다.
|
||||
"""},
|
||||
{name:"volumeX5",desc: """\
|
||||
거래량이 이전 날짜보다 5배 증가한 시점을 찾습니다.
|
||||
"""},
|
||||
{name:"macd",desc: """\
|
||||
signal과 macd가 서로 교차한 시점을 찾습니다. 즉 signal이 아래로 떨어지고
|
||||
macd가 위로 올라가는 시점을 찾습니다.
|
||||
"""},
|
||||
]
|
@ -1,9 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<title></title>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Hello</h1>
|
||||
</body>
|
||||
</html>
|
40
templates/index.html
Normal file
40
templates/index.html
Normal file
@ -0,0 +1,40 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Stock</title>
|
||||
<style>
|
||||
body{
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
background: linear-gradient(to right, #2b2b2b, #3d1844);
|
||||
color: #fff;
|
||||
}
|
||||
.container{
|
||||
display: grid;
|
||||
background: #f0f0f0;
|
||||
color: black;
|
||||
box-shadow: 0px 0px 5px 0px white;
|
||||
text-decoration: none;
|
||||
}
|
||||
.container a:link, a:visited{
|
||||
text-decoration: none;
|
||||
color: black;
|
||||
font-size: 40px;
|
||||
}
|
||||
.data_header{
|
||||
border-bottom: 1px solid #a7a7a7;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div style="margin: auto; max-width: 750px;">
|
||||
<h1>Main</h1>
|
||||
<div class="container">
|
||||
{% for p in pages %}
|
||||
<a href="/dist/{{p.name}}.html">{{p.name}}</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue
Block a user