Kraken交易记录大揭秘:一招教你秒查历史订单!

2025-03-06 10:31:24 61

Kraken历史订单查看方法

Kraken是全球领先的加密货币交易所之一,允许用户交易各种数字资产。了解如何查看您的历史订单对于跟踪您的交易活动、分析您的交易策略以及准备税务报告至关重要。Kraken提供了多种方法来访问您的历史订单,包括通过网页界面和API。本文将详细介绍如何在Kraken平台上查看您的历史订单。

通过Kraken网页界面查看历史订单

Kraken网页界面提供了一个全面的工具集,使用户能够轻松查看和分析其历史订单。以下步骤提供了关于如何高效访问和理解您的交易历史的详细说明:

  1. 登录您的Kraken账户。 打开您的网络浏览器并访问Kraken官方网站 ( https://www.kraken.com/ )。 在登录界面,输入您的用户名和密码以访问您的账户。考虑到安全因素,如果启用了两因素身份验证(2FA),系统会提示您输入由您的身份验证器应用程序生成的当前2FA验证码,以完成登录过程。
  2. 导航至“订单”页面。 成功登录后,您将在页面顶部的主导航栏中找到“交易”或“Trade”选项。 将鼠标指针悬停在此选项上,将显示一个下拉菜单,其中包含各种交易相关的选项。 从下拉菜单中选择“订单”或“Orders”。 点击此选项会将您定向到专门的订单管理页面。
  3. 浏览“开放订单”选项卡。 默认情况下,订单页面通常会显示“开放订单”选项卡。 此选项卡集中展示了您当前活跃的、尚未完全成交的订单,例如您设置的限价订单,等待市场价格达到您指定的价格点。 如果您的目标是回顾过去已完成的交易,则需要切换到另一个选项卡,该选项卡包含历史交易数据。
  4. 切换至“已成交订单”选项卡。 在订单页面的顶部,您会发现多个选项卡,它们用于组织不同类型的订单信息。这些选项卡通常包括“开放订单”、“已成交订单”、“已取消订单”以及一个汇总所有订单类型的“所有订单”选项卡。要查看您的历史交易记录,请选择“已成交订单”或“Filled Orders”选项卡。 此选项卡将呈现您所有已成功执行的订单的完整列表,按时间顺序列出。
  5. 使用筛选器和排序功能。 在“已成交订单”选项卡中,您会看到一个包含所有已完成交易的详细列表。 为了更高效地定位特定的历史订单,Kraken提供了一套强大的筛选器和排序工具。 您可以利用以下筛选器缩小搜索范围:
    • 交易对: 通过选择特定的交易对,如BTC/USD或ETH/EUR,您可以将显示的订单范围缩小到仅与该特定交易对相关的交易。这对于分析特定资产的交易历史非常有用。
    • 时间范围: 设置特定的时间段,例如过去一周、过去一个月或自定义日期范围,可以帮助您集中查看在该时间段内执行的订单。 这对于评估特定时间段内的交易表现至关重要。
    • 订单类型: 通过筛选特定的订单类型,例如市价单(立即以当前市场价格执行的订单)、限价单(仅在达到指定价格时执行的订单)或止损单(当价格达到预设止损价格时触发的订单),可以更精确地分析您的交易策略。
    • 订单状态: 筛选已完全成交、部分成交(仅部分数量已执行)或已取消的订单,有助于您了解订单执行的完整生命周期。

    您还可以通过点击表格的列标题来对订单列表进行排序。 例如,您可以按时间(订单创建或执行的时间)、交易对、价格或数量对订单进行升序或降序排列,以便快速找到您需要的特定订单。

  6. 查看订单详情。 在“已成交订单”列表中,您可以点击任意一个订单,以查看其详细信息。 订单详情页面将显示有关该订单的所有相关信息,如下所示:
    • 订单ID: 每个订单的唯一标识符,可用于追踪订单状态或与Kraken支持团队进行沟通。
    • 交易对: 进行交易的两种加密货币或加密货币与法定货币的配对。
    • 订单类型: 所使用的订单类型,例如市价单、限价单或止损单。
    • 订单方向: 指示您是买入(做多)还是卖出(做空)该资产。
    • 下单时间: 订单在Kraken平台上下达的具体日期和时间。
    • 成交时间: 订单被交易所执行的具体日期和时间。
    • 价格: 订单成交时资产的价格。
    • 数量: 交易的资产数量。
    • 费用: Kraken交易所对该笔交易收取的交易费用。
    • 状态: 订单的当前状态,例如已成交、部分成交或已取消。
  7. 导出历史订单数据。 为了进一步分析和记录您的交易活动,Kraken允许您将历史订单数据导出为标准化的CSV(逗号分隔值)或Excel文件。 在“已成交订单”选项卡中,您通常会看到一个“导出”或“Export”按钮。 点击该按钮,指定您想要导出的数据的时间范围,选择所需的文件格式(CSV或Excel),然后启动下载过程。 下载的文件可以在各种电子表格软件(如Microsoft Excel、Google Sheets或LibreOffice Calc)中打开和分析,从而帮助您深入了解您的交易模式、盈利能力和风险管理策略。

通过Kraken API查看历史订单

对于经验丰富的交易者和开发人员而言,Kraken API 提供了一种强大的、程序化的方式来访问详细的历史订单数据。利用API,您可以自动化从 Kraken 交易所检索交易数据的过程,并无缝地将这些数据集成到您的自定义交易策略、风险管理模型和高级分析工具中,实现数据驱动的决策。

  1. 获取API密钥。 为了充分利用 Kraken API 的功能,您需要先生成一组 API 密钥。登录您的 Kraken 账户,然后导航到账户设置中的“安全”部分,通常标记为“设置”或“安全”。在该部分,找到“API”或“API 密钥”选项并选择它。创建新的 API 密钥时,必须谨慎授予正确的权限。为了检索历史订单信息,确保您的 API 密钥拥有“查询订单 & 交易”的权限。此权限至关重要,因为它允许 API 密钥访问您的交易历史,而不会授予不必要的账户控制权。重要的是要采取严格的安全措施来保护您的 API 密钥和相应的私钥。将它们存储在一个安全的位置,并且切勿与他人分享,因为它们就像您账户的密码一样。
  2. 使用 API 调用获取历史订单数据。 Kraken API 提供了一系列端点,允许您检索各种类型的交易数据。要专门检索历史订单数据,您需要利用名为“Trades History”的端点。此端点经过专门设计,可以返回有关您在 Kraken 交易所执行的所有订单的全面信息,包括交易对、成交价格、成交量、时间和交易费用。可以使用各种编程语言(如 Python、Java、JavaScript 或任何其他支持 HTTP 请求的语言)调用 API 端点。选择最适合您的技能和项目要求的语言。

    以下是一个使用 Python 调用 Kraken API 的示例代码,该代码说明了如何检索交易历史记录:

    
    import krakenex
    import time
    
    # 替换为你的 API 密钥和私钥
    api_key = "YOUR_API_KEY"
    api_secret = "YOUR_API_SECRET"
    
    # 初始化 Kraken API 客户端
    k = krakenex.API()
    k.key = api_key
    k.secret = api_secret
    
    # 定义查询参数(可选)
    params = {
        "trades": True,  # 包括交易信息
        "start": "1609459200",  # 可选:指定开始时间戳 (Unix 时间)
        "end": "1640995200"  # 可选:指定结束时间戳 (Unix 时间)
    }
    
    # 调用 API 端点获取交易历史
    try:
        response = k.query_private("TradesHistory", params)
    
        # 检查 API 调用是否成功
        if response["error"]:
            print("API Error:", response["error"])
        else:
            # 处理返回的交易数据
            trades = response["result"]["trades"]
            for txid, trade in trades.items():
                print("Transaction ID:", txid)
                print("Pair:", trade["pair"])
                print("Time:", time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(trade["time"])))
                print("Type:", trade["type"])
                print("Price:", trade["price"])
                print("Volume:", trade["vol"])
                print("Fee:", trade["fee"])
                print("----------------------")
    
    except Exception as e:
        print("An error occurred:", e)
    
    

    代码解释:

    • 导入必要的库: krakenex 是一个 Python 库,用于与 Kraken API 交互。 time 库用于格式化时间戳。
    • 配置 API 密钥: YOUR_API_KEY YOUR_API_SECRET 替换为从 Kraken 账户获得的实际 API 密钥和私钥。
    • 初始化 API 客户端: 创建 krakenex.API() 的实例,并设置 API 密钥和私钥。
    • 定义查询参数: params 字典允许您指定查询的附加参数。 trades=True 确保返回详细的交易信息。 start end 参数是可选的,允许您指定返回交易历史的时间范围。这些值必须是 Unix 时间戳。
    • 调用 API 端点: k.query_private("TradesHistory", params) 调用 "TradesHistory" 端点,使用提供的参数来检索交易历史。由于此端点返回敏感的用户数据,因此使用 query_private 方法进行调用。
    • 处理 API 响应: 该代码检查 API 调用是否返回任何错误。如果成功,它会解析 response["result"]["trades"] 中的交易数据。然后,它迭代每个交易并打印相关信息,如交易 ID、交易对、时间、类型(买入或卖出)、价格、成交量和交易费用。时间戳使用 time.strftime 函数格式化为可读的日期和时间。
    • 错误处理: try...except 块用于捕获可能发生的任何异常,例如网络问题或无效的 API 密钥。这有助于防止脚本崩溃并提供有用的错误消息。

    重要注意事项:

    • 安全最佳实践: 始终安全地存储您的 API 密钥和私钥。不要将它们硬编码到您的脚本中,而是考虑使用环境变量或配置文件。避免将 API 密钥提交到版本控制系统,如 Git。
    • 速率限制: Kraken API 具有速率限制,以防止滥用和确保所有用户的公平访问。超出速率限制可能会导致您的 API 密钥被暂时阻止。请查阅 Kraken API 文档以了解当前的速率限制,并实施逻辑以在代码中处理速率限制。
    • 时间戳: Kraken API 使用 Unix 时间戳表示时间。Unix 时间戳表示自 1970 年 1 月 1 日以来经过的秒数。可以使用 time.time() 函数获取当前时间戳,或使用 datetime 库将日期和时间转换为 Unix 时间戳。
    • 数据格式: Kraken API 以 JSON 格式返回数据。您可以使用 Python 的 库解析 JSON 响应。
    • 错误处理: 始终实施适当的错误处理机制,以处理 API 调用可能返回的任何错误。检查 API 响应中的 error 字段,并相应地处理错误。

    通过使用 Kraken API,您可以自动检索历史订单数据,从而能够构建复杂的交易策略、执行详细的交易分析并有效地管理您的交易风险。此方法特别适用于需要访问大量历史数据以进行回溯测试、算法交易或创建定制交易工具的交易者和开发人员。

