File size: 1,315 Bytes
5cd2b89 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
from pydantic import BaseModel, Field
from typing import List, Dict, Any, Optional
from enum import Enum
class TimeFrame(str, Enum):
MINUTE_1 = '1m'
MINUTE_5 = '5m'
MINUTE_15 = '15m'
MINUTE_30 = '30m'
HOUR_1 = '1h'
HOUR_4 = '4h'
DAY_1 = '1d'
WEEK_1 = '1w'
MONTH_1 = '1M'
class CryptoPair(BaseModel):
symbol: str
base: str
quote: str
type: str = "spot"
class ExchangeInfo(BaseModel):
id: str
name: str
has_fetchOHLCV: bool = False
timeframes: List[str] = []
class OHLCVData(BaseModel):
timestamp: int
datetime: str
open: float
high: float
low: float
close: float
volume: float
class IndicatorValues(BaseModel):
timestamp: int
datetime: str
rsi: Optional[float] = None
macd: Optional[float] = None
macd_signal: Optional[float] = None
macd_histogram: Optional[float] = None
ema_9: Optional[float] = None
ema_21: Optional[float] = None
ema_50: Optional[float] = None
ema_200: Optional[float] = None
bb_upper: Optional[float] = None
bb_middle: Optional[float] = None
bb_lower: Optional[float] = None
open: Optional[float] = None
high: Optional[float] = None
low: Optional[float] = None
close: Optional[float] = None
volume: Optional[float] = None
|