4.8 Binance_interface APP 币本位合约交易-市价单开仓

Binance_interface APP 币本位合约交易-市价单开仓

量化交易研究群(VX) = py_ted

1. APP 币本位合约交易-市价单开仓函数总览

方法 解释
open_market 市价单开仓

2. 模型实例化

from binance_interface.app import BinanceCM
from pprint import pprint
# 转发:需搭建转发服务器,可参考:https://github.com/pyted/binance_resender
proxy_host = None
key = 'xxxx'
secret = 'xxxx'

binanceCM = BinanceCM(
    key=key, secret=secret,
    proxy_host=proxy_host
)
trade = binanceCM.trade

3. 同步 市价开仓

open_market3 = trade.open_market(
    symbol='ETHUSD_PERP',  # 产品
    marginType='ISOLATED',  # 保证金模式 ISOLATED: 逐仓 CROSSED: 全仓
    positionSide='LONG',  # 持仓方向 LONG: 多单 SHORT: 空单
    leverage=1,  # 杠杆
    openMoney=0.01,  # 开仓金额(货币数量) 开仓金额openMoney和开仓数量quantity必须输入其中一个 优先级:quantity > openMoney
    # quantity=1,  # 开仓数量(合约张数)
    newClientOrderId='',  # 客户自定义订单ID
)

pprint(open_market3)

输出:

>>> {'cancel_result': None,
>>>  'error_result': None,
>>>  'func_param': {'callback': None,
>>>                 'cancel': True,
>>>                 'delay': 0.2,
>>>                 'errorback': None,
>>>                 'leverage': 1,
>>>                 'marginType': 'ISOLATED',
>>>                 'meta': {},
>>>                 'newClientOrderId': '',
>>>                 'newThread': False,
>>>                 'openMoney': 0.01,
>>>                 'positionSide': 'LONG',
>>>                 'quantity': None,
>>>                 'symbol': 'ETHUSD_PERP',
>>>                 'timeout': 60},
>>>  'get_order_result': {'code': 200,
>>>                       'data': {'avgPrice': '2191.19',
>>>                                'clientOrderId': 'PY26WTMO0DlARJIK0fV5y2',
>>>                                'closePosition': False,
>>>                                'cumBase': '0.00912746',
>>>                                'executedQty': '2',
>>>                                'orderId': 70558910259,
>>>                                'origQty': '2',
>>>                                'origType': 'MARKET',
>>>                                'pair': 'ETHUSD',
>>>                                'positionSide': 'LONG',
>>>                                'price': '0',
>>>                                'priceProtect': False,
>>>                                'reduceOnly': False,
>>>                                'side': 'BUY',
>>>                                'status': 'FILLED',
>>>                                'stopPrice': '0',
>>>                                'symbol': 'ETHUSD_PERP',
>>>                                'time': 1706200083431,
>>>                                'timeInForce': 'GTC',
>>>                                'type': 'MARKET',
>>>                                'updateTime': 1706200083431,
>>>                                'workingType': 'CONTRACT_PRICE'},
>>>                       'msg': ''},
>>>  'meta': {},
>>>  'request_param': {'newClientOrderId': '',
>>>                    'positionSide': 'LONG',
>>>                    'quantity': '2',
>>>                    'side': 'BUY',
>>>                    'symbol': 'ETHUSD_PERP',
>>>                    'type': 'MARKET'},
>>>  'set_order_result': {'code': 200,
>>>                       'data': {'avgPrice': '0.00',
>>>                                'clientOrderId': 'PY26WTMO0DlARJIK0fV5y2',
>>>                                'closePosition': False,
>>>                                'cumBase': '0',
>>>                                'cumQty': '0',
>>>                                'executedQty': '0',
>>>                                'orderId': 70558910259,
>>>                                'origQty': '2',
>>>                                'origType': 'MARKET',
>>>                                'pair': 'ETHUSD',
>>>                                'positionSide': 'LONG',
>>>                                'price': '0',
>>>                                'priceProtect': False,
>>>                                'reduceOnly': False,
>>>                                'side': 'BUY',
>>>                                'status': 'NEW',
>>>                                'stopPrice': '0',
>>>                                'symbol': 'ETHUSD_PERP',
>>>                                'timeInForce': 'GTC',
>>>                                'type': 'MARKET',
>>>                                'updateTime': 1706200083431,
>>>                                'workingType': 'CONTRACT_PRICE'},
>>>                       'msg': ''},
>>>  'status': 'FILLED',
>>>  'symbol': 'ETHUSD_PERP'}

4. 同步 市价开仓 回调函数

# 执行成功回调
def callback4(information):
    print('callback')
    pprint(information)


# 执行错误回调
def errorback4(information):
    print('errorback')
    pprint(information)