替换为您的 API 密钥和密钥

api_key = "YOUR_API_KEY"
api_secret = "YOUR_API_SECRET"

为了安全地与 Kraken 交易所进行交互,您需要在代码中设置您的 API 密钥和密钥。 请务必将 "YOUR_API_KEY" 替换为您从 Kraken 获得的实际 API 密钥,并将 "YOUR_API_SECRET" 替换为您相应的私密密钥。 这些凭据对于验证您的身份和授权您的交易至关重要。

k = krakenex.API(key=api_key, secret=api_secret)

此行代码初始化 krakenex.API 对象,该对象用于与 Kraken API 进行通信。 key 参数设置为您的 API 密钥 ( api_key ), secret 参数设置为您的私密密钥 ( api_secret )。 该 k 对象现在可用于调用各种 Kraken API 方法,例如获取市场数据、下订单和管理您的账户。 始终注意妥善保管您的 API 密钥和密钥,避免泄露。

设置要检索数据的起始时间和结束时间

确定您需要分析的加密货币数据的起始和结束时间戳。时间戳通常以 Unix 时间(自 1970 年 1 月 1 日 UTC 午夜以来经过的秒数)表示。使用 Python 的 time 模块可以方便地获取当前时间戳,并进行加减运算来设定起始和结束时间。

