# auto generated by update_py.py
# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: message.proto

from google.protobuf.internal import enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='message.proto',
  package='linker.trader',
  syntax='proto3',
  serialized_options=None,
  serialized_pb=b'\n\rmessage.proto\x12\rlinker.trader\x1a\x1fgoogle/protobuf/timestamp.proto\"\xf6\x03\n\x0eReqOrderInsert\x12\x12\n\naccount_id\x18\x01 \x01(\t\x12\x13\n\x0bsub_account\x18\x02 \x01(\t\x12\x0e\n\x06sender\x18\x03 \x01(\t\x12\x10\n\x08order_id\x18\x04 \x01(\x06\x12\x11\n\torder_ref\x18\x05 \x01(\t\x12\x11\n\tparent_id\x18\x06 \x01(\x10\x12)\n\x08\x65xchange\x18\x07 \x01(\x0e\x32\x17.linker.trader.Exchange\x12.\n\x0boffset_flag\x18\x08 \x01(\x0e\x32\x19.linker.trader.OffsetFlag\x12,\n\norder_type\x18\t \x01(\x0e\x32\x18.linker.trader.OrderType\x12\x32\n\rsecurity_type\x18\n \x01(\x0e\x32\x1b.linker.trader.SecurityType\x12!\n\x04side\x18\x0b \x01(\x0e\x32\x13.linker.trader.Side\x12\x0e\n\x06symbol\x18\x0c \x01(\t\x12\x13\n\x0b\x65ntrust_vol\x18\r \x01(\x01\x12\x15\n\rentrust_price\x18\x0e \x01(\x01\x12\x13\n\x0b\x65ntrust_amt\x18\x0f \x01(\x01\x12.\n\x0bmargin_mode\x18\x10 \x01(\x0e\x32\x19.linker.trader.MarginMode\x12\x12\n\nlever_rate\x18\x11 \x01(\x05\"V\n\x0eRspOrderInsert\x12\x10\n\x08order_id\x18\x01 \x01(\x06\x12\x11\n\torder_ref\x18\x02 \x01(\t\x12\x0e\n\x06\x65rr_id\x18\x03 \x01(\x11\x12\x0f\n\x07\x65rr_msg\x18\x04 \x01(\t\"F\n\x0eReqOrderCancel\x12\x12\n\naccount_id\x18\x01 \x01(\t\x12\x0e\n\x06req_id\x18\x02 \x01(\x06\x12\x10\n\x08order_id\x18\x03 \x01(\x06\"f\n\x0eRspOrderCancel\x12\x0e\n\x06req_id\x18\x01 \x01(\x06\x12\x10\n\x08order_id\x18\x02 \x01(\x06\x12\x11\n\torder_ref\x18\x03 \x01(\t\x12\x0e\n\x06\x65rr_id\x18\x04 \x01(\x11\x12\x0f\n\x07\x65rr_msg\x18\x05 \x01(\t\"\xea\x06\n\x08RtnOrder\x12\x12\n\naccount_id\x18\x01 \x01(\t\x12\x13\n\x0bsub_account\x18\x02 \x01(\t\x12\x0e\n\x06sender\x18\x03 \x01(\t\x12\x10\n\x08order_id\x18\x04 \x01(\x06\x12\x11\n\torder_ref\x18\x05 \x01(\t\x12\x10\n\x08\x66ront_id\x18\x06 \x01(\x05\x12\x12\n\nsession_id\x18\x07 \x01(\x11\x12)\n\x08\x65xchange\x18\x08 \x01(\x0e\x32\x17.linker.trader.Exchange\x12.\n\x0boffset_flag\x18\t \x01(\x0e\x32\x19.linker.trader.OffsetFlag\x12\x30\n\x0corder_status\x18\n \x01(\x0e\x32\x1a.linker.trader.OrderStatus\x12,\n\norder_type\x18\x0b \x01(\x0e\x32\x18.linker.trader.OrderType\x12\x32\n\rsecurity_type\x18\x0c \x01(\x0e\x32\x1b.linker.trader.SecurityType\x12!\n\x04side\x18\r \x01(\x0e\x32\x13.linker.trader.Side\x12\x0e\n\x06symbol\x18\x0e \x01(\t\x12\x12\n\ntraded_vol\x18\x0f \x01(\x01\x12\x14\n\x0ctraded_price\x18\x10 \x01(\x01\x12\x12\n\ntraded_amt\x18\x11 \x01(\x01\x12/\n\x0b\x63reate_time\x18\x12 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12-\n\trecv_time\x18\x13 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bupdate_time\x18\x14 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0b\x65ntrust_vol\x18\x15 \x01(\x01\x12\x15\n\rentrust_price\x18\x16 \x01(\x01\x12\x13\n\x0b\x65ntrust_amt\x18\x17 \x01(\x01\x12\x0f\n\x07\x66rz_amt\x18\x18 \x01(\x01\x12\x0f\n\x07\x66rz_fee\x18\x19 \x01(\x01\x12\x12\n\nextra_info\x18\x1a \x01(\t\x12.\n\x0bmargin_mode\x18\x1b \x01(\x0e\x32\x19.linker.trader.MarginMode\x12.\n\x0bsource_type\x18\x1c \x01(\x0e\x32\x19.linker.trader.SourceType\x12\x12\n\nlever_rate\x18\x1d \x01(\x05\"\xf9\x05\n\x08RtnTrade\x12\x12\n\naccount_id\x18\x01 \x01(\t\x12\x13\n\x0bsub_account\x18\x02 \x01(\t\x12\x0e\n\x06sender\x18\x03 \x01(\t\x12\x11\n\ttrade_ref\x18\x04 \x01(\t\x12\x10\n\x08order_id\x18\x05 \x01(\x06\x12\x11\n\torder_ref\x18\x06 \x01(\t\x12)\n\x08\x65xchange\x18\x07 \x01(\x0e\x32\x17.linker.trader.Exchange\x12*\n\texec_role\x18\x08 \x01(\x0e\x32\x17.linker.trader.ExecRole\x12.\n\x0boffset_flag\x18\t \x01(\x0e\x32\x19.linker.trader.OffsetFlag\x12,\n\norder_type\x18\n \x01(\x0e\x32\x18.linker.trader.OrderType\x12\x32\n\rsecurity_type\x18\x0b \x01(\x0e\x32\x1b.linker.trader.SecurityType\x12!\n\x04side\x18\x0c \x01(\x0e\x32\x13.linker.trader.Side\x12\x0e\n\x06symbol\x18\r \x01(\t\x12\x12\n\ntraded_vol\x18\x0e \x01(\x01\x12\x14\n\x0ctraded_price\x18\x0f \x01(\x01\x12\x12\n\ntraded_amt\x18\x10 \x01(\x01\x12\x12\n\ncommission\x18\x11 \x01(\x01\x12\x13\n\x0btrading_day\x18\x12 \x01(\t\x12-\n\trecv_time\x18\x13 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\ntrade_time\x18\x14 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x13\n\x0b\x65ntrust_vol\x18\x15 \x01(\x01\x12\x15\n\rentrust_price\x18\x16 \x01(\x01\x12\x13\n\x0b\x65ntrust_amt\x18\x17 \x01(\x01\x12)\n\x08\x63urrency\x18\x18 \x01(\x0e\x32\x17.linker.trader.Currency\x12.\n\x0bsource_type\x18\x19 \x01(\x0e\x32\x19.linker.trader.SourceType\"\xa5\x01\n\rGatewayOrders\x12\x0e\n\x06req_id\x18\x01 \x01(\x06\x12\x12\n\naccount_id\x18\x02 \x01(\t\x12\x13\n\x0bsub_account\x18\x03 \x01(\t\x12\x0e\n\x06\x65rr_id\x18\x04 \x01(\x11\x12\x0f\n\x07\x65rr_msg\x18\x05 \x01(\t\x12\x11\n\tfully_set\x18\x06 \x01(\x08\x12\'\n\x06orders\x18\x07 \x03(\x0b\x32\x17.linker.trader.RtnOrder\"0\n\x0cReqOrderInfo\x12\x10\n\x08order_id\x18\x01 \x01(\x06\x12\x0e\n\x06sender\x18\x02 \x01(\t\"\x8a\x05\n\x0cRspOrderInfo\x12\x12\n\naccount_id\x18\x01 \x01(\t\x12\x13\n\x0bsub_account\x18\x02 \x01(\t\x12\x0e\n\x06sender\x18\x03 \x01(\t\x12\x0e\n\x06\x65rr_id\x18\x04 \x01(\x11\x12\x0f\n\x07\x65rr_msg\x18\x05 \x01(\t\x12\x10\n\x08order_id\x18\x06 \x01(\x06\x12\x11\n\torder_ref\x18\x07 \x01(\t\x12\x11\n\tparent_id\x18\x08 \x01(\x10\x12\x15\n\rcancel_err_id\x18\t \x01(\x05\x12\x16\n\x0e\x63\x61ncel_err_msg\x18\n \x01(\t\x12)\n\x08\x65xchange\x18\x0b \x01(\x0e\x32\x17.linker.trader.Exchange\x12.\n\x0boffset_flag\x18\x0c \x01(\x0e\x32\x19.linker.trader.OffsetFlag\x12\x30\n\x0corder_status\x18\r \x01(\x0e\x32\x1a.linker.trader.OrderStatus\x12,\n\norder_type\x18\x0e \x01(\x0e\x32\x18.linker.trader.OrderType\x12\x32\n\rsecurity_type\x18\x0f \x01(\x0e\x32\x1b.linker.trader.SecurityType\x12!\n\x04side\x18\x10 \x01(\x0e\x32\x13.linker.trader.Side\x12\x0e\n\x06symbol\x18\x11 \x01(\t\x12\x12\n\ntraded_vol\x18\x12 \x01(\x01\x12\x13\n\x0b\x65ntrust_vol\x18\x13 \x01(\x01\x12\x15\n\rentrust_price\x18\x14 \x01(\x01\x12\x13\n\x0b\x65ntrust_amt\x18\x15 \x01(\x01\x12.\n\x0bmargin_mode\x18\x16 \x01(\x0e\x32\x19.linker.trader.MarginMode\x12\x12\n\nlever_rate\x18\x17 \x01(\x05\"V\n\x0bReqPosition\x12\x0e\n\x06req_id\x18\x01 \x01(\x06\x12\x12\n\naccount_id\x18\x02 \x01(\t\x12\x13\n\x0bsub_account\x18\x03 \x01(\t\x12\x0e\n\x06sender\x18\x04 \x01(\t\"\xbe\x05\n\x0cPositionInfo\x12\x12\n\naccount_id\x18\x01 \x01(\t\x12\x13\n\x0bsub_account\x18\x02 \x01(\t\x12+\n\tdirection\x18\x03 \x01(\x0e\x32\x18.linker.trader.Direction\x12)\n\x08\x65xchange\x18\x04 \x01(\x0e\x32\x17.linker.trader.Exchange\x12.\n\x0bmargin_mode\x18\x05 \x01(\x0e\x32\x19.linker.trader.MarginMode\x12\x32\n\rsecurity_type\x18\x06 \x01(\x0e\x32\x1b.linker.trader.SecurityType\x12\x0e\n\x06symbol\x18\x07 \x01(\t\x12\x10\n\x08position\x18\x08 \x01(\x01\x12\x0e\n\x06yd_pos\x18\t \x01(\x01\x12\x11\n\tavail_pos\x18\n \x01(\x01\x12\x0f\n\x07\x66rz_pos\x18\x0b \x01(\x01\x12\x10\n\x08pos_cost\x18\x0c \x01(\x01\x12\x10\n\x08\x62orrowed\x18\r \x01(\x01\x12\x10\n\x08interest\x18\x0e \x01(\x01\x12\x11\n\tliq_price\x18\x0f \x01(\x01\x12\x0e\n\x06margin\x18\x10 \x01(\x01\x12\x11\n\tmkt_value\x18\x11 \x01(\x01\x12\x11\n\trisk_rate\x18\x12 \x01(\x01\x12\x0b\n\x03pnl\x18\x13 \x01(\x01\x12\x14\n\x0crealized_pnl\x18\x14 \x01(\x01\x12\x16\n\x0eunrealized_pnl\x18\x15 \x01(\x01\x12-\n\trecv_time\x18\x16 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bsource_time\x18\x17 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\x0bsource_type\x18\x18 \x01(\x0e\x32\x19.linker.trader.SourceType\x12)\n\x08\x63urrency\x18\x19 \x01(\x0e\x32\x17.linker.trader.Currency\"\x9b\x01\n\x0fGatewayPosition\x12\x0e\n\x06pos_id\x18\x01 \x01(\x06\x12\x12\n\naccount_id\x18\x02 \x01(\t\x12\x13\n\x0bsub_account\x18\x03 \x01(\t\x12\x0e\n\x06\x65rr_id\x18\x04 \x01(\x11\x12\x0f\n\x07\x65rr_msg\x18\x05 \x01(\t\x12.\n\tpositions\x18\x06 \x03(\x0b\x32\x1b.linker.trader.PositionInfo\"U\n\nReqAccount\x12\x0e\n\x06req_id\x18\x01 \x01(\x06\x12\x12\n\naccount_id\x18\x02 \x01(\t\x12\x13\n\x0bsub_account\x18\x03 \x01(\t\x12\x0e\n\x06sender\x18\x04 \x01(\t\"\xb8\x03\n\nRspAccount\x12\x12\n\naccount_id\x18\x01 \x01(\t\x12\x13\n\x0bsub_account\x18\x02 \x01(\t\x12\x11\n\tavail_amt\x18\x03 \x01(\x01\x12\x0f\n\x07\x62\x61lance\x18\x04 \x01(\x01\x12\x0e\n\x06\x65quity\x18\x05 \x01(\x01\x12\x0f\n\x07\x66rz_amt\x18\x06 \x01(\x01\x12\x12\n\nfrz_margin\x18\x07 \x01(\x01\x12\x11\n\tmkt_value\x18\x08 \x01(\x01\x12\x0b\n\x03pnl\x18\t \x01(\x01\x12\x14\n\x0crealized_pnl\x18\n \x01(\x01\x12\x16\n\x0eunrealized_pnl\x18\x0b \x01(\x01\x12-\n\trecv_time\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12/\n\x0bsource_time\x18\r \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12.\n\x0bsource_type\x18\x0e \x01(\x0e\x32\x19.linker.trader.SourceType\x12)\n\x08\x63urrency\x18\x0f \x01(\x0e\x32\x17.linker.trader.Currency\x12\x0e\n\x06\x65rr_id\x18\x10 \x01(\x11\x12\x0f\n\x07\x65rr_msg\x18\x11 \x01(\t\"Z\n\x0fReqActiveOrders\x12\x0e\n\x06req_id\x18\x01 \x01(\x06\x12\x12\n\naccount_id\x18\x02 \x01(\t\x12\x13\n\x0bsub_account\x18\x03 \x01(\t\x12\x0e\n\x06sender\x18\x04 \x01(\t\"z\n\x15ReqCancelActiveOrders\x12\x0e\n\x06req_id\x18\x01 \x01(\x06\x12\x12\n\naccount_id\x18\x02 \x01(\t\x12\x13\n\x0bsub_account\x18\x03 \x01(\t\x12\x0e\n\x06sender\x18\x04 \x01(\t\x12\x18\n\x10\x61\x63tive_orders_id\x18\x05 \x01(\x12\"8\n\x15RspCancelActiveOrders\x12\x0e\n\x06\x65rr_id\x18\x01 \x01(\x11\x12\x0f\n\x07\x65rr_msg\x18\x02 \x01(\t\"[\n\x10ReqHistoryTrades\x12\x0e\n\x06req_id\x18\x01 \x01(\x06\x12\x12\n\naccount_id\x18\x02 \x01(\t\x12\x13\n\x0bsub_account\x18\x03 \x01(\t\x12\x0e\n\x06sender\x18\x04 \x01(\t\"\x95\x01\n\x10RspHistoryTrades\x12\x0e\n\x06req_id\x18\x01 \x01(\x06\x12\x12\n\naccount_id\x18\x02 \x01(\t\x12\x13\n\x0bsub_account\x18\x03 \x01(\t\x12\x0e\n\x06\x65rr_id\x18\x04 \x01(\x11\x12\x0f\n\x07\x65rr_msg\x18\x05 \x01(\t\x12\'\n\x06trades\x18\x06 \x03(\x0b\x32\x17.linker.trader.RtnTrade\"\"\n\x0cReqParamInfo\x12\x12\n\nfile_names\x18\x01 \x03(\t\"\x8a\x01\n\x0cRspParamInfo\x12:\n\x0bparam_infos\x18\x01 \x03(\x0b\x32%.linker.trader.RspParamInfo.ParamInfo\x1a>\n\tParamInfo\x12\x11\n\tfile_name\x18\x01 \x01(\t\x12\x0f\n\x07\x63ontent\x18\x02 \x01(\t\x12\r\n\x05group\x18\x03 \x01(\t*\xb0\t\n\x07MsgType\x12\x18\n\x14MSG_TYPE_UNSPECIFIED\x10\x00\x12\x1e\n\x19MSG_TYPE_REQ_ORDER_INSERT\x10\xc8\x01\x12&\n!MSG_TYPE_REQ_ORDER_INSERT_NEED_RM\x10\xc9\x01\x12&\n!MSG_TYPE_REQ_ORDER_INSERT_PASS_RM\x10\xca\x01\x12&\n!MSG_TYPE_REQ_ORDER_INSERT_FAIL_RM\x10\xcb\x01\x12%\n MSG_TYPE_REQ_ORDER_INSERT_BASKET\x10\xcc\x01\x12 \n\x1bMSG_TYPE_REQ_ORDER_INSERT_J\x10\xcd\x01\x12\x1e\n\x19MSG_TYPE_REQ_ORDER_CANCEL\x10\xd2\x01\x12&\n!MSG_TYPE_REQ_ORDER_CANCEL_NEED_RM\x10\xd3\x01\x12&\n!MSG_TYPE_REQ_ORDER_CANCEL_PASS_RM\x10\xd4\x01\x12&\n!MSG_TYPE_REQ_ORDER_CANCEL_FAIL_RM\x10\xd5\x01\x12\x1e\n\x19MSG_TYPE_REQ_ORDER_STATUS\x10\xdc\x01\x12\x1a\n\x15MSG_TYPE_REQ_POSITION\x10\xe6\x01\x12\x19\n\x14MSG_TYPE_REQ_ACCOUNT\x10\xf0\x01\x12\x1c\n\x17MSG_TYPE_REQ_ORDER_INFO\x10\xfa\x01\x12\x1f\n\x1aMSG_TYPE_REQ_ACTIVE_ORDERS\x10\x84\x02\x12&\n!MSG_TYPE_REQ_CANCEL_ACTIVE_ORDERS\x10\x85\x02\x12 \n\x1bMSG_TYPE_REQ_HISTORY_TRADES\x10\x8e\x02\x12\x1e\n\x19MSG_TYPE_RSP_ORDER_INSERT\x10\xac\x02\x12%\n MSG_TYPE_RSP_ORDER_INSERT_BASKET\x10\xaf\x02\x12\x1e\n\x19MSG_TYPE_RSP_ORDER_CANCEL\x10\xb6\x02\x12\x1e\n\x19MSG_TYPE_RSP_ORDER_STATUS\x10\xc0\x02\x12\x1a\n\x15MSG_TYPE_RSP_POSITION\x10\xca\x02\x12\x19\n\x14MSG_TYPE_RSP_ACCOUNT\x10\xd4\x02\x12\x1c\n\x17MSG_TYPE_RSP_ORDER_INFO\x10\xde\x02\x12\x1f\n\x1aMSG_TYPE_RSP_ACTIVE_ORDERS\x10\xe8\x02\x12&\n!MSG_TYPE_RSP_CANCEL_ACTIVE_ORDERS\x10\xe9\x02\x12 \n\x1bMSG_TYPE_RSP_HISTORY_TRADES\x10\xf2\x02\x12\x17\n\x12MSG_TYPE_RTN_ORDER\x10\x90\x03\x12\x17\n\x12MSG_TYPE_RTN_TRADE\x10\x91\x03\x12\x1e\n\x1aMSG_TYPE_ORDER_TYPE_PREFIX\x10\x14\x12\x1d\n\x19MSG_TYPE_RTN_ORDER_PREFIX\x10(\x12\x1d\n\x19MSG_TYPE_RTN_TRADE_PREFIX\x10)\x12\x1f\n\x1aMSG_TYPE_PARAM_SERVER_TYPE\x10\xd8\x04\x12\x1c\n\x17MSG_TYPE_PARAM_REQ_INFO\x10\xd9\x04\x12\x1c\n\x17MSG_TYPE_PARAM_RSP_INFO\x10\xda\x04*\x8e\x10\n\x07\x45rrType\x12\x18\n\x14\x45RR_TYPE_UNSPECIFIED\x10\x00\x12 \n\x1b\x45RR_TYPE_INCOMPLETE_CONTENT\x10\x80\x08\x12\x1d\n\x18\x45RR_TYPE_INVALID_ACCOUNT\x10\x81\x08\x12 \n\x1b\x45RR_TYPE_JSON_BROKEN_FORMAT\x10\x82\x08\x12!\n\x1c\x45RR_TYPE_LACK_NECESSARY_INFO\x10\x83\x08\x12!\n\x1c\x45RR_TYPE_REQ_NOT_IMPLEMENTED\x10\x84\x08\x12\x1d\n\x18\x45RR_TYPE_ORDER_NOT_EXIST\x10\x85\x08\x12\x1f\n\x1a\x45RR_TYPE_ORDER_NOT_PENDING\x10\x86\x08\x12%\n ERR_TYPE_TRADE_GATEWAY_NOT_EXIST\x10\x87\x08\x12\"\n\x1d\x45RR_TYPE_PRE_REQ_ID_NOT_FOUND\x10\x88\x08\x12&\n!ERR_TYPE_PRE_REQ_ID_NOT_RESPONDED\x10\x89\x08\x12(\n#ERR_TYPE_CANCEL_IN_PROGRESS_ALREADY\x10\x8a\x08\x12\'\n\"ERR_TYPE_FAILED_ALGO_ORDER_PARSING\x10\x8b\x08\x12)\n$ERR_TYPE_FAILED_ALGO_ORDER_INSERTION\x10\x8c\x08\x12,\n\'ERR_TYPE_FAILED_ALGO_ORDER_CANCELLATION\x10\x8d\x08\x12*\n%ERR_TYPE_FAILED_CHILD_ORDER_INSERTION\x10\x8e\x08\x12!\n\x1c\x45RR_TYPE_BASKET_SERVER_EMPTY\x10\x8f\x08\x12+\n&ERR_TYPE_BASKET_SERVER_ORDER_NOT_FOUND\x10\x90\x08\x12\x1c\n\x17\x45RR_TYPE_FAILED_RMS_REQ\x10\x91\x08\x12$\n\x1f\x45RR_TYPE_RMS_RISK_RULE_VIOLATED\x10\x92\x08\x12\x1a\n\x15\x45RR_TYPE_NETWORK_DOWN\x10\x93\x08\x12\x16\n\x11\x45RR_TYPE_TIME_OUT\x10\x94\x08\x12&\n!ERR_TYPE_CONNECTION_BROKE_FINALLY\x10\x95\x08\x12\x1b\n\x16\x45RR_TYPE_OMS_NOT_FOUND\x10\x96\x08\x12\x1f\n\x1a\x45RR_TYPE_GATEWAY_NOT_FOUND\x10\x97\x08\x12\"\n\x1d\x45RR_TYPE_GATEWAY_DISCONNECTED\x10\x98\x08\x12$\n\x1f\x45RR_TYPE_RISK_MANAGER_NOT_FOUND\x10\x99\x08\x12%\n ERR_TYPE_BASKET_SERVER_NOT_FOUND\x10\x9a\x08\x12\x36\n1ERR_TYPE_RECONNECT_FAILURE_REQUESTS_NUMBER_EXCEED\x10\x80\x10\x12\x34\n/ERR_TYPE_RECONNECT_FAILURE_REQUESTS_RATE_EXCEED\x10\x81\x10\x12-\n(ERR_TYPE_RECONNECT_FAILURE_LOGIN_FAILURE\x10\x82\x10\x12\x30\n+ERR_TYPE_FRONT_DISCONNECTED_NETWORK_READING\x10\x83\x10\x12\x30\n+ERR_TYPE_FRONT_DISCONNECTED_NETWORK_WRITING\x10\x84\x10\x12\x32\n-ERR_TYPE_FRONT_DISCONNECTED_HEARTBEAT_TIMEOUT\x10\x85\x10\x12\x35\n0ERR_TYPE_FRONT_DISCONNECTED_SEND_HEATBEAT_FAILED\x10\x86\x10\x12.\n)ERR_TYPE_FRONT_DISCONNECTED_MESSAGE_ERROR\x10\x87\x10\x12(\n#ERR_TYPE_FRONT_DISCONNECTED_GENERAL\x10\x88\x10\x12\x38\n3ERR_TYPE_FRONT_DISCONNECTED_SUBSCRIBED_STREAM_ERROR\x10\x89\x10\x12>\n9ERR_TYPE_FRONT_DISCONNECTED_SUBSCRIBED_STREAM_INDEX_ERROR\x10\x8a\x10\x12\x38\n3ERR_TYPE_FRONT_DISCONNECTED_HEARTBEAT_MESSAGE_ERROR\x10\x8b\x10\x12 \n\x1b\x45RR_TYPE_GATEWAY_REQ_FAILED\x10\x80 \x12\x1f\n\x1a\x45RR_TYPE_FAILED_SEND_ORDER\x10\x81 \x12&\n!ERR_TYPE_FAILED_PARSE_EXCHANGE_ID\x10\x82 \x12$\n\x1f\x45RR_TYPE_FAILED_PARSE_DIRECTION\x10\x83 \x12%\n ERR_TYPE_FAILED_PARSE_ORDER_TYPE\x10\x84 \x12&\n!ERR_TYPE_FAILED_PARSE_OFFSET_FLAG\x10\x85 \x12&\n!ERR_TYPE_FAILED_SEND_ORDER_CANCEL\x10\x86 \x12!\n\x1c\x45RR_TYPE_ORDER_REF_NOT_FOUND\x10\x87 \x12$\n\x1f\x45RR_TYPE_UNSUPPOTED_EXCHANGE_ID\x10\x88 \x12!\n\x1c\x45RR_TYPE_FAILED_CANCEL_ORDER\x10\x89 \x12(\n#ERR_TYPE_FAILED_PARSE_SECURITY_TYPE\x10\x8a *\x9d\x03\n\x08\x45xchange\x12\x18\n\x14\x45XCHANGE_UNSPECIFIED\x10\x00\x12\x18\n\x14\x45XCHANGE_TRADITIONAL\x10\x64\x12\x10\n\x0c\x45XCHANGE_SSE\x10\x65\x12\x10\n\x0c\x45XCHANGE_SZE\x10\x66\x12\x0f\n\x0b\x45XCHANGE_HK\x10g\x12\x12\n\x0e\x45XCHANGE_CFFEX\x10h\x12\x10\n\x0c\x45XCHANGE_DCE\x10i\x12\x11\n\rEXCHANGE_SHFE\x10j\x12\x11\n\rEXCHANGE_CZCE\x10k\x12\x14\n\x0f\x45XCHANGE_CRYPTO\x10\xc8\x01\x12\x13\n\x0e\x45XCHANGE_HUOBI\x10\xc9\x01\x12\x12\n\rEXCHANGE_OKEX\x10\xca\x01\x12\x15\n\x10\x45XCHANGE_BINANCE\x10\xcb\x01\x12\x14\n\x0f\x45XCHANGE_BITMEX\x10\xcc\x01\x12\x16\n\x11\x45XCHANGE_BITSTAMP\x10\xcd\x01\x12\x16\n\x11\x45XCHANGE_COINBASE\x10\xce\x01\x12\x14\n\x0f\x45XCHANGE_KRAKEN\x10\xcf\x01\x12\x13\n\x0e\x45XCHANGE_BYBIT\x10\xd0\x01\x12\x15\n\x10\x45XCHANGE_DERIBIT\x10\xd1\x01*\xc6\x03\n\x0cSecurityType\x12\x1d\n\x19SECURITY_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19SECURITY_TYPE_TRADITIONAL\x10\x64\x12\x17\n\x13SECURITY_TYPE_STOCK\x10\x65\x12\x18\n\x14SECURITY_TYPE_FUTURE\x10\x66\x12\x16\n\x12SECURITY_TYPE_BOND\x10g\x12\x1e\n\x1aSECURITY_TYPE_STOCK_OPTION\x10h\x12\x16\n\x12SECURITY_TYPE_FUND\x10i\x12\x1c\n\x18SECURITY_TYPE_TECH_STOCK\x10j\x12\x17\n\x13SECURITY_TYPE_INDEX\x10k\x12\x16\n\x12SECURITY_TYPE_REPO\x10l\x12\x19\n\x14SECURITY_TYPE_CRYPTO\x10\xc8\x01\x12\x19\n\x14SECURITY_TYPE_C_SPOT\x10\xc9\x01\x12\x1b\n\x16SECURITY_TYPE_C_MARGIN\x10\xca\x01\x12\x1b\n\x16SECURITY_TYPE_C_FUTURE\x10\xcb\x01\x12\x19\n\x14SECURITY_TYPE_C_SWAP\x10\xcc\x01\x12\x1b\n\x16SECURITY_TYPE_C_OPTION\x10\xcd\x01*\xcb\x03\n\tOrderType\x12\x1a\n\x16ORDER_TYPE_UNSPECIFIED\x10\x00\x12!\n\x1dORDER_TYPE_PLAIN_ORDER_PREFIX\x10\n\x12 \n\x1cORDER_TYPE_ALGO_ORDER_PREFIX\x10\x14\x12\"\n\x1eORDER_TYPE_BASKET_ORDER_PREFIX\x10\x1e\x12\x14\n\x10ORDER_TYPE_PLAIN\x10\x64\x12\x14\n\x10ORDER_TYPE_LIMIT\x10\x65\x12\x15\n\x11ORDER_TYPE_MARKET\x10\x66\x12\x12\n\x0eORDER_TYPE_FAK\x10g\x12\x12\n\x0eORDER_TYPE_FOK\x10h\x12\x12\n\x0eORDER_TYPE_ANY\x10i\x12\x19\n\x15ORDER_TYPE_FAK_BEST_5\x10j\x12\x1b\n\x17ORDER_TYPE_FORWARD_BEST\x10k\x12\x1b\n\x17ORDER_TYPE_REVERSE_BEST\x10l\x12\x14\n\x0fORDER_TYPE_ALGO\x10\xc8\x01\x12\x14\n\x0fORDER_TYPE_TWAP\x10\xc9\x01\x12\x16\n\x11ORDER_TYPE_BASKET\x10\xac\x02\x12!\n\x1cORDER_TYPE_SINGLE_DAY_BASKET\x10\xad\x02*9\n\x04Side\x12\x14\n\x10SIDE_UNSPECIFIED\x10\x00\x12\x0c\n\x08SIDE_BUY\x10\x01\x12\r\n\tSIDE_SELL\x10\x02*\xb1\x01\n\nOffsetFlag\x12\x1b\n\x17OFFSET_FLAG_UNSPECIFIED\x10\x00\x12\x14\n\x10OFFSET_FLAG_OPEN\x10\x01\x12\x15\n\x11OFFSET_FLAG_CLOSE\x10\x02\x12\x1b\n\x17OFFSET_FLAG_FORCE_CLOSE\x10\x03\x12\x1b\n\x17OFFSET_FLAG_CLOSE_TODAY\x10\x04\x12\x1f\n\x1bOFFSET_FLAG_CLOSE_YESTERDAY\x10\x05*\xd8\x04\n\x0bOrderStatus\x12\x1c\n\x18ORDER_STATUS_UNSPECIFIED\x10\x00\x12\x18\n\x14ORDER_STATUS_UNKNOWN\x10\x01\x12\x19\n\x15ORDER_STATUS_PROPOSED\x10\x64\x12\x1b\n\x16ORDER_STATUS_RESPONDED\x10\xc8\x01\x12\x1a\n\x15ORDER_STATUS_QUEUEING\x10\xac\x02\x12#\n\x1eORDER_STATUS_NO_TRADE_QUEUEING\x10\xad\x02\x12%\n ORDER_STATUS_PART_TRADE_QUEUEING\x10\xae\x02\x12\x1d\n\x18ORDER_STATUS_PENDING_MAX\x10\x8f\x03\x12\x1a\n\x15ORDER_STATUS_REJECTED\x10\x90\x03\x12\"\n\x1dORDER_STATUS_REJECT_BY_ROUTER\x10\x91\x03\x12#\n\x1eORDER_STATUS_REJECT_BY_GATEWAY\x10\x92\x03\x12$\n\x1fORDER_STATUS_REJECT_BY_EXCHANGE\x10\x93\x03\x12$\n\x1fORDER_STATUS_REJECT_BY_RISK_MGR\x10\x94\x03\x12\x1b\n\x16ORDER_STATUS_TO_CANCEL\x10\xf4\x03\x12\x1a\n\x15ORDER_STATUS_CANCELED\x10\xd8\x04\x12#\n\x1eORDER_STATUS_NO_TRADE_CANCELED\x10\xd9\x04\x12%\n ORDER_STATUS_PART_TRADE_CANCELED\x10\xda\x04\x12\x1c\n\x17ORDER_STATUS_ALL_TRADED\x10\xbc\x05*\xca\x01\n\x08\x43urrency\x12\x18\n\x14\x43URRENCY_UNSPECIFIED\x10\x00\x12\x10\n\x0c\x43URRENCY_CNY\x10\x01\x12\x10\n\x0c\x43URRENCY_USD\x10\x02\x12\x13\n\x0f\x43URRENCY_CRYPTO\x10\x64\x12\x10\n\x0c\x43URRENCY_BTC\x10\x65\x12\x10\n\x0c\x43URRENCY_ETH\x10\x66\x12\x10\n\x0c\x43URRENCY_EOS\x10g\x12\x10\n\x0c\x43URRENCY_XRP\x10h\x12\x10\n\x0c\x43URRENCY_LTC\x10i\x12\x11\n\rCURRENCY_USDT\x10j*\xec\x03\n\nSourceType\x12\x1b\n\x17SOURCE_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0fSOURCE_TYPE_OMS\x10\x01\x12\x17\n\x13SOURCE_TYPE_GTW_API\x10\x64\x12\x13\n\x0fSOURCE_TYPE_CTP\x10\x65\x12\x15\n\x11SOURCE_TYPE_FEMAS\x10\x66\x12\x13\n\x0fSOURCE_TYPE_XTP\x10g\x12\x14\n\x10SOURCE_TYPE_TORA\x10h\x12\x14\n\x10SOURCE_TYPE_KPMS\x10i\x12\x13\n\x0fSOURCE_TYPE_UFX\x10j\x12\x13\n\x0fSOURCE_TYPE_LTS\x10k\x12\x14\n\x10SOURCE_TYPE_PBOX\x10l\x12\x19\n\x14SOURCE_TYPE_GTW_FILE\x10\xc8\x01\x12\x1c\n\x17SOURCE_TYPE_XUNTOU_FILE\x10\xc9\x01\x12\x19\n\x14SOURCE_TYPE_GTW_EXCH\x10\xac\x02\x12\x16\n\x11SOURCE_TYPE_HUOBI\x10\xad\x02\x12\x15\n\x10SOURCE_TYPE_OKEX\x10\xae\x02\x12\x18\n\x13SOURCE_TYPE_BINANCE\x10\xaf\x02\x12\x17\n\x12SOURCE_TYPE_BITMEX\x10\xb0\x02\x12\x16\n\x11SOURCE_TYPE_BYBIT\x10\xb1\x02\x12\x18\n\x13SOURCE_TYPE_DERIBIT\x10\xb2\x02*O\n\x08\x45xecRole\x12\x19\n\x15\x45XEC_ROLE_UNSPECIFIED\x10\x00\x12\x13\n\x0f\x45XEC_ROLE_MAKER\x10\x01\x12\x13\n\x0f\x45XEC_ROLE_TAKER\x10\x02*Y\n\nMarginMode\x12\x1b\n\x17MARGIN_MODE_UNSPECIFIED\x10\x00\x12\x17\n\x13MARGIN_MODE_CROSSED\x10\x01\x12\x15\n\x11MARGIN_MODE_FIXED\x10\x02*b\n\tDirection\x12\x19\n\x15\x44IRECTION_UNSPECIFIED\x10\x00\x12\x11\n\rDIRECTION_NET\x10\x01\x12\x12\n\x0e\x44IRECTION_LONG\x10\x02\x12\x13\n\x0f\x44IRECTION_SHORT\x10\x03\x62\x06proto3'
  ,
  dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,])

