| | |
| | | from huaxin_client import tool, constant |
| | | from log_module.log import logger_system, logger_local_huaxin_l1, logger_l2_codes_subscript |
| | | |
| | | ################B类################## |
| | | # ADDRESS = "udp://224.224.1.19:7880" |
| | | |
| | | ################A类################## |
| | | ADDRESS = "udp://224.224.1.9:7880" |
| | | |
| | | level1_data_dict = { |
| | | |
| | | } |
| | |
| | | # api.RegisterNameServer('tcp://224.224.3.19:7888') |
| | | # api.RegisterNameServer('tcp://10.0.1.101:52370,tcp://10.0.1.101:62370') |
| | | |
| | | # -------------------------正式地址------------------------------- |
| | | # -------------------------正式地址B类------------------------------- |
| | | api.RegisterMulticast("udp://224.224.1.19:7880", None, "") |
| | | |
| | | # -------------------------正式地址A类------------------------------- |
| | | # api.RegisterMulticast("udp://224.224.1.9:7880", None, "") |
| | | |
| | | # 启动接口 |
| | | api.Init() |
| | | |
| | |
| | | logger_local_huaxin_g_cancel, logger_l2_codes_subscript |
| | | from utils import tool |
| | | |
| | | ###B类### |
| | | # Front_Address = "tcp://10.0.1.101:6900" |
| | | # Multicast_Address = "udp://224.224.2.19:7889" |
| | | # Multicast_Address2 = "udp://224.224.224.234:7890" |
| | | # Local_Interface_Address = "192.168.84.75" |
| | | |
| | | ###A类### |
| | | Front_Address = "tcp://10.0.1.101:6900" |
| | | Multicast_Address = "udp://224.224.2.19:7889" |
| | | Multicast_Address2 = "udp://224.224.224.234:7890" |
| | | Local_Interface_Address = "192.168.84.75" |
| | | Sender_Interface_Address = "10.0.1.101" |
| | | Multicast_Address = "udp://224.224.22.3:8889" |
| | | Multicast_Address2 = "udp://224.224.224.231:4889" |
| | | Local_Interface_Address = "172.16.22.111" |
| | | |
| | | g_SubMarketData = False |
| | | g_SubTransaction = False |
| | |
| | | else: |
| | | # case 1 从一个组播地址收取行情 |
| | | api.RegisterMulticast(Multicast_Address, Local_Interface_Address, "") |
| | | api.RegisterMulticast(Multicast_Address2, Local_Interface_Address, "") |
| | | |
| | | # case 2:注册多个组播地址同时收行情 |
| | | # api.RegisterMulticast(Multicast_Address, Local_Interface_Address, Sender_Interface_Address); |
| | | # api.RegisterMulticast(Multicast_Address2, Local_Interface_Address, Sender_Interface_Address); |
| | | # api.RegisterMulticast(Multicast_Address, Local_Interface_Address, ""); |
| | | # api.RegisterMulticast(Multicast_Address2, Local_Interface_Address, ""); |
| | | |
| | | # case 3:efvi模式收行情 |
| | | # api.RegisterMulticast(Multicast_Address, Local_Interface_Address, Sender_Interface_Address, "enp101s0f0",4096, True); |
| | | # api.RegisterMulticast(Multicast_Address, Local_Interface_Address, "", "enp101s0f0",4096, True); |
| | | |
| | | # case 1 不绑核运行 |
| | | api.Init() |
| | |
| | | # 深市股东账号 |
| | | SZSE_ShareHolderID = '0345104949' |
| | | |
| | | ########B类######## |
| | | # LOCAL_IP = "192.168.84.75" |
| | | # FRONT_ADDRESS = "tcp://192.168.84.31:6500" |
| | | # FRONT_ADDRESS1 = "tcp://192.168.84.32:26500" |
| | | |
| | | ########A类######## |
| | | LOCAL_IP = "192.168.10.111" |
| | | FRONT_ADDRESS = "tcp://10.224.123.143:6500" |
| | | FRONT_ADDRESS1 = "tcp://10.224.123.147:26500" |
| | | |
| | | # # 仿真 |
| | | # from mylog import logger_trade_debug |
| | | # |
| | |
| | | cls.__front_id = front_id |
| | | |
| | | # sinfo char(32) |
| | | def buy(self, code, count, price, sinfo, order_ref, shadow_price = None): |
| | | def buy(self, code, count, price, sinfo, order_ref, shadow_price=None): |
| | | if not ENABLE_ORDER: |
| | | return |
| | | if sinfo in self.__buy_sinfo_set: |
| | |
| | | 其它字段置空 |
| | | ''' |
| | | # 给L2发送消息 |
| | | |
| | | |
| | | ret = api.ReqOrderInsert(req_field, self.req_id) |
| | | if ret != 0: |
| | |
| | | # UserProductInfo填写终端名称 |
| | | login_req.UserProductInfo = 'jiabei' |
| | | # 按照监管要求填写终端信息 |
| | | login_req.TerminalInfo = 'PC;IIP=NA;IPORT=NA;LIP=192.168.84.75;MAC=5C6F69CC2B40;HD=004bc76004aff0882b9052ba0eb00506;@jiabei' |
| | | login_req.TerminalInfo = f'PC;IIP=NA;IPORT=NA;LIP={LOCAL_IP};MAC=5C6F69CC2B40;HD=004bc76004aff0882b9052ba0eb00506;@jiabei' |
| | | # 以下内外网IP地址若不填则柜台系统自动采集,若填写则以终端填值为准报送 |
| | | # login_req.MacAddress = '5C-87-9C-96-F3-E3' |
| | | # login_req.InnerIPAddress = '10.0.1.102' |
| | |
| | | req_rid_dict[sinfo] = (client_id, request_id, sk, order_ref) |
| | | # threading.Thread(target=lambda: self.__tradeSimpleApi.buy(code, volume, price, sinfo, order_ref), |
| | | # daemon=True).start() |
| | | self.trade_thread_pool.submit(self.__tradeSimpleApi.buy, code, volume, price, sinfo, order_ref, shadow_price) |
| | | self.trade_thread_pool.submit(self.__tradeSimpleApi.buy, code, volume, price, sinfo, order_ref, |
| | | shadow_price) |
| | | |
| | | async_log_util.info(logger_trade, f"{code}华鑫本地下单线程结束") |
| | | except Exception as e: |
| | |
| | | |
| | | if 1: # 模拟环境,TCP 直连Front方式 |
| | | # 注册单个交易前置服务地址 |
| | | ##B类服务器## |
| | | api.RegisterFront(FRONT_ADDRESS) # 正式环境主地址 |
| | | api.RegisterFront(FRONT_ADDRESS1) # 正式环境备用地址 |
| | | |
| | | api.RegisterFront("tcp://192.168.84.31:6500") # 正式环境主地址 |
| | | api.RegisterFront("tcp://192.168.84.32:26500") # 正式环境备用地址 |
| | | ##A类服务器## |
| | | # api.RegisterFront("tcp://10.224.123.143:6500") # 正式环境主地址 |
| | | # api.RegisterFront("tcp://10.224.123.147:26500") # 正式环境备用地址 |
| | | |
| | | # TD_TCP_FrontAddress = "tcp://210.14.72.21:4400" # 仿真交易环境 |
| | | # TD_TCP_FrontAddress = "tcp://210.14.72.15:4400" # 24小时环境A套 |
| | |
| | | order_begin_pos.count = 0 |
| | | order_begin_pos.buy_single_index = buy_single_index |
| | | if order_begin_pos.sell_info: |
| | | if float(total_datas[buy_single_index]["val"]["price"]) >= 3 and cls.volume_rate_info[code][0] > 0.3: |
| | | if float(total_datas[buy_single_index]["val"]["price"]) >= 3 and cls.volume_rate_info[code][0] > 0.3 and sell_info[1] > 2000 * 10000: |
| | | # 暂时打8折 |
| | | order_begin_pos.threshold_money = int(sell_info[1] * 0.8) |
| | | # order_begin_pos.threshold_money = int(sell_info[1] * 0.8) |
| | | # 深证总卖大于1000万的票,m值打5折 |
| | | if sell_info[1] > 1000 * 10000: |
| | | if code.find('00') == 0: |
| | | order_begin_pos.threshold_money = int(sell_info[1] * 0.5) |
| | | else: |
| | | order_begin_pos.threshold_money = int(sell_info[1] * 0.7) |
| | | if code.find('00') == 0: |
| | | order_begin_pos.threshold_money = int(sell_info[1] * 0.6) |
| | | else: |
| | | order_begin_pos.threshold_money = int(sell_info[1] * 0.7) |
| | | else: |
| | | order_begin_pos.threshold_money = int(sell_info[1]) |
| | | l2_log.debug(code, "获取到买入信号起始点:{} ,计算范围:{}-{} ,量比:{},是否板上买:{},数据:{} 模式:{}({})", buy_single_index, |