start_time = int(time.time() - 3600 * 24 * 30) # 最近 30 天

以上代码示例计算过去 30 天的起始时间戳。 time.time() 函数返回当前时间戳(浮点数),减去 3600 * 24 * 30 (表示30天的秒数),得到 30 天前的时间戳。 int() 函数将浮点数转换为整数,确保时间戳的格式正确。此方法可根据需求灵活调整时间跨度,例如,修改 30 可以获取更长或更短时间段的数据。务必根据交易所或数据源的要求,调整时间戳的精度(秒、毫秒等)。

end_time = int(time.time())

此行代码获取当前的 Unix 时间戳,并将其转换为整数。这将作为数据检索的结束时间。将 end_time 设置为当前时间,意味着您将检索到最新的可用数据。根据具体应用场景,您可以将 end_time 设置为未来的某个时间点,但需要注意数据源是否提供未来的数据。

调用交易历史API接口

以下代码片段展示了如何使用Kraken API查询您的交易历史。 确保您已安装KrakenAPI Python库 ( pip install krakenex ) 并拥有有效的API密钥和私钥。

示例代码:


try:
    # 导入必要的库
    import krakenex
    from pykrakenapi import KrakenAPI
    import pandas as pd

    # 替换为您的API密钥和私钥
    api_key = "YOUR_API_KEY"
    api_secret = "YOUR_API_SECRET"

    # 创建Kraken API对象
    k = krakenex.API(key=api_key, secret=api_secret)
    kapi = KrakenAPI(k)

    # 设置查询的时间范围 (Unix时间戳)
    start_time = 1609459200  # 2021-01-01 00:00:00 UTC
    end_time = 1640995200    # 2022-01-01 00:00:00 UTC

    # 调用TradesHistory API
    response = k.query_private('TradesHistory', {'start': start_time, 'end': end_time})

    # 检查是否有错误
    if response['error']:
        print("Error:", response['error'])
    else:
        # 获取交易数据
        trades = response['result']['trades']

        # 循环遍历每个交易
        for txid, trade in trades.items():
            print(f"Transaction ID: {txid}")
            print(f"Pair: {trade['pair']}")
            print(f"Time: {trade['time']}")
            print(f"Type: {trade['type']}")
            print(f"Order Type: {trade['ordertype']}")
            print(f"Price: {trade['price']}")
            print(f"Cost: {trade['cost']}")
            print(f"Fee: {trade['fee']}")
            print(f"Volume: {trade['vol']}")
            print("-" * 20)