_MSGTYPE = _descriptor.EnumDescriptor(
  name='MsgType',
  full_name='linker.trader.MsgType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_UNSPECIFIED', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_REQ_ORDER_INSERT', index=1, number=200,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_REQ_ORDER_INSERT_NEED_RM', index=2, number=201,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_REQ_ORDER_INSERT_PASS_RM', index=3, number=202,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_REQ_ORDER_INSERT_FAIL_RM', index=4, number=203,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_REQ_ORDER_INSERT_BASKET', index=5, number=204,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_REQ_ORDER_INSERT_J', index=6, number=205,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_REQ_ORDER_CANCEL', index=7, number=210,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_REQ_ORDER_CANCEL_NEED_RM', index=8, number=211,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_REQ_ORDER_CANCEL_PASS_RM', index=9, number=212,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_REQ_ORDER_CANCEL_FAIL_RM', index=10, number=213,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_REQ_ORDER_STATUS', index=11, number=220,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_REQ_POSITION', index=12, number=230,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_REQ_ACCOUNT', index=13, number=240,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_REQ_ORDER_INFO', index=14, number=250,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_REQ_ACTIVE_ORDERS', index=15, number=260,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_REQ_CANCEL_ACTIVE_ORDERS', index=16, number=261,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_REQ_HISTORY_TRADES', index=17, number=270,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_RSP_ORDER_INSERT', index=18, number=300,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_RSP_ORDER_INSERT_BASKET', index=19, number=303,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_RSP_ORDER_CANCEL', index=20, number=310,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_RSP_ORDER_STATUS', index=21, number=320,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_RSP_POSITION', index=22, number=330,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_RSP_ACCOUNT', index=23, number=340,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_RSP_ORDER_INFO', index=24, number=350,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_RSP_ACTIVE_ORDERS', index=25, number=360,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_RSP_CANCEL_ACTIVE_ORDERS', index=26, number=361,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_RSP_HISTORY_TRADES', index=27, number=370,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_RTN_ORDER', index=28, number=400,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_RTN_TRADE', index=29, number=401,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_ORDER_TYPE_PREFIX', index=30, number=20,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_RTN_ORDER_PREFIX', index=31, number=40,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_RTN_TRADE_PREFIX', index=32, number=41,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_PARAM_SERVER_TYPE', index=33, number=600,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_PARAM_REQ_INFO', index=34, number=601,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MSG_TYPE_PARAM_RSP_INFO', index=35, number=602,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=5524,
  serialized_end=6724,
)
_sym_db.RegisterEnumDescriptor(_MSGTYPE)

