140 lines
2.4 KiB
Python
140 lines
2.4 KiB
Python
from enum import Enum, auto
|
|
from typing import Literal
|
|
|
|
|
|
class DATA_SRC(Enum):
|
|
BAO_STOCK = auto()
|
|
CCXT = auto()
|
|
CSV = auto()
|
|
|
|
|
|
class KL_TYPE(Enum):
|
|
K_1S = auto()
|
|
K_1M = auto()
|
|
K_DAY = auto()
|
|
K_WEEK = auto()
|
|
K_MON = auto()
|
|
K_YEAR = auto()
|
|
K_5M = auto()
|
|
K_15M = auto()
|
|
K_30M = auto()
|
|
K_60M = auto()
|
|
K_2H = auto()
|
|
K_4H = auto()
|
|
K_6H = auto()
|
|
K_8H = auto()
|
|
K_12H = auto()
|
|
K_3DAY = auto()
|
|
K_3M = auto()
|
|
K_QUARTER = auto()
|
|
|
|
|
|
class KLINE_DIR(Enum):
|
|
UP = auto()
|
|
DOWN = auto()
|
|
COMBINE = auto()
|
|
INCLUDED = auto()
|
|
|
|
|
|
class FX_TYPE(Enum):
|
|
BOTTOM = auto()
|
|
TOP = auto()
|
|
UNKNOWN = auto()
|
|
|
|
|
|
class BI_DIR(Enum):
|
|
UP = auto()
|
|
DOWN = auto()
|
|
|
|
class SEG_DIR(Enum):
|
|
UP = auto()
|
|
DOWN = auto()
|
|
|
|
class BI_TYPE(Enum):
|
|
UNKNOWN = auto()
|
|
STRICT = auto()
|
|
SUB_VALUE = auto() # 次高低点成笔
|
|
TIAOKONG_THRED = auto()
|
|
DAHENG = auto()
|
|
TUIBI = auto()
|
|
UNSTRICT = auto()
|
|
TIAOKONG_VALUE = auto()
|
|
|
|
|
|
BSP_MAIN_TYPE = Literal['1', '2', '3']
|
|
|
|
|
|
class BSP_TYPE(Enum):
|
|
T1 = '1'
|
|
T1P = '1p'
|
|
T2 = '2'
|
|
T2S = '2s'
|
|
T3A = '3a' # 中枢在1类后面
|
|
T3B = '3b' # 中枢在1类前面
|
|
|
|
def main_type(self) -> BSP_MAIN_TYPE:
|
|
return self.value[0] # type: ignore
|
|
|
|
|
|
class AUTYPE(Enum):
|
|
QFQ = auto()
|
|
HFQ = auto()
|
|
NONE = auto()
|
|
|
|
|
|
class TREND_TYPE(Enum):
|
|
MEAN = "mean"
|
|
MAX = "max"
|
|
MIN = "min"
|
|
|
|
|
|
class TREND_LINE_SIDE(Enum):
|
|
INSIDE = auto()
|
|
OUTSIDE = auto()
|
|
|
|
|
|
class LEFT_SEG_METHOD(Enum):
|
|
ALL = auto()
|
|
PEAK = auto()
|
|
|
|
|
|
class FX_CHECK_METHOD(Enum):
|
|
STRICT = auto()
|
|
LOSS = auto()
|
|
HALF = auto()
|
|
TOTALLY = auto()
|
|
|
|
|
|
class SEG_TYPE(Enum):
|
|
BI = auto()
|
|
SEG = auto()
|
|
|
|
|
|
class MACD_ALGO(Enum):
|
|
AREA = auto()
|
|
PEAK = auto()
|
|
FULL_AREA = auto()
|
|
DIFF = auto()
|
|
SLOPE = auto()
|
|
AMP = auto()
|
|
VOLUMN = auto()
|
|
AMOUNT = auto()
|
|
VOLUMN_AVG = auto()
|
|
AMOUNT_AVG = auto()
|
|
TURNRATE_AVG = auto()
|
|
RSI = auto()
|
|
|
|
|
|
class DATA_FIELD:
|
|
FIELD_TIME = "time_key"
|
|
FIELD_OPEN = "open"
|
|
FIELD_HIGH = "high"
|
|
FIELD_LOW = "low"
|
|
FIELD_CLOSE = "close"
|
|
FIELD_VOLUME = "volume" # 成交量
|
|
FIELD_TURNOVER = "turnover" # 成交额
|
|
FIELD_TURNRATE = "turnover_rate" # 换手率
|
|
|
|
|
|
TRADE_INFO_LST = [DATA_FIELD.FIELD_VOLUME, DATA_FIELD.FIELD_TURNOVER, DATA_FIELD.FIELD_TURNRATE]
|