增加K线
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
"""K 线周期常量与每周期 bar 数 / 缓存 TTL。"""
|
||||
|
||||
CHART_INTERVALS: tuple[str, ...] = ("5m", "15m", "30m", "1h", "4h", "1d", "1w")
|
||||
|
||||
LONG_INTERVALS: frozenset[str] = frozenset({"1d", "1w"})
|
||||
|
||||
# 1d 及以上 500 根;以下 1000 根
|
||||
INTERVAL_LIMITS: dict[str, int] = {
|
||||
"5m": 1000,
|
||||
"15m": 1000,
|
||||
"30m": 1000,
|
||||
"1h": 1000,
|
||||
"4h": 1000,
|
||||
"1d": 500,
|
||||
"1w": 500,
|
||||
}
|
||||
|
||||
# 预取 / 本地 freshness(分钟)
|
||||
INTERVAL_CACHE_MINUTES: dict[str, int] = {
|
||||
"5m": 5,
|
||||
"15m": 15,
|
||||
"30m": 15,
|
||||
"1h": 30,
|
||||
"4h": 30,
|
||||
"1d": 60,
|
||||
"1w": 60,
|
||||
}
|
||||
|
||||
|
||||
def validate_interval(interval: str) -> str:
|
||||
iv = interval.lower().strip()
|
||||
if iv not in CHART_INTERVALS:
|
||||
raise ValueError(f"unsupported interval: {interval}")
|
||||
return iv
|
||||
|
||||
|
||||
def limit_for_interval(interval: str) -> int:
|
||||
iv = validate_interval(interval)
|
||||
return INTERVAL_LIMITS[iv]
|
||||
|
||||
|
||||
def cache_minutes_for_interval(interval: str) -> int:
|
||||
iv = validate_interval(interval)
|
||||
return INTERVAL_CACHE_MINUTES[iv]
|
||||
Reference in New Issue
Block a user