MsgType = enum_type_wrapper.EnumTypeWrapper(_MSGTYPE)
_ERRTYPE = _descriptor.EnumDescriptor(
  name='ErrType',
  full_name='linker.trader.ErrType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_UNSPECIFIED', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_INCOMPLETE_CONTENT', index=1, number=1024,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_INVALID_ACCOUNT', index=2, number=1025,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_JSON_BROKEN_FORMAT', index=3, number=1026,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_LACK_NECESSARY_INFO', index=4, number=1027,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_REQ_NOT_IMPLEMENTED', index=5, number=1028,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_ORDER_NOT_EXIST', index=6, number=1029,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_ORDER_NOT_PENDING', index=7, number=1030,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_TRADE_GATEWAY_NOT_EXIST', index=8, number=1031,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_PRE_REQ_ID_NOT_FOUND', index=9, number=1032,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_PRE_REQ_ID_NOT_RESPONDED', index=10, number=1033,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_CANCEL_IN_PROGRESS_ALREADY', index=11, number=1034,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_FAILED_ALGO_ORDER_PARSING', index=12, number=1035,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_FAILED_ALGO_ORDER_INSERTION', index=13, number=1036,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_FAILED_ALGO_ORDER_CANCELLATION', index=14, number=1037,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_FAILED_CHILD_ORDER_INSERTION', index=15, number=1038,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_BASKET_SERVER_EMPTY', index=16, number=1039,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_BASKET_SERVER_ORDER_NOT_FOUND', index=17, number=1040,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_FAILED_RMS_REQ', index=18, number=1041,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_RMS_RISK_RULE_VIOLATED', index=19, number=1042,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_NETWORK_DOWN', index=20, number=1043,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_TIME_OUT', index=21, number=1044,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_CONNECTION_BROKE_FINALLY', index=22, number=1045,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_OMS_NOT_FOUND', index=23, number=1046,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_GATEWAY_NOT_FOUND', index=24, number=1047,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_GATEWAY_DISCONNECTED', index=25, number=1048,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_RISK_MANAGER_NOT_FOUND', index=26, number=1049,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_BASKET_SERVER_NOT_FOUND', index=27, number=1050,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_RECONNECT_FAILURE_REQUESTS_NUMBER_EXCEED', index=28, number=2048,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_RECONNECT_FAILURE_REQUESTS_RATE_EXCEED', index=29, number=2049,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_RECONNECT_FAILURE_LOGIN_FAILURE', index=30, number=2050,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_FRONT_DISCONNECTED_NETWORK_READING', index=31, number=2051,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_FRONT_DISCONNECTED_NETWORK_WRITING', index=32, number=2052,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_FRONT_DISCONNECTED_HEARTBEAT_TIMEOUT', index=33, number=2053,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_FRONT_DISCONNECTED_SEND_HEATBEAT_FAILED', index=34, number=2054,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_FRONT_DISCONNECTED_MESSAGE_ERROR', index=35, number=2055,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_FRONT_DISCONNECTED_GENERAL', index=36, number=2056,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_FRONT_DISCONNECTED_SUBSCRIBED_STREAM_ERROR', index=37, number=2057,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_FRONT_DISCONNECTED_SUBSCRIBED_STREAM_INDEX_ERROR', index=38, number=2058,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_FRONT_DISCONNECTED_HEARTBEAT_MESSAGE_ERROR', index=39, number=2059,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_GATEWAY_REQ_FAILED', index=40, number=4096,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_FAILED_SEND_ORDER', index=41, number=4097,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_FAILED_PARSE_EXCHANGE_ID', index=42, number=4098,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_FAILED_PARSE_DIRECTION', index=43, number=4099,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_FAILED_PARSE_ORDER_TYPE', index=44, number=4100,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_FAILED_PARSE_OFFSET_FLAG', index=45, number=4101,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_FAILED_SEND_ORDER_CANCEL', index=46, number=4102,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_ORDER_REF_NOT_FOUND', index=47, number=4103,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_UNSUPPOTED_EXCHANGE_ID', index=48, number=4104,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_FAILED_CANCEL_ORDER', index=49, number=4105,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ERR_TYPE_FAILED_PARSE_SECURITY_TYPE', index=50, number=4106,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=6727,
  serialized_end=8789,
)
_sym_db.RegisterEnumDescriptor(_ERRTYPE)

