def GET_TRADERS_INFO(self): request = broker_pb2.TraderRequest(trader_id=self.trader_id, trader_pin=self.trader_pin, request_type="FULL_INFO") return self.stub.get_traders_info(request)
def CANCEL_ORDER(self, order_id): request = broker_pb2.TraderRequest(trader_id=self.trader_id, trader_pin=self.trader_pin, request_type="CANCEL_ORDER", order_id=order_id) return self.stub.cancel_order(request)
def CancelOrder(self, order_id): ret = self.stub.cancel_order( broker_pb2.TraderRequest(trader_id=id, trader_pin=pin, request_type='CANCEL_ORDER', order_id=order_id)) print(ret)
def TraderRequest_cancel_order(order_id, *args, **kw): return broker_pb2.TraderRequest(trader_id=ID, trader_pin=PIN, request_type=1, order_id=order_id, *args, **kw)
def GetTrader(self, request_type='INCREMENTAL_INFO'): ret = self.stub.get_trader( broker_pb2.TraderRequest(trader_id=id, trader_pin=pin, request_type=request_type)) print('Get Trader ret:') for rec in ret.market_records: print(rec.symbol) print(rec.percent) print(ret)
def NEW_ORDER(self, SYMBAL, SIDE, VOL, PRICE, POS_TYPE, IS_MARKET=False): request = broker_pb2.TraderRequest(trader_id=self.trader_id, trader_pin=self.trader_pin, request_type="NEW_ORDER", side=SIDE, symbol=SYMBAL, volume=VOL, price=PRICE, pos_type=POS_TYPE, is_market=IS_MARKET) return self.stub.new_order(request)
def TraderRequest_new_order(symbol, side, pos_type, volume, price=None, is_market=False, *args, **kw): return broker_pb2.TraderRequest(trader_id=ID, trader_pin=PIN, request_type=0, side=side, symbol=symbol, pos_type=pos_type, volume=volume, price=price, is_market=is_market, *args, **kw)
def NewOrder(self, side='BID', symbol=stocks_A[0], volume=1, price=100, is_market=False, pos_type='LONG'): ret = self.stub.new_order( broker_pb2.TraderRequest(trader_id=id, trader_pin=pin, request_type='NEW_ORDER', side=side, symbol=symbol, volume=volume, price=price, is_market=is_market, pos_type=pos_type)) print('New Order ret:-----------------------------------------------') print(ret) return ret
import tradingObjects """ 配置背景参数。 """ ID = 3 PIN = 'jY0RyHyK9' CHANNEL_BROKER = grpc.insecure_channel('113.208.112.25:57503') CHANNEL_DATA = grpc.insecure_channel('113.208.112.25:57600') broker_stub = broker_pb2_grpc.BrokerStub(CHANNEL_BROKER) data_stub = broker_pb2_grpc.MarketDataStub(CHANNEL_DATA) #//创建客户端 data_stream = data_stub.subscribe( broker_pb2.TraderRequest(trader_id=ID, trader_pin=PIN)) #//获取行情流对象 api.set_stub(broker_stub, data_stub) api.set_stream(data_stream) #//设置api客户端 def initStrategy(runtime): """ 初始化策略。 """ #api.cancel_all() #api.close_all_at_market() runtime['trader_info_full'] = api.get_trader_full()
import tradingObjects """ 配置背景参数。 """ ID = 33 PIN = 'jY0RyHyK9' CHANNEL_BROKER = grpc.insecure_channel('113.208.112.25:57503') CHANNEL_DATA = grpc.insecure_channel('113.208.112.25:57600') broker_stub = broker_pb2_grpc.BrokerStub(CHANNEL_BROKER) data_stub = broker_pb2_grpc.MarketDataStub(CHANNEL_DATA) #//创建客户端 data_stream = data_stub.subscribe(broker_pb2.TraderRequest(trader_id = ID, trader_pin = PIN)) #//获取行情流对象 api.set_stub(broker_stub, data_stub) api.set_stream(data_stream) #//设置api客户端 def initStrategy(runtime): """ 初始化策略。 """ #api.cancel_all() #api.close_all_at_market() runtime['trader_info_full'] = api.get_trader_full() runtime['account_info'] = runtime['trader_info_full'].account
# with grpc.insecure_channel('113.208.112.25:57600') as channel: # stub = broker_pb2_grpc.MarketDataStub(channel) # response = stub.list_instruments(common_pb2.Empty()) # print("Instruments received: " ) # print(response) # for data in stub.subscribe(common_pb2.Empty()): # # print("Subscription received: ") # print(data) # # ============================================================================= with grpc.insecure_channel('113.208.112.25:57500') as channel: stub = broker_pb2_grpc.BrokerStub(channel) response = stub.get_trader( broker_pb2.TraderRequest(trader_id=42, trader_pin='NrojE4oZH', request_type='FULL_INFO')) print("Instruments received: ") print(response) # ============================================================================= # for data in stub.subscribe(common_pb2.Empty()): # # ============================================================================= # # response=stub.subscribe(common_pb2.Empty()) # # ============================================================================= # print("Subscription received: ") # print(data) # # ============================================================================= # ============================================================================= # trader_id=42,trader_pin='NrojE4oZH'
#Create channel broker_channel = grpc.insecure_channel('113.208.112.25:57503') data_channel = grpc.insecure_channel('113.208.112.25:57600') #create stub broker_stub = broker_pb2_grpc.BrokerStub(broker_channel) md_stub = broker_pb2_grpc.MarketDataStub(data_channel) api.set_stub(broker_stub, md_stub) """ Demo: 下单 """ TraderRequest_new_order = broker_pb2.TraderRequest(trader_id=ID, trader_pin=PIN, request_type=0, order_id=0, side=0, symbol='A000.PSE', volume=1, is_market=True, pos_type=1) TraderRequest_new_order_test = proto_wrapper.TraderRequest_new_order( "A000.PSE", side=0, pos_type=0, volume=1, is_market=False, price=90) response_new_order = broker_stub.new_order(TraderRequest_new_order_test) print(response_new_order) print("##########################################") """ Demo: 撤单 """ TraderRequest_cancel_order = proto_wrapper.TraderRequest_cancel_order( order_id=tuple(response_new_order.orders.orders.keys())[0]) response_cancel_order = broker_stub.cancel_order(TraderRequest_cancel_order)
def TraderRequest_get_trader_inc(): return broker_pb2.TraderRequest(trader_id=ID, trader_pin=PIN, request_type=3)
def TraderRequest(*args, **kw): return broker_pb2.TraderRequest(trader_id=ID, trader_pin=PIN, *args, **kw)