OKX信号机器人警报消息2.0规范详解

·

随着信号机器人的推出,TradingView用户现在可以发布信号并在OKX上创建信号机器人。本指南将详细介绍OKX支持的各种警报消息规范,帮助用户更好地配置和使用交易信号功能。

Pine Script™策略与指标的区别

在深入了解警报消息规范之前,有必要先理解Pine Script™中策略(Strategy)与指标(Indicator)的基本区别。

Pine Script™策略主要用于历史数据回测和实时市场的前向测试。除了进行指标计算外,策略还包括对strategy.*()函数的调用,这些函数将交易订单发送到Pine Script™的代理模拟器,模拟订单执行。回测结果展示在图表底部的"策略测试器"选项卡中。

Pine Script™指标同样进行计算,但不用于回测场景。由于不依赖代理模拟器,指标消耗资源更少,执行速度更快。

值得注意的是,您可以选择使用Section A或Section B中的格式 - 两种格式完全兼容。系统会根据您发送的消息智能识别所使用的格式并进行相应解析,确保无缝体验。

专为Pine Script™策略用户设计的规范

以下规范专门为使用Pine Script™策略编写算法的用户量身定制,主要适用于strategy.*函数。该格式专门适配策略占位符值,确保无缝兼容性。

警报消息规范概述

参数是否必需取值
id必需- TradingView的{{strategy.order.id}}
action必需- TradingView的{{strategy.order.action}}
marketPosition必需- TradingView的{{strategy.market_position}}
prevMarketPosition必需- TradingView的{{strategy.prev_market_position}}
instrument必需- TradingView的{{ticker}}或OKX的Instld格式
signalToken必需OKX创建信号时提供
timestamp必需TradingView的{{timenow}}
maxLag可选[1, 3600]之间的非负整数值,默认为60
investmentType可选*基础货币金额、保证金金额、固定合约数等
amount必需根据investmentType类型提供相应数值

*investmentType默认值:进入信号为"percentage_investment",退出信号为"percentage_position"。但强烈建议将此值设置为"base",并将amount设置为"{{strategy.order.contracts}",以获得与TradingView策略的最大兼容性。

关键参数详解

1. id参数 - 订单标识符

{{strategy.order.id}} - 返回已执行订单的ID(在生成订单的函数调用中作为第一个参数字符串使用)。

2. action参数 - 买入或卖出

{{strategy.order.action}} - 返回已执行订单的"buy"或"sell"字符串。

3. marketPosition参数 - 预期持仓状态

{{strategy.market_position}} - 以字符串形式返回策略的当前持仓状态:"long"、"flat"或"short"。

4. instrument参数 - 交易标的格式

支持两种格式:

5. signalToken参数 - 信号认证

令牌是一种安全措施,确保传入请求是合法和授权的。此signalToken将在用户成功创建新信号时自动生成,需要复制到TradingView警报消息中。

👉 获取完整的信号配置指南

6. timestamp参数 - 时间戳

{{timenow}}将返回警报生成时的当前确切时间,采用UTC时间和yyyy-MM-ddTHH:mm:ssZ格式。

7. maxLag参数 - 最大可接受延迟

"maxLag"指交易信号被视为无效之前的最大允许延迟或延迟(以秒为单位)。默认设置为60秒。设置maxLag值有助于确保信号机器人及时运行,避免根据过时或可能不再反映当前市场状况的信号进行操作。

通用兼容规范

以下规范具有通用性,可适应任何场景。无论您是使用PineScript™编写策略或指标(研究)脚本,还是手动在TradingView的警报用户界面中输入警报,这些规范都保持适应性和可定制性。

通用规范概述

参数是否必需取值
action必需ENTER_LONG、ENTER_SHORT、EXIT_LONG、EXIT_SHORT
instrument必需TradingView的{{ticker}}或OKX的Instld格式
signalToken必需OKX创建信号时提供
timestamp必需TradingView的{{timenow}}
maxLag可选[1, 3600]之间的非负整数值,默认为60
orderType条件必需market或limit(orderType = Limit时需要)
orderPriceOffset条件必需[0, 100]之间的浮点数值(%)
investmentType可选多种投资类型选项
amount条件必需根据investmentType类型提供相应数值

操作模式说明

信号机器人在单向(即买入/卖出)模式下运行,意味着对于给定标的,机器人只会持有一个方向的仓位。

开仓订单:

平仓订单:

订单类型和价格偏移

orderType参数:

orderPriceOffset参数(仅适用于限价单):

实际应用示例

示例1:多头入场 -> 多头退出(完全平仓),无多次入场

示例2:多头入场 -> 空头入场(一步反转),无多次入场

示例3:多头入场 -> 多头退出(部分)-> 多头退出(完全平仓)

示例4:使用多次入场功能

多次入场是信号机器人中的一项功能,允许对给定标的执行多个入场点。交易者可以通过分散入场点(即美元成本平均法)来优化交易方法,在动态市场环境中增加捕捉盈利交易的机会。

对于信号提供者,如果用户已在机器人中配置了某些可选参数,他们可以排除这些参数。这对于专注于仅提供买入/卖出触发信号的提供者特别有用,具体的投资金额由每个订阅者自行决定。

常见问题

如何选择适合的警报消息格式?

如果您是Pine Script™策略的高级用户,并且主要使用strategy.*()函数构建交易信号,建议使用Section A的专用格式。该格式与Pine Script™的策略占位符无缝集成,能够轻松传输交易信号。

对于不使用Pine Script™策略脚本的用户,或者使用自定义指标、各种图表技术甚至手动警报的情况,Section B提供的通用规范更适合。这种"一刀切"的规范框架能够满足各种信号生成方法的需求。

如何获取和配置signalToken?

signalToken是一种安全措施,确保传入请求是合法和授权的。当用户在我们的平台上成功创建新信号时,此signalToken将自动生成。您需要将此token复制到TradingView警报消息中。

要查找已激活信号的signalToken:

  1. 查看信号的详细信息部分
  2. 在推荐的警报消息部分找到您的signalToken

maxLag参数的作用和推荐设置是什么?

maxLag参数指的是交易信号被视为无效之前的最大允许延迟或延迟(以秒为单位)。它计算从信号从TradingView发送(使用警报消息中的"timestamp"字段)到在OKX接收以执行订单的时间差。

默认设置为60秒。设置maxLag值有助于确保信号机器人及时运行,避免根据过时或可能不再反映当前市场状况的信号进行操作。根据您的交易策略和市场条件,您可以调整此值,但建议保持在1到3600秒的范围内。

投资类型和金额参数应该如何配置?

为了确保与您的TradingView策略的最佳兼容性,我们强烈建议将investmentType配置为"base",并将amount设置为"{{strategy.order.contracts}}"。通过这种方法,OKX上的订单数量将与您的TradingView策略中指定的订单数量保持一致。

对于进入信号,有多种投资类型选项可供选择,包括基础货币金额、保证金金额、固定合约数等。对于退出信号,选项包括基础货币金额或基于开仓仓位百分比的平仓比例。

👉 查看实时交易信号工具

信号参数和机器人参数的优先级规则是什么?

当信号参数和机器人配置都定义同一字段时,适用以下优先级规则:

规则1:机器人和信号都定义字段

规则2:只有一方定义字段

这种灵活的优先级系统允许信号提供者专注于提供交易信号,而订阅者可以根据自己的风险偏好和资金管理策略自定义执行参数。