"""交易平台通用常量枚举"""

from enum import Enum
from xmpy.包_交易核心.包_国际化 import _


class 类_方向(Enum):
    """委托/成交/持仓方向"""
    做多 = _("多")
    做空 = _("空")
    净头寸 = _("净")


class 类_开平(Enum):
    """委托开平仓标志"""
    NONE = ""
    开仓 = _("开")
    平仓 = _("平")
    平今 = _("平今")
    平昨 = _("平昨")


class 类_状态(Enum):
    """订单状态"""
    提交中 = _("提交中")
    未成交 = _("未成交")
    部分成交 = _("部分成交")
    全部成交 = _("全部成交")
    已撤销 = _("已撤销")
    已拒单 = _("拒单")


class 类_产品类型(Enum):
    """资产类别"""
    股票 = _("股票")
    期货 = _("期货")
    期权 = _("期权")
    指数 = _("指数")
    外汇 = _("外汇")
    现货 = _("现货")
    ETF = "ETF"
    债券 = _("债券")
    权证 = _("权证")
    价差 = _("价差")
    基金 = _("基金")
    CFD = "CFD"
    互换 = _("互换")


class 类_委托类型(Enum):
    """订单类型"""
    限价单 = _("限价")
    市价单 = _("市价")
    止损单 = "STOP"
    立即成交剩余撤销 = "FAK"
    全部成交否则撤销 = "FOK"
    询价单 = _("询价")


class 类_期权类型(Enum):
    """期权方向"""
    看涨 = _("看涨期权")
    看跌 = _("看跌期权")


class 类_交易所(Enum):
    """交易场所"""
    # 中国境内
    中金所 = "CFFEX"         # 中国金融期货交易所
    上期所 = "SHFE"           # 上海期货交易所
    郑商所 = "CZCE"           # 郑州商品交易所
    大商所 = "DCE"             # 大连商品交易所
    能源中心 = "INE"           # 上海国际能源交易中心
    广期所 = "GFEX"           # 广州期货交易所
    上交所 = "SSE"             # 上海证券交易所
    深交所 = "SZSE"           # 深圳证券交易所
    北交所 = "BSE"             # 北京证券交易所
    沪港通 = "SHHK"           # 沪深港通-上海
    深港通 = "SZHK"           # 沪深港通-深圳
    金交所 = "SGE"             # 上海黄金交易所
    无锡钢联 = "WXE"           # 无锡不锈钢交易中心
    外汇交易中心 = "CFETS"       # 中国外汇交易中心
    X债券系统 = "XBOND"         # X-Bond匿名交易系统

    # 全球市场
    智能路由 = "SMART"         # 美股智能路由
    纽交所 = "NYSE"           # 纽约证券交易所
    纳斯达克 = "NASDAQ"       # 纳斯达克交易所
    ARCA交易所 = "ARCA"        # ARCA电子交易平台
    EDGE交易所 = "EDGEA"       # Direct Edge交易所
    纳斯达克岛 = "ISLAND"      # 纳斯达克岛ECN
    BATS交易所 = "BATS"        # Bats全球市场
    IEX交易所 = "IEX"          # 投资者交易所
    美交所 = "AMEX"           # 美国证券交易所
    多伦多交易所 = "TSE"        # 多伦多证券交易所
    纽约商品 = "NYMEX"         # 纽约商业交易所
    COMEX分部 = "COMEX"       # 芝加哥商品交易所COMEX
    全球电子盘 = "GLOBEX"      # CME Globex电子平台
    外汇ECN = "IDEALPRO"     # Interactive Brokers外汇ECN
    芝加哥商品 = "CME"         # 芝加哥商品交易所
    洲际交易所 = "ICE"         # 洲际交易所集团
    港交所 = "SEHK"           # 香港联合交易所
    香港期交 = "HKFE"          # 香港期货交易所
    新交所 = "SGX"            # 新加坡交易所
    芝加哥期货 = "CBT"         # 芝加哥期货交易所
    芝加哥期权 = "CBOE"        # 芝加哥期权交易所
    CFE期货 = "CFE"           # CBOE期货交易所
    迪拜商品 = "DME"          # 迪拜商品交易所
    欧洲期货 = "EUX"          # 欧洲期货交易所
    亚太交易所 = "APEX"        # 亚太交易所
    伦敦金属 = "LME"          # 伦敦金属交易所
    大马衍生品 = "BMD"         # 马来西亚衍生品交易所
    东京商品 = "TOCOM"        # 东京工业品交易所
    泛欧交易所 = "EUNX"        # 泛欧交易所
    韩交所 = "KRX"            # 韩国交易所
    场外交易 = "OTC"          # 场外交易市场
    IB模拟盘 = "IBKRATS"      # Interactive Brokers模拟交易

    # 特殊功能
    本地数据 = "LOCAL"        # 本地生成数据


class 类_货币(Enum):
    """结算货币"""
    美元 = "USD"
    港币 = "HKD"
    人民币 = "CNY"
    加元 = "CAD"


class 类_周期(Enum):
    """K线周期"""
    一分钟 = "1m"
    一小时 = "1h"
    日线 = "d"
    周线 = "w"
    Tick级 = "tick"