Пример #1
0
    def test_trade(self):
        trade_client = TradeClient(api_key=t_api_key,
                                   secret_key=t_secret_key,
                                   performance_test=True)

        # case req_order_paras
        tc = TimeCost(function_name=trade_client.req_order_paras.__name__)
        result, tc.server_req_cost, tc.server_api_cost = trade_client.req_order_paras(
            contract_code)
        print("req_order_paras:", result)
        tc.run_status = RunStatus.SUCCESS if result and len(
            result) else RunStatus.FAILED
        tc.add_record()

        # case req_liquidation_history
        tc = TimeCost(
            function_name=trade_client.req_liquidation_history.__name__)
        contract_code_list = [contract_code]
        side = 0
        result, tc.server_req_cost, tc.server_api_cost = trade_client.req_liquidation_history(
            contract_code_list, side)
        print("req_liquidation_history:", result)
        tc.run_status = RunStatus.SUCCESS if result and len(
            result) else RunStatus.FAILED
        tc.add_record()

        # case req_history_orders
        tc = TimeCost(function_name=trade_client.req_history_orders.__name__)
        contract_code_list = list()
        type_list = list()
        side = 0
        start_time = 0
        end_time = 0

        result, tc.server_req_cost, tc.server_api_cost = trade_client.req_history_orders(
            contract_code_list, type_list, side, start_time, end_time)
        print("req_history_orders:", result)
        tc.run_status = RunStatus.SUCCESS if result and len(
            result) else RunStatus.FAILED
        tc.add_record()

        # case get_positions
        tc = TimeCost(function_name=trade_client.get_positions.__name__)
        result, tc.server_req_cost, tc.server_api_cost = trade_client.get_positions(
        )
        print("get_positions:", result)
        tc.run_status = RunStatus.SUCCESS if result and len(
            result) else RunStatus.FAILED
        tc.add_record()

        # case get_open_orders
        tc = TimeCost(function_name=trade_client.get_open_orders.__name__)
        result, tc.server_req_cost, tc.server_api_cost = trade_client.get_open_orders(
            contract_code)
        print("get_open_orders:", result)
        tc.run_status = RunStatus.SUCCESS if result and len(
            result) else RunStatus.FAILED
        tc.add_record()

        # case set_leverage
        tc = TimeCost(function_name=trade_client.set_leverage.__name__)
        direct = Direct.LONG
        leverage = 20
        result, tc.server_req_cost, tc.server_api_cost = trade_client.set_leverage(
            contract_code, direct, leverage)
        print("set_leverage:", result)
        tc.run_status = RunStatus.SUCCESS if result and len(
            result) else RunStatus.FAILED
        tc.add_record()

        # case create_order
        tc = TimeCost(function_name=trade_client.create_order.__name__)
        side = OrderTradeType.BUY_LONG
        order_quantity = 10
        order_price = 48000
        result, tc.server_req_cost, tc.server_api_cost = trade_client.create_order(
            contract_code, side, order_quantity, order_price)
        print("create_order:", result)
        order_id_tmp = result['data'] if result and result.get('ret',
                                                               -1) == 0 else 0
        tc.run_status = RunStatus.SUCCESS if result and result.get(
            'ret', -1) == 0 else RunStatus.FAILED
        tc.add_record()

        # case cancel_order
        tc = TimeCost(function_name=trade_client.cancel_order.__name__)
        result, tc.server_req_cost, tc.server_api_cost = trade_client.cancel_order(
            contract_code, order_id_tmp)
        print("cancel_order:", result)
        tc.run_status = RunStatus.SUCCESS if result and result.get(
            'ret', -1) == 0 else RunStatus.FAILED
        tc.add_record()

        # case create_condition_order
        tc = TimeCost(
            function_name=trade_client.create_condition_order.__name__)
        side = OrderTradeType.BUY_LONG
        trig_price = 50000
        expected_quantity = 10
        expected_price = 48000
        result, tc.server_req_cost, tc.server_api_cost = trade_client.create_condition_order(
            contract_code, side, OrderType.LIMIT, trig_price,
            expected_quantity, expected_price)
        print("create_condition_order:", result)
        tc.run_status = RunStatus.SUCCESS if result and result.get(
            'ret', -1) == 0 else RunStatus.FAILED
        tc.add_record()

        # case req_condition_orders
        tc = TimeCost(function_name=trade_client.req_condition_orders.__name__)
        contract_code_list = [contract_code]
        task_type_list = list()
        trig_type_list = list()
        task_status_list = list()
        direct = 0
        side = 0
        start_time = 0
        end_time = 0
        result, tc.server_req_cost, tc.server_api_cost = trade_client.req_condition_orders(
            contract_code_list, task_type_list, trig_type_list,
            task_status_list, direct, side, start_time, end_time)
        print("req_condition_orders:", result)
        task_data = result.get(
            'data', {}) if result and result.get('ret', -1) == 0 else {}
        task_list = task_data.get('result', list())

        task_list = list(
            filter(
                lambda x: x['taskStatus'] == 1
                if x.get('taskStatus') else False, task_list))
        print(task_list)
        task_id_tmp = task_list[0].get('taskId', 0) if len(task_list) else 0

        tc.run_status = RunStatus.SUCCESS if result and result.get(
            'ret', -1) == 0 else RunStatus.FAILED
        tc.add_record()

        # case cancel_condition_order
        tc = TimeCost(
            function_name=trade_client.cancel_condition_order.__name__)
        print(task_id_tmp)
        result, tc.server_req_cost, tc.server_api_cost = trade_client.cancel_condition_order(
            contract_code, task_id_tmp)
        print("cancel_condition_order:", result)
        tc.run_status = RunStatus.SUCCESS if result and result.get(
            'ret', -1) == 0 else RunStatus.FAILED
        tc.add_record()
Пример #2
0
from hopex.client.trade import TradeClient

from hopex.constant.test import t_api_key, t_secret_key
from hopex.utils.log_info import LogInfo

trade_client = TradeClient(api_key=t_api_key, secret_key=t_secret_key)

list_obj = trade_client.get_positions()

LogInfo.output_list(list_obj)