ErrType = enum_type_wrapper.EnumTypeWrapper(_ERRTYPE)
_EXCHANGE = _descriptor.EnumDescriptor(
  name='Exchange',
  full_name='linker.trader.Exchange',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='EXCHANGE_UNSPECIFIED', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EXCHANGE_TRADITIONAL', index=1, number=100,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EXCHANGE_SSE', index=2, number=101,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EXCHANGE_SZE', index=3, number=102,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EXCHANGE_HK', index=4, number=103,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EXCHANGE_CFFEX', index=5, number=104,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EXCHANGE_DCE', index=6, number=105,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EXCHANGE_SHFE', index=7, number=106,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EXCHANGE_CZCE', index=8, number=107,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EXCHANGE_CRYPTO', index=9, number=200,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EXCHANGE_HUOBI', index=10, number=201,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EXCHANGE_OKEX', index=11, number=202,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EXCHANGE_BINANCE', index=12, number=203,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EXCHANGE_BITMEX', index=13, number=204,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EXCHANGE_BITSTAMP', index=14, number=205,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EXCHANGE_COINBASE', index=15, number=206,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EXCHANGE_KRAKEN', index=16, number=207,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EXCHANGE_BYBIT', index=17, number=208,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EXCHANGE_DERIBIT', index=18, number=209,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=8792,
  serialized_end=9205,
)
_sym_db.RegisterEnumDescriptor(_EXCHANGE)

Exchange = enum_type_wrapper.EnumTypeWrapper(_EXCHANGE)
_SECURITYTYPE = _descriptor.EnumDescriptor(
  name='SecurityType',
  full_name='linker.trader.SecurityType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='SECURITY_TYPE_UNSPECIFIED', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SECURITY_TYPE_TRADITIONAL', index=1, number=100,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SECURITY_TYPE_STOCK', index=2, number=101,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SECURITY_TYPE_FUTURE', index=3, number=102,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SECURITY_TYPE_BOND', index=4, number=103,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SECURITY_TYPE_STOCK_OPTION', index=5, number=104,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SECURITY_TYPE_FUND', index=6, number=105,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SECURITY_TYPE_TECH_STOCK', index=7, number=106,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SECURITY_TYPE_INDEX', index=8, number=107,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SECURITY_TYPE_REPO', index=9, number=108,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SECURITY_TYPE_CRYPTO', index=10, number=200,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SECURITY_TYPE_C_SPOT', index=11, number=201,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SECURITY_TYPE_C_MARGIN', index=12, number=202,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SECURITY_TYPE_C_FUTURE', index=13, number=203,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SECURITY_TYPE_C_SWAP', index=14, number=204,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SECURITY_TYPE_C_OPTION', index=15, number=205,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=9208,
  serialized_end=9662,
)
_sym_db.RegisterEnumDescriptor(_SECURITYTYPE)

SecurityType = enum_type_wrapper.EnumTypeWrapper(_SECURITYTYPE)
_ORDERTYPE = _descriptor.EnumDescriptor(
  name='OrderType',
  full_name='linker.trader.OrderType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='ORDER_TYPE_UNSPECIFIED', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_TYPE_PLAIN_ORDER_PREFIX', index=1, number=10,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_TYPE_ALGO_ORDER_PREFIX', index=2, number=20,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_TYPE_BASKET_ORDER_PREFIX', index=3, number=30,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_TYPE_PLAIN', index=4, number=100,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_TYPE_LIMIT', index=5, number=101,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_TYPE_MARKET', index=6, number=102,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_TYPE_FAK', index=7, number=103,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_TYPE_FOK', index=8, number=104,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_TYPE_ANY', index=9, number=105,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_TYPE_FAK_BEST_5', index=10, number=106,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_TYPE_FORWARD_BEST', index=11, number=107,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_TYPE_REVERSE_BEST', index=12, number=108,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_TYPE_ALGO', index=13, number=200,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_TYPE_TWAP', index=14, number=201,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_TYPE_BASKET', index=15, number=300,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_TYPE_SINGLE_DAY_BASKET', index=16, number=301,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=9665,
  serialized_end=10124,
)
_sym_db.RegisterEnumDescriptor(_ORDERTYPE)

OrderType = enum_type_wrapper.EnumTypeWrapper(_ORDERTYPE)
_SIDE = _descriptor.EnumDescriptor(
  name='Side',
  full_name='linker.trader.Side',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='SIDE_UNSPECIFIED', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SIDE_BUY', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SIDE_SELL', index=2, number=2,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=10126,
  serialized_end=10183,
)
_sym_db.RegisterEnumDescriptor(_SIDE)

Side = enum_type_wrapper.EnumTypeWrapper(_SIDE)
_OFFSETFLAG = _descriptor.EnumDescriptor(
  name='OffsetFlag',
  full_name='linker.trader.OffsetFlag',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='OFFSET_FLAG_UNSPECIFIED', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='OFFSET_FLAG_OPEN', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='OFFSET_FLAG_CLOSE', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='OFFSET_FLAG_FORCE_CLOSE', index=3, number=3,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='OFFSET_FLAG_CLOSE_TODAY', index=4, number=4,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='OFFSET_FLAG_CLOSE_YESTERDAY', index=5, number=5,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=10186,
  serialized_end=10363,
)
_sym_db.RegisterEnumDescriptor(_OFFSETFLAG)

OffsetFlag = enum_type_wrapper.EnumTypeWrapper(_OFFSETFLAG)
_ORDERSTATUS = _descriptor.EnumDescriptor(
  name='OrderStatus',
  full_name='linker.trader.OrderStatus',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='ORDER_STATUS_UNSPECIFIED', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_STATUS_UNKNOWN', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_STATUS_PROPOSED', index=2, number=100,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_STATUS_RESPONDED', index=3, number=200,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_STATUS_QUEUEING', index=4, number=300,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_STATUS_NO_TRADE_QUEUEING', index=5, number=301,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_STATUS_PART_TRADE_QUEUEING', index=6, number=302,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_STATUS_PENDING_MAX', index=7, number=399,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_STATUS_REJECTED', index=8, number=400,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_STATUS_REJECT_BY_ROUTER', index=9, number=401,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_STATUS_REJECT_BY_GATEWAY', index=10, number=402,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_STATUS_REJECT_BY_EXCHANGE', index=11, number=403,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_STATUS_REJECT_BY_RISK_MGR', index=12, number=404,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_STATUS_TO_CANCEL', index=13, number=500,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_STATUS_CANCELED', index=14, number=600,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_STATUS_NO_TRADE_CANCELED', index=15, number=601,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_STATUS_PART_TRADE_CANCELED', index=16, number=602,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ORDER_STATUS_ALL_TRADED', index=17, number=700,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=10366,
  serialized_end=10966,
)
_sym_db.RegisterEnumDescriptor(_ORDERSTATUS)

OrderStatus = enum_type_wrapper.EnumTypeWrapper(_ORDERSTATUS)
_CURRENCY = _descriptor.EnumDescriptor(
  name='Currency',
  full_name='linker.trader.Currency',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='CURRENCY_UNSPECIFIED', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CURRENCY_CNY', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CURRENCY_USD', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CURRENCY_CRYPTO', index=3, number=100,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CURRENCY_BTC', index=4, number=101,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CURRENCY_ETH', index=5, number=102,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CURRENCY_EOS', index=6, number=103,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CURRENCY_XRP', index=7, number=104,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CURRENCY_LTC', index=8, number=105,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CURRENCY_USDT', index=9, number=106,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=10969,
  serialized_end=11171,
)
_sym_db.RegisterEnumDescriptor(_CURRENCY)

Currency = enum_type_wrapper.EnumTypeWrapper(_CURRENCY)
_SOURCETYPE = _descriptor.EnumDescriptor(
  name='SourceType',
  full_name='linker.trader.SourceType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='SOURCE_TYPE_UNSPECIFIED', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SOURCE_TYPE_OMS', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SOURCE_TYPE_GTW_API', index=2, number=100,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SOURCE_TYPE_CTP', index=3, number=101,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SOURCE_TYPE_FEMAS', index=4, number=102,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SOURCE_TYPE_XTP', index=5, number=103,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SOURCE_TYPE_TORA', index=6, number=104,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SOURCE_TYPE_KPMS', index=7, number=105,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SOURCE_TYPE_UFX', index=8, number=106,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SOURCE_TYPE_LTS', index=9, number=107,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SOURCE_TYPE_PBOX', index=10, number=108,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SOURCE_TYPE_GTW_FILE', index=11, number=200,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SOURCE_TYPE_XUNTOU_FILE', index=12, number=201,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SOURCE_TYPE_GTW_EXCH', index=13, number=300,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SOURCE_TYPE_HUOBI', index=14, number=301,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SOURCE_TYPE_OKEX', index=15, number=302,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SOURCE_TYPE_BINANCE', index=16, number=303,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SOURCE_TYPE_BITMEX', index=17, number=304,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SOURCE_TYPE_BYBIT', index=18, number=305,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SOURCE_TYPE_DERIBIT', index=19, number=306,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=11174,
  serialized_end=11666,
)
_sym_db.RegisterEnumDescriptor(_SOURCETYPE)

