# 枚举常量

# 委托状态OrderStatus

enum OrderStatus
{
	OrderStatus_Unknown = 0,
	OrderStatus_New = 1,                   //已报
	OrderStatus_PartiallyFilled = 2,       //部成
	OrderStatus_Filled = 3,                //已成
	OrderStatus_Canceled = 5,              //已撤
	OrderStatus_PendingCancel = 6,         //待撤
	OrderStatus_Rejected = 8,              //已拒绝
	OrderStatus_Suspended = 9,             //挂起
	OrderStatus_PendingNew = 10,           //待报
	OrderStatus_Expired = 12,              //已过期
	OrderStatus_PendingTrigger = 15        // 待触发, CTP条件单
	OrderStatus_Triggered = 16             // 已触发, CTP条件单

};

# 委托方向OrderSide

enum OrderSide
{
	OrderSide_Unknown = 0,
	OrderSide_Buy = 1,    	 //买入
	OrderSide_Sell = 2,    	//卖出
};

# 标的类别SecType

enum SecType
{
SEC_TYPE_STOCK = 1,     	//股票
SEC_TYPE_FUND = 2,      	//基金
SEC_TYPE_INDEX = 3,     	//指数
SEC_TYPE_FUTURE = 4,    	//期货
SEC_TYPE_OPTION = 5,        //期权
SEC_TYPE_CONFUTURE = 10     //期货连续合约
}

# 委托类型OrderType

enum OrderType
{
	OrderType_Unknown = 0,
	OrderType_Limit = 1,    	 //限价委托
	OrderType_Market = 2,    	//市价委托

	// 终端3.18.0.0以上新增
	// 上交所
	OrderType_Limit = 1	       // 限价
	OrderType_Market = 2	   // 市价(默认五档即成转限)
	OrderType_Market_BOC = 20  // 市价对方最优价格(best of counterparty)
	OrderType_Market_BOP = 21  // 市价己方最优价格(best of party)
	OrderType_Market_B5TC = 24 // 市价最优五档剩余撤销(best 5 then cancel)
	OrderType_Market_B5TL = 25 // 市价最优五档剩余转限价(best 5 then limit)

	// 深交所
	OrderType_Limit = 1	       // 限价
	OrderType_Market = 2	   // 市价(默认对方最优价)
	OrderType_Market_BOC = 20  // 市价对方最优价格(best of counterparty)
	OrderType_Market_BOP = 21  // 市价己方最优价格(best of party)
	OrderType_Market_FAK = 22  // 市价即时成交剩余撤销(fill and kill)
	OrderType_Market_FOK = 23  // 市价即时全额成交或撤销(fill or kill)
	OrderType_Market_B5TC = 24 // 市价最优五档剩余撤销(best 5 then cancel)

	// 大商所
	OrderType_Limit = 1	        // 限价
	OrderType_Limit_FAK = 10	// 限价即时成交剩余撤销 (fill and kill)
	OrderType_Limit_FOK = 11	// 限价即时全额成交或撤销 (fill or kill)
	OrderType_Market = 2	    // 市价
	OrderType_Market_FAK = 22	// 市价即时成交剩余撤销(fill and kill)
	OrderType_Market_FOK = 23	// 市价即时全额成交或撤销(fill or kill)

	// 郑商所
	OrderType_Limit = 1	        // 限价
	OrderType_Market = 2	    // 市价
	OrderType_Market_FOK = 23	// 市价即时全额成交或撤销(fill or kill)

	// 上期所和上能所
	OrderType_Limit = 1	        // 限价
	OrderType_Limit_FAK = 10	// 限价即时成交剩余撤销 (fill and kill)
	OrderType_Limit_FOK = 11	// 限价即时全额成交或撤销 (fill or kill)

	// 中金所
	OrderType_Limit = 1	        // 限价
	OrderType_Limit_FAK = 10	// 限价即时成交剩余撤销 (fill and kill)
	OrderType_Limit_FOK = 11	// 限价即时全额成交或撤销 (fill or kill)
	OrderType_Market_B5TC = 24	// 市价最优五档剩余撤销(best 5 then cancel)
	OrderType_Market_B5TL = 25	// 市价最优五档剩余转限价(best 5 then limit)
	OrderType_Market_BOPC = 27	// 市价最优价即时成交剩余撤销(best of price then cancel)
	OrderType_Market_BOPL = 28  // 市价最优价即时成交剩余转限价(best of price then limit)

	// 广期所
	OrderType_Limit = 1	        // 限价
	OrderType_Limit_FAK = 10	// 限价即时成交剩余撤销 (fill and kill)
	OrderType_Limit_FOK = 11	// 限价即时全额成交或撤销 (fill or kill)
	OrderType_Market = 2	    // 市价
	OrderType_Market_FAK = 22	// 市价即时成交剩余撤销(fill and kill)
	OrderType_Market_FOK = 23	// 市价即时全额成交或撤销(fill or kill)
};