# 设置callback与errorback
open_market4 = trade.open_market(
    symbol='ETHUSD_PERP',  # 产品
    marginType='ISOLATED',  # 保证金模式 ISOLATED: 逐仓 CROSSED: 全仓
    positionSide='LONG',  # 持仓方向 LONG: 多单 SHORT: 空单
    leverage=1,  # 杠杆
    openMoney=0.01,  # 开仓金额(货币数量) 开仓金额openMoney和开仓数量quantity必须输入其中一个 优先级:quantity > openMoney
    # quantity=1,  # 开仓数量(合约张数)
    newClientOrderId='',  # 客户自定义订单ID
    meta={
   },  # 向回调函数中传递的参数字典

    callback=callback4,  # 开仓成功触发的回调函数
    errorback=errorback4,  # 开仓失败触发的回调函数
)

输出:

>>> callback
>>> {'cancel_result': None,
>>>  'error_result': None,
>>>  'func_param': {'callback': <function callback4 at 0x7fc8988d3b80>,
>>>                 'cancel': True,
>>>                 'delay': 0.2,
>>>                 'errorback': <function errorback4 at 0x7fc8988d3790>,
>>>                 'leverage': 1,
>>>                 'marginType': 'ISOLATED',
>>>                 'meta': {},
>>>                 'newClientOrderId': '',
>>>                 'newThread': False,
>>>                 'openMoney': 0.01,
>>>                 'positionSide': 'LONG',
>>>                 'quantity': None,
>>>                 'symbol': 'ETHUSD_PERP',
>>>                 'timeout': 60},
>>>  'get_order_result': {'code': 200,
>>>                       'data': {'avgPrice': '2190.78',
>>>                                'clientOrderId': 'WzQxgQCEEyIQn5agfAJJzz',
>>>                                'closePosition': False,
>>>                                'cumBase': '0.00912916',
>>>                                'executedQty': '2',
>>>                                'orderId': 70558966251,
>>>                                'origQty': '2',
>>>                                'origType': 'MARKET',
>>>                                'pair': 'ETHUSD',
>>>                                'positionSide': 'LONG',
>>>                                'price': '0',
>>>                                'priceProtect': False,
>>>                                'reduceOnly': False,
>>>                                'side': 'BUY',
>>>                                'status': 'FILLED',
>>>                                'stopPrice': '0',
>>>                                'symbol': 'ETHUSD_PERP',
>>>                                'time': 1706200114709,
>>>                                'timeInForce': 'GTC',
>>>                                'type': 'MARKET',
>>>                                'updateTime': 1706200114709,
>>>                                'workingType': 'CONTRACT_PRICE'},
>>>                       'msg': ''},
>>>  'meta': {},
>>>  'request_param': {'newClientOrderId': '',
>>>                    'positionSide': 'LONG',
>>>                    'quantity': '2',
>>>                    'side': 'BUY',
>>>                    'symbol': 'ETHUSD_PERP',
>>>                    'type': 'MARKET'},
>>>  'set_order_result': {'code': 200,
>>>                       'data': {'avgPrice': '0.00',
>>>                                'clientOrderId': 'WzQxgQCEEyIQn5agfAJJzz',
>>>                                'closePosition': False,
>>>                                'cumBase': '0',
>>>                                'cumQty': '0',
>>>                                'executedQty': '0',
>>>                                'orderId': 70558966251,
>>>                                'origQty': '2',
>>>                                'origType': 'MARKET',
>>>                                'pair': 'ETHUSD',
>>>                                'positionSide': 'LONG',
>>>                                'price': '0',
>>>                                'priceProtect': False,
>>>                                'reduceOnly': False,
>>>                                'side': 'BUY',
>>>                                'status': 'NEW',
>>>                                'stopPrice': '0',
>>>                                'symbol': 'ETHUSD_PERP',
>>>                                'timeInForce': 'GTC',
>>>                                'type': 'MARKET',
>>>                                'updateTime': 1706200114709,
>>>                                'workingType': 'CONTRACT_PRICE'},
>>>                       'msg': ''},
>>>  'status': 'FILLED',
>>>  'symbol': 'ETHUSD_PERP'}

5. 异步 市价开仓(购买)回调函数

# 执行成功回调
def callback5(information):
    print('thread callback')
    pprint(information)


# 执行错误回调
def errorback5(information):
    print('thread errorback')
    pprint(information)
# 设置newThread=True
open_market5 = trade.open_market(
    symbol='ETHUSD_PERP',  # 产品
    marginType='ISOLATED',  # 保证金模式 ISOLATED: 逐仓 CROSSED: 全仓
    positionSide='LONG',  # 持仓方向 LONG: 多单 SHORT: 空单
    leverage=1,  # 杠杆
    openMoney=0.01,  # 开仓金额(货币数量) 开仓金额openMoney和开仓数量quantity必须输入其中一个 优先级:quantity > openMoney
    # quantity=1,  # 开仓数量(合约张数)
    newClientOrderId='',  # 客户自定义订单ID
    callback=callback5,  # 开仓成功触发的回调函数
    errorback=errorback5,  # 开仓失败触发的回调函数

    newThread=True,  # 是否开启一个新的线程维护这个订单
)