SourceType = enum_type_wrapper.EnumTypeWrapper(_SOURCETYPE)
_EXECROLE = _descriptor.EnumDescriptor(
  name='ExecRole',
  full_name='linker.trader.ExecRole',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='EXEC_ROLE_UNSPECIFIED', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EXEC_ROLE_MAKER', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EXEC_ROLE_TAKER', index=2, number=2,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=11668,
  serialized_end=11747,
)
_sym_db.RegisterEnumDescriptor(_EXECROLE)

ExecRole = enum_type_wrapper.EnumTypeWrapper(_EXECROLE)
_MARGINMODE = _descriptor.EnumDescriptor(
  name='MarginMode',
  full_name='linker.trader.MarginMode',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='MARGIN_MODE_UNSPECIFIED', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MARGIN_MODE_CROSSED', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MARGIN_MODE_FIXED', index=2, number=2,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=11749,
  serialized_end=11838,
)
_sym_db.RegisterEnumDescriptor(_MARGINMODE)

MarginMode = enum_type_wrapper.EnumTypeWrapper(_MARGINMODE)
_DIRECTION = _descriptor.EnumDescriptor(
  name='Direction',
  full_name='linker.trader.Direction',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='DIRECTION_UNSPECIFIED', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DIRECTION_NET', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DIRECTION_LONG', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DIRECTION_SHORT', index=3, number=3,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=11840,
  serialized_end=11938,
)
_sym_db.RegisterEnumDescriptor(_DIRECTION)

Direction = enum_type_wrapper.EnumTypeWrapper(_DIRECTION)
MSG_TYPE_UNSPECIFIED = 0
MSG_TYPE_REQ_ORDER_INSERT = 200
MSG_TYPE_REQ_ORDER_INSERT_NEED_RM = 201
MSG_TYPE_REQ_ORDER_INSERT_PASS_RM = 202
MSG_TYPE_REQ_ORDER_INSERT_FAIL_RM = 203
MSG_TYPE_REQ_ORDER_INSERT_BASKET = 204
MSG_TYPE_REQ_ORDER_INSERT_J = 205
MSG_TYPE_REQ_ORDER_CANCEL = 210
MSG_TYPE_REQ_ORDER_CANCEL_NEED_RM = 211
MSG_TYPE_REQ_ORDER_CANCEL_PASS_RM = 212
MSG_TYPE_REQ_ORDER_CANCEL_FAIL_RM = 213
MSG_TYPE_REQ_ORDER_STATUS = 220
MSG_TYPE_REQ_POSITION = 230
MSG_TYPE_REQ_ACCOUNT = 240
MSG_TYPE_REQ_ORDER_INFO = 250
MSG_TYPE_REQ_ACTIVE_ORDERS = 260
MSG_TYPE_REQ_CANCEL_ACTIVE_ORDERS = 261
MSG_TYPE_REQ_HISTORY_TRADES = 270
MSG_TYPE_RSP_ORDER_INSERT = 300
MSG_TYPE_RSP_ORDER_INSERT_BASKET = 303
MSG_TYPE_RSP_ORDER_CANCEL = 310
MSG_TYPE_RSP_ORDER_STATUS = 320
MSG_TYPE_RSP_POSITION = 330
MSG_TYPE_RSP_ACCOUNT = 340
MSG_TYPE_RSP_ORDER_INFO = 350
MSG_TYPE_RSP_ACTIVE_ORDERS = 360
MSG_TYPE_RSP_CANCEL_ACTIVE_ORDERS = 361
MSG_TYPE_RSP_HISTORY_TRADES = 370
MSG_TYPE_RTN_ORDER = 400
MSG_TYPE_RTN_TRADE = 401
MSG_TYPE_ORDER_TYPE_PREFIX = 20
MSG_TYPE_RTN_ORDER_PREFIX = 40
MSG_TYPE_RTN_TRADE_PREFIX = 41
MSG_TYPE_PARAM_SERVER_TYPE = 600
MSG_TYPE_PARAM_REQ_INFO = 601
MSG_TYPE_PARAM_RSP_INFO = 602
ERR_TYPE_UNSPECIFIED = 0
ERR_TYPE_INCOMPLETE_CONTENT = 1024
ERR_TYPE_INVALID_ACCOUNT = 1025
ERR_TYPE_JSON_BROKEN_FORMAT = 1026
ERR_TYPE_LACK_NECESSARY_INFO = 1027
ERR_TYPE_REQ_NOT_IMPLEMENTED = 1028
ERR_TYPE_ORDER_NOT_EXIST = 1029
ERR_TYPE_ORDER_NOT_PENDING = 1030
ERR_TYPE_TRADE_GATEWAY_NOT_EXIST = 1031
ERR_TYPE_PRE_REQ_ID_NOT_FOUND = 1032
ERR_TYPE_PRE_REQ_ID_NOT_RESPONDED = 1033
ERR_TYPE_CANCEL_IN_PROGRESS_ALREADY = 1034
ERR_TYPE_FAILED_ALGO_ORDER_PARSING = 1035
ERR_TYPE_FAILED_ALGO_ORDER_INSERTION = 1036
ERR_TYPE_FAILED_ALGO_ORDER_CANCELLATION = 1037
ERR_TYPE_FAILED_CHILD_ORDER_INSERTION = 1038
ERR_TYPE_BASKET_SERVER_EMPTY = 1039
ERR_TYPE_BASKET_SERVER_ORDER_NOT_FOUND = 1040
ERR_TYPE_FAILED_RMS_REQ = 1041
ERR_TYPE_RMS_RISK_RULE_VIOLATED = 1042
ERR_TYPE_NETWORK_DOWN = 1043
ERR_TYPE_TIME_OUT = 1044
ERR_TYPE_CONNECTION_BROKE_FINALLY = 1045
ERR_TYPE_OMS_NOT_FOUND = 1046
ERR_TYPE_GATEWAY_NOT_FOUND = 1047
ERR_TYPE_GATEWAY_DISCONNECTED = 1048
ERR_TYPE_RISK_MANAGER_NOT_FOUND = 1049
ERR_TYPE_BASKET_SERVER_NOT_FOUND = 1050
ERR_TYPE_RECONNECT_FAILURE_REQUESTS_NUMBER_EXCEED = 2048
ERR_TYPE_RECONNECT_FAILURE_REQUESTS_RATE_EXCEED = 2049
ERR_TYPE_RECONNECT_FAILURE_LOGIN_FAILURE = 2050
ERR_TYPE_FRONT_DISCONNECTED_NETWORK_READING = 2051
ERR_TYPE_FRONT_DISCONNECTED_NETWORK_WRITING = 2052
ERR_TYPE_FRONT_DISCONNECTED_HEARTBEAT_TIMEOUT = 2053
ERR_TYPE_FRONT_DISCONNECTED_SEND_HEATBEAT_FAILED = 2054
ERR_TYPE_FRONT_DISCONNECTED_MESSAGE_ERROR = 2055
ERR_TYPE_FRONT_DISCONNECTED_GENERAL = 2056
ERR_TYPE_FRONT_DISCONNECTED_SUBSCRIBED_STREAM_ERROR = 2057
ERR_TYPE_FRONT_DISCONNECTED_SUBSCRIBED_STREAM_INDEX_ERROR = 2058
ERR_TYPE_FRONT_DISCONNECTED_HEARTBEAT_MESSAGE_ERROR = 2059
ERR_TYPE_GATEWAY_REQ_FAILED = 4096
ERR_TYPE_FAILED_SEND_ORDER = 4097
ERR_TYPE_FAILED_PARSE_EXCHANGE_ID = 4098
ERR_TYPE_FAILED_PARSE_DIRECTION = 4099
ERR_TYPE_FAILED_PARSE_ORDER_TYPE = 4100
ERR_TYPE_FAILED_PARSE_OFFSET_FLAG = 4101
ERR_TYPE_FAILED_SEND_ORDER_CANCEL = 4102
ERR_TYPE_ORDER_REF_NOT_FOUND = 4103
ERR_TYPE_UNSUPPOTED_EXCHANGE_ID = 4104
ERR_TYPE_FAILED_CANCEL_ORDER = 4105
ERR_TYPE_FAILED_PARSE_SECURITY_TYPE = 4106
EXCHANGE_UNSPECIFIED = 0
EXCHANGE_TRADITIONAL = 100
EXCHANGE_SSE = 101
EXCHANGE_SZE = 102
EXCHANGE_HK = 103
EXCHANGE_CFFEX = 104
EXCHANGE_DCE = 105
EXCHANGE_SHFE = 106
EXCHANGE_CZCE = 107
EXCHANGE_CRYPTO = 200
EXCHANGE_HUOBI = 201
EXCHANGE_OKEX = 202
EXCHANGE_BINANCE = 203
EXCHANGE_BITMEX = 204
EXCHANGE_BITSTAMP = 205
EXCHANGE_COINBASE = 206
EXCHANGE_KRAKEN = 207
EXCHANGE_BYBIT = 208
EXCHANGE_DERIBIT = 209
SECURITY_TYPE_UNSPECIFIED = 0
SECURITY_TYPE_TRADITIONAL = 100
SECURITY_TYPE_STOCK = 101
SECURITY_TYPE_FUTURE = 102
SECURITY_TYPE_BOND = 103
SECURITY_TYPE_STOCK_OPTION = 104
SECURITY_TYPE_FUND = 105
SECURITY_TYPE_TECH_STOCK = 106
SECURITY_TYPE_INDEX = 107
SECURITY_TYPE_REPO = 108
SECURITY_TYPE_CRYPTO = 200
SECURITY_TYPE_C_SPOT = 201
SECURITY_TYPE_C_MARGIN = 202
SECURITY_TYPE_C_FUTURE = 203
SECURITY_TYPE_C_SWAP = 204
SECURITY_TYPE_C_OPTION = 205
ORDER_TYPE_UNSPECIFIED = 0
ORDER_TYPE_PLAIN_ORDER_PREFIX = 10
ORDER_TYPE_ALGO_ORDER_PREFIX = 20
ORDER_TYPE_BASKET_ORDER_PREFIX = 30
ORDER_TYPE_PLAIN = 100
ORDER_TYPE_LIMIT = 101
ORDER_TYPE_MARKET = 102
ORDER_TYPE_FAK = 103
ORDER_TYPE_FOK = 104
ORDER_TYPE_ANY = 105
ORDER_TYPE_FAK_BEST_5 = 106
ORDER_TYPE_FORWARD_BEST = 107
ORDER_TYPE_REVERSE_BEST = 108
ORDER_TYPE_ALGO = 200
ORDER_TYPE_TWAP = 201
ORDER_TYPE_BASKET = 300
ORDER_TYPE_SINGLE_DAY_BASKET = 301
SIDE_UNSPECIFIED = 0
SIDE_BUY = 1
SIDE_SELL = 2
OFFSET_FLAG_UNSPECIFIED = 0
OFFSET_FLAG_OPEN = 1
OFFSET_FLAG_CLOSE = 2
OFFSET_FLAG_FORCE_CLOSE = 3
OFFSET_FLAG_CLOSE_TODAY = 4
OFFSET_FLAG_CLOSE_YESTERDAY = 5
ORDER_STATUS_UNSPECIFIED = 0
ORDER_STATUS_UNKNOWN = 1
ORDER_STATUS_PROPOSED = 100
ORDER_STATUS_RESPONDED = 200
ORDER_STATUS_QUEUEING = 300
ORDER_STATUS_NO_TRADE_QUEUEING = 301
ORDER_STATUS_PART_TRADE_QUEUEING = 302
ORDER_STATUS_PENDING_MAX = 399
ORDER_STATUS_REJECTED = 400
ORDER_STATUS_REJECT_BY_ROUTER = 401
ORDER_STATUS_REJECT_BY_GATEWAY = 402
ORDER_STATUS_REJECT_BY_EXCHANGE = 403
ORDER_STATUS_REJECT_BY_RISK_MGR = 404
ORDER_STATUS_TO_CANCEL = 500
ORDER_STATUS_CANCELED = 600
ORDER_STATUS_NO_TRADE_CANCELED = 601
ORDER_STATUS_PART_TRADE_CANCELED = 602
ORDER_STATUS_ALL_TRADED = 700
CURRENCY_UNSPECIFIED = 0
CURRENCY_CNY = 1
CURRENCY_USD = 2
CURRENCY_CRYPTO = 100
CURRENCY_BTC = 101
CURRENCY_ETH = 102
CURRENCY_EOS = 103
CURRENCY_XRP = 104
CURRENCY_LTC = 105
CURRENCY_USDT = 106
SOURCE_TYPE_UNSPECIFIED = 0
SOURCE_TYPE_OMS = 1
SOURCE_TYPE_GTW_API = 100
SOURCE_TYPE_CTP = 101
SOURCE_TYPE_FEMAS = 102
SOURCE_TYPE_XTP = 103
SOURCE_TYPE_TORA = 104
SOURCE_TYPE_KPMS = 105
SOURCE_TYPE_UFX = 106
SOURCE_TYPE_LTS = 107
SOURCE_TYPE_PBOX = 108
SOURCE_TYPE_GTW_FILE = 200
SOURCE_TYPE_XUNTOU_FILE = 201
SOURCE_TYPE_GTW_EXCH = 300
SOURCE_TYPE_HUOBI = 301
SOURCE_TYPE_OKEX = 302
SOURCE_TYPE_BINANCE = 303
SOURCE_TYPE_BITMEX = 304
SOURCE_TYPE_BYBIT = 305
SOURCE_TYPE_DERIBIT = 306
EXEC_ROLE_UNSPECIFIED = 0
EXEC_ROLE_MAKER = 1
EXEC_ROLE_TAKER = 2
MARGIN_MODE_UNSPECIFIED = 0
MARGIN_MODE_CROSSED = 1
MARGIN_MODE_FIXED = 2
DIRECTION_UNSPECIFIED = 0
DIRECTION_NET = 1
DIRECTION_LONG = 2
DIRECTION_SHORT = 3



