refactor: ECR-002 拆分 runtime 包并加深 analyze 契约(已审)
将 web/services/runtime.py 拆为 runtime/ 子模块并保持门面兼容;补齐 ESS 文档、门面/契约/TF_DF 测试与 CODE_REVIEW Approve。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import sys
|
||||
import os
|
||||
from collections import OrderedDict
|
||||
import logging
|
||||
|
||||
import ccxt
|
||||
|
||||
_ROOT = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
||||
if _ROOT not in sys.path:
|
||||
sys.path.append(_ROOT)
|
||||
|
||||
from config import MACD_FAST, MACD_SLOW, MACD_SIGNAL, ccxt_proxies
|
||||
from services.cn_stock import ChinaStockData
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
class TRADE_POINT_TYPE:
|
||||
BUY1 = 1 # 一类买点
|
||||
BUY2 = 2 # 二类买点
|
||||
BUY3 = 3 # 三类买点
|
||||
SELL1 = -1 # 一类卖点
|
||||
SELL2 = -2 # 二类卖点
|
||||
SELL3 = -3 # 三类卖点
|
||||
|
||||
|
||||
|
||||
# mutable runtime state
|
||||
macd_fast_period = MACD_FAST
|
||||
macd_slow_period = MACD_SLOW
|
||||
macd_signal_period = MACD_SIGNAL
|
||||
|
||||
_proxies = ccxt_proxies()
|
||||
_exchange_kwargs = {"enableRateLimit": True}
|
||||
if _proxies:
|
||||
_exchange_kwargs["proxies"] = _proxies
|
||||
exchange = ccxt.binance(_exchange_kwargs)
|
||||
|
||||
china_stock = ChinaStockData()
|
||||
_zone_cache = {}
|
||||
|
||||
DEFAULT_TIMEFRAME_LABELS = OrderedDict([
|
||||
("1m", "1分钟"),
|
||||
("3m", "3分钟"),
|
||||
("5m", "5分钟"),
|
||||
("15m", "15分钟"),
|
||||
("30m", "30分钟"),
|
||||
("1h", "1小时"),
|
||||
("2h", "2小时"),
|
||||
("4h", "4小时"),
|
||||
("6h", "6小时"),
|
||||
("8h", "8小时"),
|
||||
("12h", "12小时"),
|
||||
("1d", "日线"),
|
||||
("3d", "3日线"),
|
||||
("1w", "周线"),
|
||||
("1M", "月线"),
|
||||
])
|
||||
|
||||
DEFAULT_SYMBOLS = [
|
||||
'SOL/USDT:USDT', 'BTC/USDT:USDT', 'ETH/USDT:USDT', 'BNB/USDT:USDT', 'XRP/USDT:USDT', 'WIF/USDT:USDT',
|
||||
'ADA/USDT:USDT', 'DOGE/USDT:USDT', 'AVAX/USDT:USDT', 'DOT/USDT:USDT', 'MATIC/USDT:USDT'
|
||||
]
|
||||
|
||||
TIMEFRAMES = DEFAULT_TIMEFRAME_LABELS.copy()
|
||||
SYMBOLS = DEFAULT_SYMBOLS.copy()
|
||||
DATA_SERVICE_AVAILABLE = False
|
||||
SERVICE_METADATA_LAST_REFRESH = 0
|
||||
|
||||
Reference in New Issue
Block a user