print(open_market5)
print('-' * 30)

输出:

>>> <Thread(Thread-5, started 123145698799616)>
>>> ------------------------------
>>> thread callback
>>> {'cancel_result': None,
>>>  'error_result': None,
>>>  'func_param': {'callback': <function callback5 at 0x7ff9307379d0>,
>>>                 'cancel': True,
>>>                 'delay': 0.2,
>>>                 'errorback': <function errorback5 at 0x7ff961825ca0>,
>>>                 'leverage': 1,
>>>                 'marginType': 'ISOLATED',
>>>                 'meta': {},
>>>                 'newClientOrderId': '',
>>>                 'newThread': True,
>>>                 'openMoney': 0.01,
>>>                 'positionSide': 'LONG',
>>>                 'quantity': None,
>>>                 'symbol': 'ETHUSD_PERP',
>>>                 'timeout': 60},
>>>  'get_order_result': {'code': 200,
>>>                       'data': {'avgPrice': '2191.38',
>>>                                'clientOrderId': 'BJShTZRtigQoTiFFKPeasy',
>>>                                'closePosition': False,
>>>                                'cumBase': '0.00912666',
>>>                                'executedQty': '2',
>>>                                'orderId': 70559081963,
>>>                                'origQty': '2',
>>>                                'origType': 'MARKET',
>>>                                'pair': 'ETHUSD',
>>>                                'positionSide': 'LONG',
>>>                                'price': '0',
>>>                                'priceProtect': False,
>>>                                'reduceOnly': False,
>>>                                'side': 'BUY',
>>>                                'status': 'FILLED',
>>>                                'stopPrice': '0',
>>>                                'symbol': 'ETHUSD_PERP',
>>>                                'time': 1706200213011,
>>>                                'timeInForce': 'GTC',
>>>                                'type': 'MARKET',
>>>                                'updateTime': 1706200213011,
>>>                                'workingType': 'CONTRACT_PRICE'},
>>>                       'msg': ''},
>>>  'meta': {},
>>>  'request_param': {'newClientOrderId': '',
>>>                    'positionSide': 'LONG',
>>>                    'quantity': '2',
>>>                    'side': 'BUY',
>>>                    'symbol': 'ETHUSD_PERP',
>>>                    'type': 'MARKET'},
>>>  'set_order_result': {'code': 200,
>>>                       'data': {'avgPrice': '0.00',
>>>                                'clientOrderId': 'BJShTZRtigQoTiFFKPeasy',
>>>                                'closePosition': False,
>>>                                'cumBase': '0',
>>>                                'cumQty': '0',
>>>                                'executedQty': '0',
>>>                                'orderId': 70559081963,
>>>                                'origQty': '2',
>>>                                'origType': 'MARKET',
>>>                                'pair': 'ETHUSD',
>>>                                'positionSide': 'LONG',
>>>                                'price': '0',
>>>                                'priceProtect': False,
>>>                                'reduceOnly': False,
>>>                                'side': 'BUY',
>>>                                'status': 'NEW',
>>>                                'stopPrice': '0',
>>>                                'symbol': 'ETHUSD_PERP',
>>>                                'timeInForce': 'GTC',
>>>                                'type': 'MARKET',
>>>                                'updateTime': 1706200213011,
>>>                                'workingType': 'CONTRACT_PRICE'},
>>>                       'msg': ''},
>>>  'status': 'FILLED',
>>>  'symbol': 'ETHUSD_PERP'}

最近更新

  1. TCP协议是安全的吗?

    2024-02-13 00:32:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-13 00:32:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-13 00:32:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-13 00:32:02       18 阅读

热门阅读

  1. 【深度学习】S1 预备知识 P1 张量

    2024-02-13 00:32:02       27 阅读
  2. 老兵(10)

    2024-02-13 00:32:02       29 阅读
  3. redis过期淘汰策略、数据过期策略与持久化方式

    2024-02-13 00:32:02       26 阅读
  4. python 对Windows关机/重启/锁屏

    2024-02-13 00:32:02       27 阅读
  5. Swagger2

    2024-02-13 00:32:02       32 阅读
  6. Spring Boot + Lua = 王炸!

    2024-02-13 00:32:02       29 阅读
  7. 【嵌入式开发】70

    2024-02-13 00:32:02       26 阅读
  8. STM32 7-8

    STM32 7-8

    2024-02-13 00:32:02      27 阅读
  9. C++ 同构数,的问题。

    2024-02-13 00:32:02       30 阅读
  10. H5/CSS 笔试面试考题(41-50)

    2024-02-13 00:32:02       23 阅读
  11. H5/CSS 笔试面试考题(51-60)

    2024-02-13 00:32:02       25 阅读