_REQORDERINSERT = _descriptor.Descriptor(
  name='ReqOrderInsert',
  full_name='linker.trader.ReqOrderInsert',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='account_id', full_name='linker.trader.ReqOrderInsert.account_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sub_account', full_name='linker.trader.ReqOrderInsert.sub_account', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sender', full_name='linker.trader.ReqOrderInsert.sender', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='order_id', full_name='linker.trader.ReqOrderInsert.order_id', index=3,
      number=4, type=6, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='order_ref', full_name='linker.trader.ReqOrderInsert.order_ref', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='parent_id', full_name='linker.trader.ReqOrderInsert.parent_id', index=5,
      number=6, type=16, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='exchange', full_name='linker.trader.ReqOrderInsert.exchange', index=6,
      number=7, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='offset_flag', full_name='linker.trader.ReqOrderInsert.offset_flag', index=7,
      number=8, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='order_type', full_name='linker.trader.ReqOrderInsert.order_type', index=8,
      number=9, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='security_type', full_name='linker.trader.ReqOrderInsert.security_type', index=9,
      number=10, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='side', full_name='linker.trader.ReqOrderInsert.side', index=10,
      number=11, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='symbol', full_name='linker.trader.ReqOrderInsert.symbol', index=11,
      number=12, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='entrust_vol', full_name='linker.trader.ReqOrderInsert.entrust_vol', index=12,
      number=13, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='entrust_price', full_name='linker.trader.ReqOrderInsert.entrust_price', index=13,
      number=14, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='entrust_amt', full_name='linker.trader.ReqOrderInsert.entrust_amt', index=14,
      number=15, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='margin_mode', full_name='linker.trader.ReqOrderInsert.margin_mode', index=15,
      number=16, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='lever_rate', full_name='linker.trader.ReqOrderInsert.lever_rate', index=16,
      number=17, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=66,
  serialized_end=568,
)


_RSPORDERINSERT = _descriptor.Descriptor(
  name='RspOrderInsert',
  full_name='linker.trader.RspOrderInsert',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='order_id', full_name='linker.trader.RspOrderInsert.order_id', index=0,
      number=1, type=6, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='order_ref', full_name='linker.trader.RspOrderInsert.order_ref', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='err_id', full_name='linker.trader.RspOrderInsert.err_id', index=2,
      number=3, type=17, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='err_msg', full_name='linker.trader.RspOrderInsert.err_msg', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=570,
  serialized_end=656,
)


_REQORDERCANCEL = _descriptor.Descriptor(
  name='ReqOrderCancel',
  full_name='linker.trader.ReqOrderCancel',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='account_id', full_name='linker.trader.ReqOrderCancel.account_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='req_id', full_name='linker.trader.ReqOrderCancel.req_id', index=1,
      number=2, type=6, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='order_id', full_name='linker.trader.ReqOrderCancel.order_id', index=2,
      number=3, type=6, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=658,
  serialized_end=728,
)


_RSPORDERCANCEL = _descriptor.Descriptor(
  name='RspOrderCancel',
  full_name='linker.trader.RspOrderCancel',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='req_id', full_name='linker.trader.RspOrderCancel.req_id', index=0,
      number=1, type=6, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='order_id', full_name='linker.trader.RspOrderCancel.order_id', index=1,
      number=2, type=6, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='order_ref', full_name='linker.trader.RspOrderCancel.order_ref', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='err_id', full_name='linker.trader.RspOrderCancel.err_id', index=3,
      number=4, type=17, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='err_msg', full_name='linker.trader.RspOrderCancel.err_msg', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=730,
  serialized_end=832,
)


_RTNORDER = _descriptor.Descriptor(
  name='RtnOrder',
  full_name='linker.trader.RtnOrder',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='account_id', full_name='linker.trader.RtnOrder.account_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sub_account', full_name='linker.trader.RtnOrder.sub_account', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sender', full_name='linker.trader.RtnOrder.sender', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='order_id', full_name='linker.trader.RtnOrder.order_id', index=3,
      number=4, type=6, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='order_ref', full_name='linker.trader.RtnOrder.order_ref', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='front_id', full_name='linker.trader.RtnOrder.front_id', index=5,
      number=6, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='session_id', full_name='linker.trader.RtnOrder.session_id', index=6,
      number=7, type=17, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='exchange', full_name='linker.trader.RtnOrder.exchange', index=7,
      number=8, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='offset_flag', full_name='linker.trader.RtnOrder.offset_flag', index=8,
      number=9, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='order_status', full_name='linker.trader.RtnOrder.order_status', index=9,
      number=10, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='order_type', full_name='linker.trader.RtnOrder.order_type', index=10,
      number=11, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='security_type', full_name='linker.trader.RtnOrder.security_type', index=11,
      number=12, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='side', full_name='linker.trader.RtnOrder.side', index=12,
      number=13, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='symbol', full_name='linker.trader.RtnOrder.symbol', index=13,
      number=14, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='traded_vol', full_name='linker.trader.RtnOrder.traded_vol', index=14,
      number=15, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='traded_price', full_name='linker.trader.RtnOrder.traded_price', index=15,
      number=16, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='traded_amt', full_name='linker.trader.RtnOrder.traded_amt', index=16,
      number=17, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='create_time', full_name='linker.trader.RtnOrder.create_time', index=17,
      number=18, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='recv_time', full_name='linker.trader.RtnOrder.recv_time', index=18,
      number=19, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='update_time', full_name='linker.trader.RtnOrder.update_time', index=19,
      number=20, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='entrust_vol', full_name='linker.trader.RtnOrder.entrust_vol', index=20,
      number=21, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='entrust_price', full_name='linker.trader.RtnOrder.entrust_price', index=21,
      number=22, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='entrust_amt', full_name='linker.trader.RtnOrder.entrust_amt', index=22,
      number=23, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='frz_amt', full_name='linker.trader.RtnOrder.frz_amt', index=23,
      number=24, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='frz_fee', full_name='linker.trader.RtnOrder.frz_fee', index=24,
      number=25, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='extra_info', full_name='linker.trader.RtnOrder.extra_info', index=25,
      number=26, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='margin_mode', full_name='linker.trader.RtnOrder.margin_mode', index=26,
      number=27, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='source_type', full_name='linker.trader.RtnOrder.source_type', index=27,
      number=28, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='lever_rate', full_name='linker.trader.RtnOrder.lever_rate', index=28,
      number=29, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=835,
  serialized_end=1709,
)


_RTNTRADE = _descriptor.Descriptor(
  name='RtnTrade',
  full_name='linker.trader.RtnTrade',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='account_id', full_name='linker.trader.RtnTrade.account_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sub_account', full_name='linker.trader.RtnTrade.sub_account', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sender', full_name='linker.trader.RtnTrade.sender', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='trade_ref', full_name='linker.trader.RtnTrade.trade_ref', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='order_id', full_name='linker.trader.RtnTrade.order_id', index=4,
      number=5, type=6, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='order_ref', full_name='linker.trader.RtnTrade.order_ref', index=5,
      number=6, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='exchange', full_name='linker.trader.RtnTrade.exchange', index=6,
      number=7, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='exec_role', full_name='linker.trader.RtnTrade.exec_role', index=7,
      number=8, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='offset_flag', full_name='linker.trader.RtnTrade.offset_flag', index=8,
      number=9, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='order_type', full_name='linker.trader.RtnTrade.order_type', index=9,
      number=10, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='security_type', full_name='linker.trader.RtnTrade.security_type', index=10,
      number=11, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='side', full_name='linker.trader.RtnTrade.side', index=11,
      number=12, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='symbol', full_name='linker.trader.RtnTrade.symbol', index=12,
      number=13, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='traded_vol', full_name='linker.trader.RtnTrade.traded_vol', index=13,
      number=14, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='traded_price', full_name='linker.trader.RtnTrade.traded_price', index=14,
      number=15, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='traded_amt', full_name='linker.trader.RtnTrade.traded_amt', index=15,
      number=16, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='commission', full_name='linker.trader.RtnTrade.commission', index=16,
      number=17, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='trading_day', full_name='linker.trader.RtnTrade.trading_day', index=17,
      number=18, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='recv_time', full_name='linker.trader.RtnTrade.recv_time', index=18,
      number=19, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='trade_time', full_name='linker.trader.RtnTrade.trade_time', index=19,
      number=20, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='entrust_vol', full_name='linker.trader.RtnTrade.entrust_vol', index=20,
      number=21, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='entrust_price', full_name='linker.trader.RtnTrade.entrust_price', index=21,
      number=22, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='entrust_amt', full_name='linker.trader.RtnTrade.entrust_amt', index=22,
      number=23, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='currency', full_name='linker.trader.RtnTrade.currency', index=23,
      number=24, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='source_type', full_name='linker.trader.RtnTrade.source_type', index=24,
      number=25, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1712,
  serialized_end=2473,
)


_GATEWAYORDERS = _descriptor.Descriptor(
  name='GatewayOrders',
  full_name='linker.trader.GatewayOrders',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='req_id', full_name='linker.trader.GatewayOrders.req_id', index=0,
      number=1, type=6, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='account_id', full_name='linker.trader.GatewayOrders.account_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sub_account', full_name='linker.trader.GatewayOrders.sub_account', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='err_id', full_name='linker.trader.GatewayOrders.err_id', index=3,
      number=4, type=17, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='err_msg', full_name='linker.trader.GatewayOrders.err_msg', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='fully_set', full_name='linker.trader.GatewayOrders.fully_set', index=5,
      number=6, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='orders', full_name='linker.trader.GatewayOrders.orders', index=6,
      number=7, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2476,
  serialized_end=2641,
)


_REQORDERINFO = _descriptor.Descriptor(
  name='ReqOrderInfo',
  full_name='linker.trader.ReqOrderInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='order_id', full_name='linker.trader.ReqOrderInfo.order_id', index=0,
      number=1, type=6, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sender', full_name='linker.trader.ReqOrderInfo.sender', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2643,
  serialized_end=2691,
)


_RSPORDERINFO = _descriptor.Descriptor(
  name='RspOrderInfo',
  full_name='linker.trader.RspOrderInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='account_id', full_name='linker.trader.RspOrderInfo.account_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sub_account', full_name='linker.trader.RspOrderInfo.sub_account', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sender', full_name='linker.trader.RspOrderInfo.sender', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='err_id', full_name='linker.trader.RspOrderInfo.err_id', index=3,
      number=4, type=17, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='err_msg', full_name='linker.trader.RspOrderInfo.err_msg', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='order_id', full_name='linker.trader.RspOrderInfo.order_id', index=5,
      number=6, type=6, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='order_ref', full_name='linker.trader.RspOrderInfo.order_ref', index=6,
      number=7, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='parent_id', full_name='linker.trader.RspOrderInfo.parent_id', index=7,
      number=8, type=16, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='cancel_err_id', full_name='linker.trader.RspOrderInfo.cancel_err_id', index=8,
      number=9, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='cancel_err_msg', full_name='linker.trader.RspOrderInfo.cancel_err_msg', index=9,
      number=10, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='exchange', full_name='linker.trader.RspOrderInfo.exchange', index=10,
      number=11, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='offset_flag', full_name='linker.trader.RspOrderInfo.offset_flag', index=11,
      number=12, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='order_status', full_name='linker.trader.RspOrderInfo.order_status', index=12,
      number=13, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='order_type', full_name='linker.trader.RspOrderInfo.order_type', index=13,
      number=14, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='security_type', full_name='linker.trader.RspOrderInfo.security_type', index=14,
      number=15, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='side', full_name='linker.trader.RspOrderInfo.side', index=15,
      number=16, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='symbol', full_name='linker.trader.RspOrderInfo.symbol', index=16,
      number=17, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='traded_vol', full_name='linker.trader.RspOrderInfo.traded_vol', index=17,
      number=18, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='entrust_vol', full_name='linker.trader.RspOrderInfo.entrust_vol', index=18,
      number=19, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='entrust_price', full_name='linker.trader.RspOrderInfo.entrust_price', index=19,
      number=20, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='entrust_amt', full_name='linker.trader.RspOrderInfo.entrust_amt', index=20,
      number=21, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='margin_mode', full_name='linker.trader.RspOrderInfo.margin_mode', index=21,
      number=22, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='lever_rate', full_name='linker.trader.RspOrderInfo.lever_rate', index=22,
      number=23, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2694,
  serialized_end=3344,
)


