gitextract_qm3wy6o4/ ├── .github/ │ └── workflows/ │ ├── azure-container-webapp.yml │ └── docker-image.yml ├── .gitignore ├── LICENSE ├── README.md ├── cron/ │ ├── cron.hourly/ │ │ └── run_hourly │ ├── cron.monthly/ │ │ └── run_monthly │ └── cron.workdayly/ │ └── run_workdayly ├── docker/ │ ├── .dockerignore │ ├── .gitignore │ ├── Dockerfile │ ├── build.sh │ └── docker-compose.yml ├── instock/ │ ├── .gitignore │ ├── __init__.py │ ├── bin/ │ │ ├── restart_web.sh │ │ ├── run_cron.sh │ │ ├── run_job.bat │ │ ├── run_job.sh │ │ ├── run_trade.bat │ │ ├── run_web.bat │ │ └── run_web.sh │ ├── config/ │ │ ├── .gitignore │ │ ├── eastmoney_cookie.txt │ │ ├── proxy.txt │ │ └── trade_client.json │ ├── core/ │ │ ├── .gitignore │ │ ├── __init__.py │ │ ├── backtest/ │ │ │ ├── .gitignore │ │ │ ├── __init__.py │ │ │ └── rate_stats.py │ │ ├── crawling/ │ │ │ ├── __init__.py │ │ │ ├── fund_etf_em.py │ │ │ ├── stock_chip_race.py │ │ │ ├── stock_cpbd.py │ │ │ ├── stock_dzjy_em.py │ │ │ ├── stock_fhps_em.py │ │ │ ├── stock_fund_em.py │ │ │ ├── stock_hist_em.py │ │ │ ├── stock_lhb_em.py │ │ │ ├── stock_lhb_sina.py │ │ │ ├── stock_limitup_reason.py │ │ │ ├── stock_selection.py │ │ │ └── trade_date_hist.py │ │ ├── eastmoney_fetcher.py │ │ ├── indicator/ │ │ │ ├── .gitignore │ │ │ ├── __init__.py │ │ │ └── calculate_indicator.py │ │ ├── kline/ │ │ │ ├── .gitignore │ │ │ ├── __init__.py │ │ │ ├── cyq.js │ │ │ ├── cyq.py │ │ │ ├── indicator_web_dic.py │ │ │ └── visualization.py │ │ ├── pattern/ │ │ │ ├── .gitignore │ │ │ ├── __init__.py │ │ │ └── pattern_recognitions.py │ │ ├── singleton_proxy.py │ │ ├── singleton_stock.py │ │ ├── singleton_stock_web_module_data.py │ │ ├── singleton_trade_date.py │ │ ├── stockfetch.py │ │ ├── strategy/ │ │ │ ├── .gitignore │ │ │ ├── __init__.py │ │ │ ├── backtrace_ma250.py │ │ │ ├── breakthrough_platform.py │ │ │ ├── climax_limitdown.py │ │ │ ├── enter.py │ │ │ ├── high_tight_flag.py │ │ │ ├── keep_increasing.py │ │ │ ├── low_atr.py │ │ │ ├── low_backtrace_increase.py │ │ │ ├── parking_apron.py │ │ │ └── turtle_trade.py │ │ ├── tablestructure.py │ │ └── web_module_data.py │ ├── job/ │ │ ├── .gitignore │ │ ├── __init__.py │ │ ├── backtest_data_daily_job.py │ │ ├── basic_data_after_close_daily_job.py │ │ ├── basic_data_daily_job.py │ │ ├── basic_data_other_daily_job.py │ │ ├── execute_daily_job.py │ │ ├── indicators_data_daily_job.py │ │ ├── init_job.py │ │ ├── klinepattern_data_daily_job.py │ │ ├── selection_data_daily_job.py │ │ └── strategy_data_daily_job.py │ ├── trade/ │ │ ├── .gitignore │ │ ├── __init__.py │ │ ├── robot/ │ │ │ ├── .gitignore │ │ │ ├── __init__.py │ │ │ ├── engine/ │ │ │ │ ├── .gitignore │ │ │ │ ├── __init__.py │ │ │ │ ├── clock_engine.py │ │ │ │ ├── event_engine.py │ │ │ │ └── main_engine.py │ │ │ └── infrastructure/ │ │ │ ├── .gitignore │ │ │ ├── __init__.py │ │ │ ├── default_handler.py │ │ │ ├── strategy_template.py │ │ │ └── strategy_wrapper.py │ │ ├── strategies/ │ │ │ ├── .gitignore │ │ │ ├── __init__.py │ │ │ ├── stagging.py │ │ │ └── stratey1.py │ │ ├── trade_service.py │ │ └── usage.md │ └── web/ │ ├── .gitignore │ ├── __init__.py │ ├── base.py │ ├── dataIndicatorsHandler.py │ ├── dataTableHandler.py │ ├── static/ │ │ ├── css/ │ │ │ ├── bootstrap.min-3.4.1.css │ │ │ ├── font-awesome.min-4.5.0.css │ │ │ └── gc.spread.sheets.excel2013white.css │ │ └── js/ │ │ ├── FileSaver.js │ │ ├── bootstrap.min-3.4.1.js │ │ └── jquery.min-3.7.1.js │ ├── templates/ │ │ ├── common/ │ │ │ ├── footer.html │ │ │ ├── header.html │ │ │ ├── left_menu.html │ │ │ └── meta.html │ │ ├── index.html │ │ ├── layout/ │ │ │ ├── default.html │ │ │ ├── indicators-main.html │ │ │ ├── indicators.html │ │ │ └── main.html │ │ ├── stock_indicators.html │ │ └── stock_web.html │ └── web_service.py ├── requirements.txt └── supervisor/ └── supervisord.conf