# 执行回报类型ExecType

enum ExecType
{
	ExecType_Trade = 15,                   //成交
	ExecType_CancelRejected = 19,          //撤单被拒绝
};

# 开平仓类型PositionEffect

enum PositionEffect
{
	PositionEffect_Unknown = 0,
	PositionEffect_Open = 1,     		 //开仓
	PositionEffect_Close = 2,     		//平仓,具体语义取决于对应的交易所实盘上期所和上海能源所不适用,上期所和上海能源所严格区分平今平昨,需要用3和4)
	PositionEffect_CloseToday = 3,        //平今仓
	PositionEffect_CloseYesterday = 4,    //平昨仓(只适用于期货,不适用股票,股票用2平仓)
};

# 持仓方向PositionSide

enum PositionSide
{
	PositionSide_Unknown = 0,
	PositionSide_Long = 1,    //多方向
	PositionSide_Short = 2,   //空方向
};

# 订单拒绝原因OrderRejectReason

enum OrderRejectReason
{
	OrderRejectReason_Unknown = 0,                           //未知原因
	OrderRejectReason_RiskRuleCheckFailed = 1,               //不符合风控规则
	OrderRejectReason_NoEnoughCash = 2,                      //资金不足
	OrderRejectReason_NoEnoughPosition = 3,                  //仓位不足
	OrderRejectReason_IllegalAccountId = 4,                  //非法账户ID
	OrderRejectReason_IllegalStrategyId = 5,                 //非法策略ID
	OrderRejectReason_IllegalSymbol = 6,                     //非法交易代码
	OrderRejectReason_IllegalVolume = 7,                     //非法委托量
	OrderRejectReason_IllegalPrice = 8,                      //非法委托价
	OrderRejectReason_AccountDisabled = 10,                  //交易账号被禁止交易
	OrderRejectReason_AccountDisconnected = 11,              //交易账号未连接
	OrderRejectReason_AccountLoggedout = 12,                 //交易账号未登录
	OrderRejectReason_NotInTradingSession = 13,              //非交易时段
	OrderRejectReason_OrderTypeNotSupported = 14,            //委托类型不支持
	OrderRejectReason_Throttle = 15,                         //流控限制
	OrderRejectReason_SymbolSusppended = 16,                 //交易代码停牌
	OrderRejectReason_Internal = 999,                        //内部错误

	CancelOrderRejectReason_OrderFinalized = 101,            //委托已完成
	CancelOrderRejectReason_UnknownOrder = 102,              //未知委托
	CancelOrderRejectReason_BrokerOption = 103,              //柜台设置
	CancelOrderRejectReason_AlreadyInPendingCancel = 104,    //委托撤销中
};

# 仓位变更原因CashPositionChangeReason

enum CashPositionChangeReason
{
	CashPositionChangeReason_Unknown = 0,
	CashPositionChangeReason_Trade = 1,  	//交易
	CashPositionChangeReason_Inout = 2,  	//出入金/出入持仓
	CashPositionChangeReason_Dividend = 3,   //分红送股
};

# 交易账户状态AccountState


enum AccountState
{
	State_UNKNOWN = 0,       //未知
	State_CONNECTING = 1,    //连接中
	State_CONNECTED = 2,     //已连接
	State_LOGGEDIN = 3,      //已登录
	State_DISCONNECTING = 4, //断开中
	State_DISCONNECTED = 5,  //已断开
	State_ERROR = 6          //错误
};


# 策略模式StrategyMode


public enum StrategyMode
{
    MODE_UNDEF = 0,          //未定义, 策略不会运行
    MODE_LIVE = 1,           //实盘与仿真模式
    MODE_BACKTEST = 2        //回测模式
};

# 复权方式Adjust

public enum Adjust
{
    ADJUST_NONE = 0,		//(不复权)
    ADJUST_PREV = 1,		//(前复权)
    ADJUST_POST = 2 		//(后复权)
}

# 业务类型OrderBusiness

enum OrderBusiness
{
	OrderBusiness_NORMAL = 0,                         //普通交易     

	OrderBusiness_STOCK_BUY = 1,                      //股票买入
	OrderBusiness_STOCK_SELL = 2,                     //股票卖出
	OrderBusiness_MARKET_MAKING = 6,                  //做市交易