_REQPOSITION = _descriptor.Descriptor(
  name='ReqPosition',
  full_name='linker.trader.ReqPosition',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='req_id', full_name='linker.trader.ReqPosition.req_id', index=0,
      number=1, type=6, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='account_id', full_name='linker.trader.ReqPosition.account_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sub_account', full_name='linker.trader.ReqPosition.sub_account', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sender', full_name='linker.trader.ReqPosition.sender', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3346,
  serialized_end=3432,
)


_POSITIONINFO = _descriptor.Descriptor(
  name='PositionInfo',
  full_name='linker.trader.PositionInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='account_id', full_name='linker.trader.PositionInfo.account_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sub_account', full_name='linker.trader.PositionInfo.sub_account', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='direction', full_name='linker.trader.PositionInfo.direction', index=2,
      number=3, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='exchange', full_name='linker.trader.PositionInfo.exchange', index=3,
      number=4, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='margin_mode', full_name='linker.trader.PositionInfo.margin_mode', index=4,
      number=5, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='security_type', full_name='linker.trader.PositionInfo.security_type', index=5,
      number=6, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='symbol', full_name='linker.trader.PositionInfo.symbol', index=6,
      number=7, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='position', full_name='linker.trader.PositionInfo.position', index=7,
      number=8, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='yd_pos', full_name='linker.trader.PositionInfo.yd_pos', index=8,
      number=9, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='avail_pos', full_name='linker.trader.PositionInfo.avail_pos', index=9,
      number=10, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='frz_pos', full_name='linker.trader.PositionInfo.frz_pos', index=10,
      number=11, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='pos_cost', full_name='linker.trader.PositionInfo.pos_cost', index=11,
      number=12, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='borrowed', full_name='linker.trader.PositionInfo.borrowed', index=12,
      number=13, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='interest', full_name='linker.trader.PositionInfo.interest', index=13,
      number=14, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='liq_price', full_name='linker.trader.PositionInfo.liq_price', index=14,
      number=15, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='margin', full_name='linker.trader.PositionInfo.margin', index=15,
      number=16, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='mkt_value', full_name='linker.trader.PositionInfo.mkt_value', index=16,
      number=17, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='risk_rate', full_name='linker.trader.PositionInfo.risk_rate', index=17,
      number=18, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='pnl', full_name='linker.trader.PositionInfo.pnl', index=18,
      number=19, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='realized_pnl', full_name='linker.trader.PositionInfo.realized_pnl', index=19,
      number=20, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='unrealized_pnl', full_name='linker.trader.PositionInfo.unrealized_pnl', index=20,
      number=21, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='recv_time', full_name='linker.trader.PositionInfo.recv_time', index=21,
      number=22, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='source_time', full_name='linker.trader.PositionInfo.source_time', index=22,
      number=23, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='source_type', full_name='linker.trader.PositionInfo.source_type', index=23,
      number=24, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='currency', full_name='linker.trader.PositionInfo.currency', index=24,
      number=25, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=3435,
  serialized_end=4137,
)


_GATEWAYPOSITION = _descriptor.Descriptor(
  name='GatewayPosition',
  full_name='linker.trader.GatewayPosition',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='pos_id', full_name='linker.trader.GatewayPosition.pos_id', index=0,
      number=1, type=6, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='account_id', full_name='linker.trader.GatewayPosition.account_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sub_account', full_name='linker.trader.GatewayPosition.sub_account', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='err_id', full_name='linker.trader.GatewayPosition.err_id', index=3,
      number=4, type=17, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='err_msg', full_name='linker.trader.GatewayPosition.err_msg', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='positions', full_name='linker.trader.GatewayPosition.positions', index=5,
      number=6, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4140,
  serialized_end=4295,
)


_REQACCOUNT = _descriptor.Descriptor(
  name='ReqAccount',
  full_name='linker.trader.ReqAccount',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='req_id', full_name='linker.trader.ReqAccount.req_id', index=0,
      number=1, type=6, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='account_id', full_name='linker.trader.ReqAccount.account_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sub_account', full_name='linker.trader.ReqAccount.sub_account', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sender', full_name='linker.trader.ReqAccount.sender', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4297,
  serialized_end=4382,
)


_RSPACCOUNT = _descriptor.Descriptor(
  name='RspAccount',
  full_name='linker.trader.RspAccount',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='account_id', full_name='linker.trader.RspAccount.account_id', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sub_account', full_name='linker.trader.RspAccount.sub_account', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='avail_amt', full_name='linker.trader.RspAccount.avail_amt', index=2,
      number=3, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='balance', full_name='linker.trader.RspAccount.balance', index=3,
      number=4, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='equity', full_name='linker.trader.RspAccount.equity', index=4,
      number=5, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='frz_amt', full_name='linker.trader.RspAccount.frz_amt', index=5,
      number=6, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='frz_margin', full_name='linker.trader.RspAccount.frz_margin', index=6,
      number=7, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='mkt_value', full_name='linker.trader.RspAccount.mkt_value', index=7,
      number=8, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='pnl', full_name='linker.trader.RspAccount.pnl', index=8,
      number=9, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='realized_pnl', full_name='linker.trader.RspAccount.realized_pnl', index=9,
      number=10, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='unrealized_pnl', full_name='linker.trader.RspAccount.unrealized_pnl', index=10,
      number=11, type=1, cpp_type=5, label=1,
      has_default_value=False, default_value=float(0),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='recv_time', full_name='linker.trader.RspAccount.recv_time', index=11,
      number=12, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='source_time', full_name='linker.trader.RspAccount.source_time', index=12,
      number=13, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='source_type', full_name='linker.trader.RspAccount.source_type', index=13,
      number=14, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='currency', full_name='linker.trader.RspAccount.currency', index=14,
      number=15, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='err_id', full_name='linker.trader.RspAccount.err_id', index=15,
      number=16, type=17, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='err_msg', full_name='linker.trader.RspAccount.err_msg', index=16,
      number=17, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4385,
  serialized_end=4825,
)


_REQACTIVEORDERS = _descriptor.Descriptor(
  name='ReqActiveOrders',
  full_name='linker.trader.ReqActiveOrders',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='req_id', full_name='linker.trader.ReqActiveOrders.req_id', index=0,
      number=1, type=6, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='account_id', full_name='linker.trader.ReqActiveOrders.account_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sub_account', full_name='linker.trader.ReqActiveOrders.sub_account', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sender', full_name='linker.trader.ReqActiveOrders.sender', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4827,
  serialized_end=4917,
)


_REQCANCELACTIVEORDERS = _descriptor.Descriptor(
  name='ReqCancelActiveOrders',
  full_name='linker.trader.ReqCancelActiveOrders',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='req_id', full_name='linker.trader.ReqCancelActiveOrders.req_id', index=0,
      number=1, type=6, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='account_id', full_name='linker.trader.ReqCancelActiveOrders.account_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sub_account', full_name='linker.trader.ReqCancelActiveOrders.sub_account', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sender', full_name='linker.trader.ReqCancelActiveOrders.sender', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='active_orders_id', full_name='linker.trader.ReqCancelActiveOrders.active_orders_id', index=4,
      number=5, type=18, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4919,
  serialized_end=5041,
)


_RSPCANCELACTIVEORDERS = _descriptor.Descriptor(
  name='RspCancelActiveOrders',
  full_name='linker.trader.RspCancelActiveOrders',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='err_id', full_name='linker.trader.RspCancelActiveOrders.err_id', index=0,
      number=1, type=17, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='err_msg', full_name='linker.trader.RspCancelActiveOrders.err_msg', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5043,
  serialized_end=5099,
)


_REQHISTORYTRADES = _descriptor.Descriptor(
  name='ReqHistoryTrades',
  full_name='linker.trader.ReqHistoryTrades',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='req_id', full_name='linker.trader.ReqHistoryTrades.req_id', index=0,
      number=1, type=6, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='account_id', full_name='linker.trader.ReqHistoryTrades.account_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sub_account', full_name='linker.trader.ReqHistoryTrades.sub_account', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sender', full_name='linker.trader.ReqHistoryTrades.sender', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5101,
  serialized_end=5192,
)


_RSPHISTORYTRADES = _descriptor.Descriptor(
  name='RspHistoryTrades',
  full_name='linker.trader.RspHistoryTrades',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='req_id', full_name='linker.trader.RspHistoryTrades.req_id', index=0,
      number=1, type=6, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='account_id', full_name='linker.trader.RspHistoryTrades.account_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='sub_account', full_name='linker.trader.RspHistoryTrades.sub_account', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='err_id', full_name='linker.trader.RspHistoryTrades.err_id', index=3,
      number=4, type=17, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='err_msg', full_name='linker.trader.RspHistoryTrades.err_msg', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='trades', full_name='linker.trader.RspHistoryTrades.trades', index=5,
      number=6, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5195,
  serialized_end=5344,
)


_REQPARAMINFO = _descriptor.Descriptor(
  name='ReqParamInfo',
  full_name='linker.trader.ReqParamInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='file_names', full_name='linker.trader.ReqParamInfo.file_names', index=0,
      number=1, type=9, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5346,
  serialized_end=5380,
)


_RSPPARAMINFO_PARAMINFO = _descriptor.Descriptor(
  name='ParamInfo',
  full_name='linker.trader.RspParamInfo.ParamInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='file_name', full_name='linker.trader.RspParamInfo.ParamInfo.file_name', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='content', full_name='linker.trader.RspParamInfo.ParamInfo.content', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='group', full_name='linker.trader.RspParamInfo.ParamInfo.group', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=b"".decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5459,
  serialized_end=5521,
)

_RSPPARAMINFO = _descriptor.Descriptor(
  name='RspParamInfo',
  full_name='linker.trader.RspParamInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='param_infos', full_name='linker.trader.RspParamInfo.param_infos', index=0,
      number=1, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_RSPPARAMINFO_PARAMINFO, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5383,
  serialized_end=5521,
)