except Exception as e:
    print("An error occurred:", e)

API密钥和私钥: 请务必将 YOUR_API_KEY YOUR_API_SECRET 替换为您在Kraken交易所生成的真实API密钥和私钥。 务必妥善保管您的API密钥,避免泄露,因为泄露可能导致资金损失。建议只授予API密钥所需的最低权限,例如仅授予查看交易历史的权限,避免授予提现权限。

时间范围: start_time end_time 参数用于指定查询交易历史的时间范围。 这些值应该是Unix时间戳,表示自Epoch(1970年1月1日 00:00:00 UTC)以来的秒数。 您可以使用Python的 time 模块或在线工具将日期和时间转换为Unix时间戳。 例如, int(time.mktime(datetime.datetime(2023, 1, 1).timetuple())) 将返回 2023年1月1日的Unix时间戳。 您可以根据实际需求修改时间范围来筛选特定时间段内的交易记录。

API响应: API响应是一个包含历史交易数据的JSON对象。 response['result']['trades'] 包含了所有符合条件的交易记录。 每条交易记录都包含了交易ID ( txid ), 交易对 ( pair ), 交易时间 ( time ), 交易类型 ( type ,例如buy或sell), 订单类型 ( ordertype ,例如market或limit), 价格 ( price ), 成本 ( cost ), 手续费 ( fee ) 和交易量 ( vol ) 等信息。

数据处理: 您可以解析JSON对象并将交易数据存储到数据库、CSV文件或电子表格中以进行进一步分析。 可以使用Pandas库将交易数据转换为DataFrame,方便进行数据分析和可视化。例如:


import pandas as pd

# 将交易数据转换为列表
trades_list = []
for txid, trade in trades.items():
    trade['txid'] = txid  # 添加交易ID到交易字典中
    trades_list.append(trade)

# 创建Pandas DataFrame
df = pd.DataFrame(trades_list)

# 打印DataFrame
print(df)

# 将DataFrame保存到CSV文件
df.to_csv('kraken_trades.csv', index=False)

错误处理: 示例代码包含错误处理机制。如果API调用失败, response['error'] 将包含错误信息,您可以将其打印出来以便调试。 同时, try...except 块用于捕获可能发生的异常,例如网络连接错误或API密钥无效等。

其他参数: 除了 start end 之外, TradesHistory API还支持其他可选参数,例如:

  • trades : 布尔值,指示是否返回交易信息。 默认为True。
  • userref : 用户参考ID,用于筛选特定用户参考ID的交易。
  • ofs : 结果偏移量,用于分页。
您可以根据需要使用这些参数来筛选和排序交易数据。请参考Kraken API文档了解更多信息。

注意事项

  • 安全至上: 务必采取最严格的安全措施保护您的API密钥和私钥。将它们视为您的账户密码,切勿通过任何不安全的渠道(如电子邮件、公共论坛等)与任何人分享。考虑使用硬件安全模块(HSM)或安全的密钥管理系统来存储和管理这些敏感凭证。
  • 速率限制: Kraken API对请求速率实施了严格的限制,旨在防止滥用并确保所有用户的服务质量。在您的代码中实现重试机制和速率限制逻辑,以避免超过允许的请求频率,从而导致您的IP地址被阻止。仔细阅读Kraken API的文档,了解不同端点的具体速率限制,并相应地调整您的请求频率。使用指数退避策略可以有效地处理速率限制错误。
  • API文档: Kraken API提供了广泛且详细的文档,其中包含了所有可用端点、请求参数、响应格式、身份验证方法以及错误代码的全面说明。在开始开发之前,仔细阅读并理解API文档至关重要。定期查阅文档更新,以便了解最新的功能、更改和最佳实践。Kraken可能会定期更新其API以提高性能或添加新功能,因此保持对文档的关注非常重要。

通过上述步骤,您可以高效且安全地查看和管理您在Kraken平台上的历史订单。您可以使用用户友好的网页界面进行简单的订单查询,或者利用功能强大的API进行更复杂的分析和自动化交易策略。API允许您检索详细的订单信息,包括订单类型、价格、数量、执行状态、交易费用和时间戳。这些数据可以帮助您评估您的交易表现、优化您的策略并进行风险管理。

在我们的网站资源分类中,您将发现一系列关于加密货币的综合资源,包括最新的加密技术新闻、市场趋势分析、投资策略以及初学者指南。无论您是经验丰富的投资者还是刚入门的新手,这里都有丰富的信息和工具,帮助您更深入地理解和投资加密货币。