看股功能更新
This commit is contained in:
@@ -32,3 +32,38 @@ async def get_candles(
|
||||
stmt = stmt.order_by(Candle.ts.asc()).limit(limit)
|
||||
result = await session.execute(stmt)
|
||||
return list(result.scalars().all())
|
||||
|
||||
|
||||
async def get_recent_candles(
|
||||
session: AsyncSession,
|
||||
symbol: str,
|
||||
timeframe: str = "1d",
|
||||
limit: int = 5000,
|
||||
) -> list[Candle]:
|
||||
"""取最近 limit 根 K 线(含最新交易日),按时间升序返回。"""
|
||||
stmt = (
|
||||
select(Candle)
|
||||
.where(Candle.symbol == symbol, Candle.timeframe == timeframe)
|
||||
.order_by(Candle.ts.desc())
|
||||
.limit(limit)
|
||||
)
|
||||
result = await session.execute(stmt)
|
||||
return list(reversed(result.scalars().all()))
|
||||
|
||||
|
||||
async def get_candles_before(
|
||||
session: AsyncSession,
|
||||
symbol: str,
|
||||
timeframe: str,
|
||||
before: datetime,
|
||||
limit: int = 5000,
|
||||
) -> list[Candle]:
|
||||
"""取 before 之前(不含)的最近 limit 根 K 线,按时间升序返回(历史向前翻页用)。"""
|
||||
stmt = (
|
||||
select(Candle)
|
||||
.where(Candle.symbol == symbol, Candle.timeframe == timeframe, Candle.ts < before)
|
||||
.order_by(Candle.ts.desc())
|
||||
.limit(limit)
|
||||
)
|
||||
result = await session.execute(stmt)
|
||||
return list(reversed(result.scalars().all()))
|
||||
|
||||
Reference in New Issue
Block a user