_REQORDERINSERT.fields_by_name['exchange'].enum_type = _EXCHANGE
_REQORDERINSERT.fields_by_name['offset_flag'].enum_type = _OFFSETFLAG
_REQORDERINSERT.fields_by_name['order_type'].enum_type = _ORDERTYPE
_REQORDERINSERT.fields_by_name['security_type'].enum_type = _SECURITYTYPE
_REQORDERINSERT.fields_by_name['side'].enum_type = _SIDE
_REQORDERINSERT.fields_by_name['margin_mode'].enum_type = _MARGINMODE
_RTNORDER.fields_by_name['exchange'].enum_type = _EXCHANGE
_RTNORDER.fields_by_name['offset_flag'].enum_type = _OFFSETFLAG
_RTNORDER.fields_by_name['order_status'].enum_type = _ORDERSTATUS
_RTNORDER.fields_by_name['order_type'].enum_type = _ORDERTYPE
_RTNORDER.fields_by_name['security_type'].enum_type = _SECURITYTYPE
_RTNORDER.fields_by_name['side'].enum_type = _SIDE
_RTNORDER.fields_by_name['create_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_RTNORDER.fields_by_name['recv_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_RTNORDER.fields_by_name['update_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_RTNORDER.fields_by_name['margin_mode'].enum_type = _MARGINMODE
_RTNORDER.fields_by_name['source_type'].enum_type = _SOURCETYPE
_RTNTRADE.fields_by_name['exchange'].enum_type = _EXCHANGE
_RTNTRADE.fields_by_name['exec_role'].enum_type = _EXECROLE
_RTNTRADE.fields_by_name['offset_flag'].enum_type = _OFFSETFLAG
_RTNTRADE.fields_by_name['order_type'].enum_type = _ORDERTYPE
_RTNTRADE.fields_by_name['security_type'].enum_type = _SECURITYTYPE
_RTNTRADE.fields_by_name['side'].enum_type = _SIDE
_RTNTRADE.fields_by_name['recv_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_RTNTRADE.fields_by_name['trade_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_RTNTRADE.fields_by_name['currency'].enum_type = _CURRENCY
_RTNTRADE.fields_by_name['source_type'].enum_type = _SOURCETYPE
_GATEWAYORDERS.fields_by_name['orders'].message_type = _RTNORDER
_RSPORDERINFO.fields_by_name['exchange'].enum_type = _EXCHANGE
_RSPORDERINFO.fields_by_name['offset_flag'].enum_type = _OFFSETFLAG
_RSPORDERINFO.fields_by_name['order_status'].enum_type = _ORDERSTATUS
_RSPORDERINFO.fields_by_name['order_type'].enum_type = _ORDERTYPE
_RSPORDERINFO.fields_by_name['security_type'].enum_type = _SECURITYTYPE
_RSPORDERINFO.fields_by_name['side'].enum_type = _SIDE
_RSPORDERINFO.fields_by_name['margin_mode'].enum_type = _MARGINMODE
_POSITIONINFO.fields_by_name['direction'].enum_type = _DIRECTION
_POSITIONINFO.fields_by_name['exchange'].enum_type = _EXCHANGE
_POSITIONINFO.fields_by_name['margin_mode'].enum_type = _MARGINMODE
_POSITIONINFO.fields_by_name['security_type'].enum_type = _SECURITYTYPE
_POSITIONINFO.fields_by_name['recv_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_POSITIONINFO.fields_by_name['source_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_POSITIONINFO.fields_by_name['source_type'].enum_type = _SOURCETYPE
_POSITIONINFO.fields_by_name['currency'].enum_type = _CURRENCY
_GATEWAYPOSITION.fields_by_name['positions'].message_type = _POSITIONINFO
_RSPACCOUNT.fields_by_name['recv_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_RSPACCOUNT.fields_by_name['source_time'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
_RSPACCOUNT.fields_by_name['source_type'].enum_type = _SOURCETYPE
_RSPACCOUNT.fields_by_name['currency'].enum_type = _CURRENCY
_RSPHISTORYTRADES.fields_by_name['trades'].message_type = _RTNTRADE
_RSPPARAMINFO_PARAMINFO.containing_type = _RSPPARAMINFO
_RSPPARAMINFO.fields_by_name['param_infos'].message_type = _RSPPARAMINFO_PARAMINFO
DESCRIPTOR.message_types_by_name['ReqOrderInsert'] = _REQORDERINSERT
DESCRIPTOR.message_types_by_name['RspOrderInsert'] = _RSPORDERINSERT
DESCRIPTOR.message_types_by_name['ReqOrderCancel'] = _REQORDERCANCEL
DESCRIPTOR.message_types_by_name['RspOrderCancel'] = _RSPORDERCANCEL
DESCRIPTOR.message_types_by_name['RtnOrder'] = _RTNORDER
DESCRIPTOR.message_types_by_name['RtnTrade'] = _RTNTRADE
DESCRIPTOR.message_types_by_name['GatewayOrders'] = _GATEWAYORDERS
DESCRIPTOR.message_types_by_name['ReqOrderInfo'] = _REQORDERINFO
DESCRIPTOR.message_types_by_name['RspOrderInfo'] = _RSPORDERINFO
DESCRIPTOR.message_types_by_name['ReqPosition'] = _REQPOSITION
DESCRIPTOR.message_types_by_name['PositionInfo'] = _POSITIONINFO
DESCRIPTOR.message_types_by_name['GatewayPosition'] = _GATEWAYPOSITION
DESCRIPTOR.message_types_by_name['ReqAccount'] = _REQACCOUNT
DESCRIPTOR.message_types_by_name['RspAccount'] = _RSPACCOUNT
DESCRIPTOR.message_types_by_name['ReqActiveOrders'] = _REQACTIVEORDERS
DESCRIPTOR.message_types_by_name['ReqCancelActiveOrders'] = _REQCANCELACTIVEORDERS
DESCRIPTOR.message_types_by_name['RspCancelActiveOrders'] = _RSPCANCELACTIVEORDERS
DESCRIPTOR.message_types_by_name['ReqHistoryTrades'] = _REQHISTORYTRADES
DESCRIPTOR.message_types_by_name['RspHistoryTrades'] = _RSPHISTORYTRADES
DESCRIPTOR.message_types_by_name['ReqParamInfo'] = _REQPARAMINFO
DESCRIPTOR.message_types_by_name['RspParamInfo'] = _RSPPARAMINFO
DESCRIPTOR.enum_types_by_name['MsgType'] = _MSGTYPE
DESCRIPTOR.enum_types_by_name['ErrType'] = _ERRTYPE
DESCRIPTOR.enum_types_by_name['Exchange'] = _EXCHANGE
DESCRIPTOR.enum_types_by_name['SecurityType'] = _SECURITYTYPE
DESCRIPTOR.enum_types_by_name['OrderType'] = _ORDERTYPE
DESCRIPTOR.enum_types_by_name['Side'] = _SIDE
DESCRIPTOR.enum_types_by_name['OffsetFlag'] = _OFFSETFLAG
DESCRIPTOR.enum_types_by_name['OrderStatus'] = _ORDERSTATUS
DESCRIPTOR.enum_types_by_name['Currency'] = _CURRENCY
DESCRIPTOR.enum_types_by_name['SourceType'] = _SOURCETYPE
DESCRIPTOR.enum_types_by_name['ExecRole'] = _EXECROLE
DESCRIPTOR.enum_types_by_name['MarginMode'] = _MARGINMODE
DESCRIPTOR.enum_types_by_name['Direction'] = _DIRECTION
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

ReqOrderInsert = _reflection.GeneratedProtocolMessageType('ReqOrderInsert', (_message.Message,), {
  'DESCRIPTOR' : _REQORDERINSERT,
  '__module__' : 'message_pb2'
  # @@protoc_insertion_point(class_scope:linker.trader.ReqOrderInsert)
  })
_sym_db.RegisterMessage(ReqOrderInsert)

RspOrderInsert = _reflection.GeneratedProtocolMessageType('RspOrderInsert', (_message.Message,), {
  'DESCRIPTOR' : _RSPORDERINSERT,
  '__module__' : 'message_pb2'
  # @@protoc_insertion_point(class_scope:linker.trader.RspOrderInsert)
  })
_sym_db.RegisterMessage(RspOrderInsert)

ReqOrderCancel = _reflection.GeneratedProtocolMessageType('ReqOrderCancel', (_message.Message,), {
  'DESCRIPTOR' : _REQORDERCANCEL,
  '__module__' : 'message_pb2'
  # @@protoc_insertion_point(class_scope:linker.trader.ReqOrderCancel)
  })
_sym_db.RegisterMessage(ReqOrderCancel)

RspOrderCancel = _reflection.GeneratedProtocolMessageType('RspOrderCancel', (_message.Message,), {
  'DESCRIPTOR' : _RSPORDERCANCEL,
  '__module__' : 'message_pb2'
  # @@protoc_insertion_point(class_scope:linker.trader.RspOrderCancel)
  })
_sym_db.RegisterMessage(RspOrderCancel)

RtnOrder = _reflection.GeneratedProtocolMessageType('RtnOrder', (_message.Message,), {
  'DESCRIPTOR' : _RTNORDER,
  '__module__' : 'message_pb2'
  # @@protoc_insertion_point(class_scope:linker.trader.RtnOrder)
  })
_sym_db.RegisterMessage(RtnOrder)

RtnTrade = _reflection.GeneratedProtocolMessageType('RtnTrade', (_message.Message,), {
  'DESCRIPTOR' : _RTNTRADE,
  '__module__' : 'message_pb2'
  # @@protoc_insertion_point(class_scope:linker.trader.RtnTrade)
  })
_sym_db.RegisterMessage(RtnTrade)

GatewayOrders = _reflection.GeneratedProtocolMessageType('GatewayOrders', (_message.Message,), {
  'DESCRIPTOR' : _GATEWAYORDERS,
  '__module__' : 'message_pb2'
  # @@protoc_insertion_point(class_scope:linker.trader.GatewayOrders)
  })
_sym_db.RegisterMessage(GatewayOrders)

ReqOrderInfo = _reflection.GeneratedProtocolMessageType('ReqOrderInfo', (_message.Message,), {
  'DESCRIPTOR' : _REQORDERINFO,
  '__module__' : 'message_pb2'
  # @@protoc_insertion_point(class_scope:linker.trader.ReqOrderInfo)
  })
_sym_db.RegisterMessage(ReqOrderInfo)

RspOrderInfo = _reflection.GeneratedProtocolMessageType('RspOrderInfo', (_message.Message,), {
  'DESCRIPTOR' : _RSPORDERINFO,
  '__module__' : 'message_pb2'
  # @@protoc_insertion_point(class_scope:linker.trader.RspOrderInfo)
  })
_sym_db.RegisterMessage(RspOrderInfo)

ReqPosition = _reflection.GeneratedProtocolMessageType('ReqPosition', (_message.Message,), {
  'DESCRIPTOR' : _REQPOSITION,
  '__module__' : 'message_pb2'
  # @@protoc_insertion_point(class_scope:linker.trader.ReqPosition)
  })
_sym_db.RegisterMessage(ReqPosition)

PositionInfo = _reflection.GeneratedProtocolMessageType('PositionInfo', (_message.Message,), {
  'DESCRIPTOR' : _POSITIONINFO,
  '__module__' : 'message_pb2'
  # @@protoc_insertion_point(class_scope:linker.trader.PositionInfo)
  })
_sym_db.RegisterMessage(PositionInfo)

GatewayPosition = _reflection.GeneratedProtocolMessageType('GatewayPosition', (_message.Message,), {
  'DESCRIPTOR' : _GATEWAYPOSITION,
  '__module__' : 'message_pb2'
  # @@protoc_insertion_point(class_scope:linker.trader.GatewayPosition)
  })
_sym_db.RegisterMessage(GatewayPosition)

ReqAccount = _reflection.GeneratedProtocolMessageType('ReqAccount', (_message.Message,), {
  'DESCRIPTOR' : _REQACCOUNT,
  '__module__' : 'message_pb2'
  # @@protoc_insertion_point(class_scope:linker.trader.ReqAccount)
  })
_sym_db.RegisterMessage(ReqAccount)

RspAccount = _reflection.GeneratedProtocolMessageType('RspAccount', (_message.Message,), {
  'DESCRIPTOR' : _RSPACCOUNT,
  '__module__' : 'message_pb2'
  # @@protoc_insertion_point(class_scope:linker.trader.RspAccount)
  })
_sym_db.RegisterMessage(RspAccount)

ReqActiveOrders = _reflection.GeneratedProtocolMessageType('ReqActiveOrders', (_message.Message,), {
  'DESCRIPTOR' : _REQACTIVEORDERS,
  '__module__' : 'message_pb2'
  # @@protoc_insertion_point(class_scope:linker.trader.ReqActiveOrders)
  })
_sym_db.RegisterMessage(ReqActiveOrders)

ReqCancelActiveOrders = _reflection.GeneratedProtocolMessageType('ReqCancelActiveOrders', (_message.Message,), {
  'DESCRIPTOR' : _REQCANCELACTIVEORDERS,
  '__module__' : 'message_pb2'
  # @@protoc_insertion_point(class_scope:linker.trader.ReqCancelActiveOrders)
  })
_sym_db.RegisterMessage(ReqCancelActiveOrders)

RspCancelActiveOrders = _reflection.GeneratedProtocolMessageType('RspCancelActiveOrders', (_message.Message,), {
  'DESCRIPTOR' : _RSPCANCELACTIVEORDERS,
  '__module__' : 'message_pb2'
  # @@protoc_insertion_point(class_scope:linker.trader.RspCancelActiveOrders)
  })
_sym_db.RegisterMessage(RspCancelActiveOrders)

ReqHistoryTrades = _reflection.GeneratedProtocolMessageType('ReqHistoryTrades', (_message.Message,), {
  'DESCRIPTOR' : _REQHISTORYTRADES,
  '__module__' : 'message_pb2'
  # @@protoc_insertion_point(class_scope:linker.trader.ReqHistoryTrades)
  })
_sym_db.RegisterMessage(ReqHistoryTrades)

RspHistoryTrades = _reflection.GeneratedProtocolMessageType('RspHistoryTrades', (_message.Message,), {
  'DESCRIPTOR' : _RSPHISTORYTRADES,
  '__module__' : 'message_pb2'
  # @@protoc_insertion_point(class_scope:linker.trader.RspHistoryTrades)
  })
_sym_db.RegisterMessage(RspHistoryTrades)

ReqParamInfo = _reflection.GeneratedProtocolMessageType('ReqParamInfo', (_message.Message,), {
  'DESCRIPTOR' : _REQPARAMINFO,
  '__module__' : 'message_pb2'
  # @@protoc_insertion_point(class_scope:linker.trader.ReqParamInfo)
  })
_sym_db.RegisterMessage(ReqParamInfo)

RspParamInfo = _reflection.GeneratedProtocolMessageType('RspParamInfo', (_message.Message,), {

  'ParamInfo' : _reflection.GeneratedProtocolMessageType('ParamInfo', (_message.Message,), {
    'DESCRIPTOR' : _RSPPARAMINFO_PARAMINFO,
    '__module__' : 'message_pb2'
    # @@protoc_insertion_point(class_scope:linker.trader.RspParamInfo.ParamInfo)
    })
  ,
  'DESCRIPTOR' : _RSPPARAMINFO,
  '__module__' : 'message_pb2'
  # @@protoc_insertion_point(class_scope:linker.trader.RspParamInfo)
  })
_sym_db.RegisterMessage(RspParamInfo)
_sym_db.RegisterMessage(RspParamInfo.ParamInfo)


# @@protoc_insertion_point(module_scope)
