Hyperliquid-Python-SDK订单管理终极指南:创建、修改与取消订单全流程

【免费下载链接】hyperliquid-python-sdk SDK for Hyperliquid API trading with Python. 【免费下载链接】hyperliquid-python-sdk 项目地址: https://gitcode.com/gh_mirrors/hy/hyperliquid-python-sdk

Hyperliquid-Python-SDK是一个强大的Python开发工具包,专为与Hyperliquid API进行交易而设计。本指南将详细介绍如何使用该SDK进行订单的创建、修改与取消,帮助新手和普通用户快速掌握订单管理的核心流程。

快速入门:准备工作

在开始使用Hyperliquid-Python-SDK进行订单管理之前,需要完成以下准备工作:

  1. 安装SDK:通过Poetry包管理器安装Hyperliquid-Python-SDK
  2. 配置环境:设置API密钥和网络连接信息
  3. 导入必要模块:主要使用hyperliquid.exchange.Exchange类进行订单操作

订单创建:从基础到高级

创建限价订单

创建限价订单是最基本的交易操作。通过order方法可以轻松实现:

from hyperliquid.exchange import Exchange

# 初始化Exchange实例
exchange = Exchange(wallet=your_wallet, base_url=API_URL)

# 创建限价订单
response = exchange.order(
    name="BTC",
    is_buy=True,
    sz=0.01,
    limit_px=30000.0,
    order_type={"limit": {"tif": "Gtc"}},
    reduce_only=False
)

创建市价订单

市价订单可以通过market_open方法快速创建,系统会根据当前市场价格自动计算最优执行价格:

# 创建市价订单
response = exchange.market_open(
    name="ETH",
    is_buy=True,
    sz=0.1,
    slippage=0.02  # 2%滑点容忍度
)

批量订单创建

对于需要同时创建多个订单的场景,可以使用bulk_orders方法提高效率:

# 批量创建订单
order_requests = [
    {
        "coin": "BTC",
        "is_buy": True,
        "sz": 0.01,
        "limit_px": 30000.0,
        "order_type": {"limit": {"tif": "Gtc"}},
        "reduce_only": False
    },
    {
        "coin": "ETH",
        "is_buy": True,
        "sz": 0.1,
        "limit_px": 2000.0,
        "order_type": {"limit": {"tif": "Gtc"}},
        "reduce_only": False
    }
]

response = exchange.bulk_orders(order_requests)

订单修改:灵活调整交易策略

当市场行情变化时,可能需要调整已提交的订单。Hyperliquid-Python-SDK提供了modify_order方法来实现这一功能:

# 修改订单
response = exchange.modify_order(
    oid=12345,  # 订单ID
    name="BTC",
    is_buy=True,
    sz=0.01,
    limit_px=31000.0,  # 新的限价价格
    order_type={"limit": {"tif": "Gtc"}},
    reduce_only=False
)

对于需要同时修改多个订单的场景,可以使用bulk_modify_orders_new方法:

# 批量修改订单
modify_requests = [
    {
        "oid": 12345,
        "order": {
            "coin": "BTC",
            "is_buy": True,
            "sz": 0.01,
            "limit_px": 31000.0,
            "order_type": {"limit": {"tif": "Gtc"}},
            "reduce_only": False
        }
    },
    # 更多订单修改请求...
]

response = exchange.bulk_modify_orders_new(modify_requests)

订单取消:及时控制风险

取消单个订单

当需要撤销某个未成交的订单时,可以使用cancel方法:

# 取消单个订单
response = exchange.cancel(name="BTC", oid=12345)

按客户订单ID取消

如果使用了客户订单ID(cloid),可以通过cancel_by_cloid方法取消订单:

# 按客户订单ID取消
from hyperliquid.utils.types import Cloid

cloid = Cloid("your_custom_order_id")
response = exchange.cancel_by_cloid(name="BTC", cloid=cloid)

批量取消订单

对于需要同时取消多个订单的场景,可以使用bulk_cancel方法:

# 批量取消订单
cancel_requests = [
    {"coin": "BTC", "oid": 12345},
    {"coin": "ETH", "oid": 67890},
    # 更多订单取消请求...
]

response = exchange.bulk_cancel(cancel_requests)

计划取消订单

Hyperliquid-Python-SDK还支持计划取消功能,可以设置在未来某个时间自动取消所有未成交订单:

# 计划取消订单(10分钟后)
import time
current_time = int(time.time() * 1000)
cancel_time = current_time + 10 * 60 * 1000  # 10分钟后

response = exchange.schedule_cancel(time=cancel_time)

订单管理最佳实践

订单生命周期管理

成功的订单管理需要对订单的整个生命周期进行跟踪和控制:

  1. 创建订单后,保存订单ID(oid)或客户订单ID(cloid)以便后续操作
  2. 监控订单状态,可以通过WebSocket实时获取订单更新
  3. 及时调整,根据市场变化修改或取消订单

错误处理与重试机制

在订单操作过程中,可能会遇到网络问题或API限制,建议实现适当的错误处理和重试机制:

import time
from requests.exceptions import RequestException

def safe_order(exchange, max_retries=3, **order_params):
    retries = 0
    while retries < max_retries:
        try:
            return exchange.order(**order_params)
        except RequestException as e:
            print(f"订单请求失败: {e}, 重试中...")
            retries += 1
            time.sleep(1)
    raise Exception(f"达到最大重试次数 {max_retries}")

总结

Hyperliquid-Python-SDK提供了全面的订单管理功能,通过ordermodify_ordercancel等核心方法,可以轻松实现订单的创建、修改和取消。无论是单个订单操作还是批量处理,都能满足不同交易策略的需求。

通过本指南的学习,您已经掌握了Hyperliquid-Python-SDK订单管理的基本流程和最佳实践。要深入了解更多高级功能,可以参考项目中的示例代码,如examples/basic_order.pyexamples/basic_order_modify.py,以及完整的SDK源代码hyperliquid/exchange.py

开始使用Hyperliquid-Python-SDK,体验高效、灵活的订单管理流程,提升您的交易效率!

【免费下载链接】hyperliquid-python-sdk SDK for Hyperliquid API trading with Python. 【免费下载链接】hyperliquid-python-sdk 项目地址: https://gitcode.com/gh_mirrors/hy/hyperliquid-python-sdk

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