	OrderBusiness_FUTURE_BUY_OPEN = 10,               //期货买入开仓
	OrderBusiness_FUTURE_SELL_CLOSE = 11,             //期货卖出平仓
	OrderBusiness_FUTURE_SELL_CLOSE_TODAY = 12,       //期货卖出平今
	OrderBusiness_FUTURE_SELL_CLOSE_YESTERDAY = 13,   //期货卖出平昨
	OrderBusiness_FUTURE_SELL_OPEN = 14,              //期货卖出开仓
	OrderBusiness_FUTURE_BUY_CLOSE = 15,              //期货买入平仓
	OrderBusiness_FUTURE_BUY_CLOSE_TODAY = 16,        //期货买入平今
	OrderBusiness_FUTURE_BUY_CLOSE_YESTERDAY = 17,    //期货买入平昨
	OrderBusiness_FUTURE_CTP_CONDITIONAL_ORDER = 18,  //期货CTP条件单

	OrderBusiness_IPO_BUY = 100,                      //新股申购                                                         
	OrderBusiness_CREDIT_BOM = 200,                   //融资买入(buying on margin)                                       
	OrderBusiness_CREDIT_SS = 201,                    //融券卖出(short selling)                                          
	OrderBusiness_CREDIT_RSBBS = 202,                 //买券还券(repay share by buying share)                            
	OrderBusiness_CREDIT_RCBSS = 203,                 //卖券还款(repay cash by selling share)                            
	OrderBusiness_CREDIT_DRS = 204,                   //直接还券(directly repay share)                                   
	OrderBusiness_CREDIT_DRC = 211,                   //直接还款(directly repay cash)                                    
	OrderBusiness_CREDIT_CPOM = 205,                  //融资平仓(close position on margin)                               
	OrderBusiness_CREDIT_CPOSS = 206,                 //融券平仓(close position on short selling)                        
	OrderBusiness_CREDIT_BOC = 207,                   //担保品买入(buying on collateral)                                 
	OrderBusiness_CREDIT_SOC = 208,                   //担保品卖出(selling on collateral)                                
	OrderBusiness_CREDIT_CI = 209,                    //担保品转入(collateral in)                                        
	OrderBusiness_CREDIT_CO = 210,                    //担保品转出(collateral out)                                       
	OrderBusiness_ETF_BUY = 301,                      //ETF申购(purchase)                                                
	OrderBusiness_ETF_RED = 302,                      //ETF赎回(redemption)                                              
	OrderBusiness_FUND_SUB = 303,                     //基金认购(subscribing)                                            
	OrderBusiness_FUND_BUY = 304,                     //基金申购(purchase)                                               
	OrderBusiness_FUND_RED = 305,                     //基金赎回(redemption)                                             
	OrderBusiness_FUND_CONVERT = 306,                 //基金转换(convert)                                                
	OrderBusiness_FUND_SPLIT = 307,                   //基金分拆(split)                                                  
	OrderBusiness_FUND_MERGE = 308,                   //基金合并(merge)                                                  
	OrderBusiness_BOND_RRP = 400,                     //债券逆回购(reverse repurchase agreement (RRP) or reverse repo)   
	OrderBusiness_BOND_CONVERTIBLE_BUY = 401,         //可转债申购(purchase)                                             
	OrderBusiness_BOND_CONVERTIBLE_CALL = 402,        //可转债转股                                                       
	OrderBusiness_BOND_CONVERTIBLE_PUT = 403,         //可转债回售                                                       
	OrderBusiness_BOND_CONVERTIBLE_PUT_CANCEL = 404   //可转债回售撤销                                                   
};

# 条件委托触发方式

enum OrderTriggerType
{
	OrderTriggerType_Unknown = 0,
	OrderTriggerType_LastPriceGreaterThanStopPrice = 1,     //最新价大于条件价
	OrderTriggerType_LastPriceGreaterEqualStopPrice = 2,    //最新价大于等于条件价
	OrderTriggerType_LastPriceLessThanStopPrice = 3,       	//最新价小于条件价
	OrderTriggerType_LastPriceLessEqualStopPrice = 4,       //最新价小于等于条件价
	OrderTriggerType_AskPriceGreaterThanStopPrice = 5,     	//卖一价大于条件价
	OrderTriggerType_AskPriceGreaterEqualStopPrice = 6,     //卖一价大于等于条件价
	OrderTriggerType_AskPriceLessThanStopPrice = 7,         //卖一价小于条件价
	OrderTriggerType_AskPriceLessEqualStopPrice = 8,        //卖一价小于等于条件价
	OrderTriggerType_BidPriceGreaterThanStopPrice = 9,      //买一价大于条件价
	OrderTriggerType_BidPriceGreaterEqualStopPrice = 10,    //买一价大于等于条件价
	OrderTriggerType_BidPriceLessThanStopPrice = 11,        //买一价小于条件价
	OrderTriggerType_BidPriceLessEqualStopPrice = 12        //买一价小于等于条件价

};
上次更新: 11/26/2024, 3:44:16 PM