Especificaciones del mensaje de alerta del bot de señales de trading 2.0

Publicado el 30 ago 2023Actualizado el 3 jul 2024lectura de 19 min

Tabla de contenido

Introducción

Con el lanzamiento de Bots de Señales, los usuarios de TradingView ahora pueden publicar sus señales y crear un Bot de Señales en OKX. En esta guía, veremos las diversas especificaciones de mensajes de alerta que OKX admite para los usuarios.

Para aquellos que conocen bien PineScript™ y dependen exclusivamente de scripts de estrategia para enviar señales, hemos diseñado meticulosamente un formato de especificaciones exclusivo. Este formato integra a la perfección los marcadores de posición de estrategia de PineScript™, lo que te permite transmitir señales de trading con notable facilidad. Si eres un usuario nativo de estrategias de PineScript™, este formato es tu compañero ideal, ya que proporciona un enfoque simplificado para fusionar tus scripts de estrategias con los marcadores de posición de estrategias de TradingView. Si eres un escritor de estrategias y utilizas las funciones strategy.*() para crear tus señales de trading, consulta la Sección A - para usuarios de estrategias de PineScript™ a continuación.

Por otro lado, entendemos que no todo el mundo confía únicamente en los scripts de estrategia de PineScript™. En la Sección B - Universalmente compatible de esta guía, proporcionamos un conjunto versátil de especificaciones que van más allá de los métodos de scripts. Estas especificaciones funcionan para todos los enfoques de generación de señales. Ya sea que utilices indicadores personalizados, diversas técnicas de gráficos o incluso prefieras alertas manuales, este marco de especificaciones tiene lo que necesitas.

Una breve descripción general de Pine Script™: "Estrategia" vs "Indicador"

Las estrategias de Pine Script™ sirven para realizar pruebas retrospectivas de datos históricos, así como pruebas futuras en mercados reales. Además de realizar cálculos de indicadores, las estrategias incluyen llamadas a funciones Strategy.*() que transmiten órdenes de trading al emulador de broker de Pine Script™. Luego, este emulador puede simular la ejecución de estas órdenes. Los resultados de las pruebas retrospectivas se visualizan en la pestaña "Prueba de Estrategia" ubicada en la parte inferior del gráfico, junto a la pestaña "Editor Pine Script™".

Sect A - express overview 1

Por otro lado, los indicadores de Pine Script™ también implican cálculos, pero no están pensados para su uso en escenarios de backtesting. Debido a su independencia del emulador de broker, los indicadores consumen menos recursos y se ejecutan más rápidamente.

Sect A - express overview 2

Es importante tener en cuenta que tienes la flexibilidad de utilizar el formato de la Sección A o el de la Sección B; ambos son totalmente compatibles. Según los mensajes que transmitas, el sistema discernirá inteligentemente el formato utilizado y analizará tus mensajes en consecuencia. Este procesamiento inteligente garantiza una experiencia perfecta independientemente del enfoque elegido.

Sección A (Usuarios de estrategia PineScript™)

Las siguientes especificaciones están diseñadas específicamente para usuarios que componen sus algoritmos utilizando estrategias de PineScript™ y principalmente con la función strategy.*. Este formato está dedicado a acomodar los valores de los marcadores de posición de la estrategia, asegurando una adaptabilidad perfecta. Para una comprensión más profunda de los scripts de estrategia y el proceso de envío de alertas utilizando variables de marcador de posición de estrategia, puedes encontrar información adicional en este enlace.

Si este concepto no te resulta familiar, la Sección B proporciona un enfoque alternativo para crear tus alertas, aplicable a una gama más amplia de escenarios.

Descripción general de las especificaciones de AlertMsg

Parámetro
Requerido
Valores
id
Requeridos
  • {{strategy.order.id}} de TradingView

acción
Requerida
  • {{strategy.order.action}} de TradingView

marketPosition
Requerida
  • {{strategy.market_position}} de TradingView

prevMarketPosition
Requerida
  • {{strategy.prev_market_position}} de TradingView

instrumento
Requerido
  • {{ticker}} de TradingView

  • Formato de InstId de OKX

Token de señal
Requerida
Proporcionado por OKX al crear la señal
marcadetiempo
Requerida
{{timenow}} de TradingView
maxLag
Opcional
Valor entero no negativo entre [1. 3600]. Predeterminado a 60.
Tipodeinversión
Opcional*


  • base (PARA SEÑALES DE ENTRADA Y SALIDA) Importe en moneda base

  • margen (SÓLO PARA SEÑALES DE ENTRADA) Margen invertido en la moneda cotizada

  • contrato (SÓLO PARA SEÑALES DE ENTRADA) Número fijo de contratos

  • percentage_balance (SÓLO PARA SEÑALES DE ENTRADA) Basado en el % del saldo disponible (es decir, el margen disponible para abrir nuevas órdenes)

  • percentage_investment (SÓLO PARA SEÑALES DE ENTRADA) Con base en el % de inversión activa en tu bot. La inversión activa será típicamente tu margen invertido inicial en el momento de la creación del bot y permanecerá fija hasta que recargues más margen y elijas aumentar este valor.

  • percentage_position (SOLO PARA SEÑALES DE SALIDA) Basado en el % de posición abierta

monto
Requerido
  • base (número flotante positivo)

  • margen (número flotante positivo)

  • contrato (entero positivo)

  • percentage_balance (valor flotante entre [0,01, 100] en %)

  • percentage_investment (valor flotante entre [0,01, 100] en %)

  • percentage_position (valor flotante entre [0,01, 100] en %)

* El valor predeterminado del tipo de inversión será "percentaje_inversión" si la señal se considera una señal de entrada y "posición_porcentaje" si la señal se considera una señal de salida. Sin embargo, se recomienda encarecidamente que este valor se establezca en "base" y la cantidad que se fijará en "{{strategy.order.contracts}}" para una máxima compatibilidad con su estrategia TradingView.

1. Especificación de AlertMsg: id

Sect A - id

id - El identificador de la orden

{{strategy.order.id}} - devuelve el ID de la orden ejecutada (la cadena utilizada como primer parámetro en una de las llamadas a funciones que generan órdenes: strategy.entry, strategy.exit o strategy.order).

2. Especificación de AlertMsg: acción

Sect A - action

acción: ¿Comprar o vender?

{{strategy.order.action}} - devuelve la cadena "comprar" o "vender" para la orden ejecutada.

3. Especificación de AlertMsg: marketPosition

Sect A - MarketPosition

marketPosition - Estado de la posición prevista (tras la ejecución de la orden)

{{strategy.market_position}} - devuelve la posición actual de la estrategia en forma de cadena: "long", "flat", o "short".

4. Especificación de AlertMsg: prevMarketPosition

Sect A - prevMarketPosition

prevMarketPosition - Estado de la posición anterior (antes de la ejecución de la orden)

{{strategy.prev_market_position}} - devuelve la posición anterior de la estrategia en forma de cadena: "long", "flat", o "short".

5. Especificación de AlertMsg: instrumento

Sect A - instrument

Formato 1: ticker - Valores de marcador de posición de TradingView

Un 'marcador de posición estándar'* es un fragmento de texto literal rodeado por llaves dobles e incluido dentro de un mensaje de alerta.

"{{ticker}}" devolverá el Ticker del instrumento en el que se generó la alerta.

Por ejemplo: "BTCUSDT.P", "ETHUSDT.P".

* Marcador de posición estándar para acceder a las variables en PineScript™. Más información aquí.

Formato 2: Formato de instrumento OKX

ID del instrument, o "instId" en la API de OKX. Más detalles se pueden encontrar en este enlace

Por ejemplo: "BTC-USDT-SWAP", "ETH-USDT-SWAP"

6. Especificación AlertMsg - signalToken

Sect A - signalToken

signalToken -- Autenticación de Señal

El token es una medida de seguridad para garantizar que las solicitudes entrantes sean legítimas y autorizadas. Este signalToken se generará automáticamente cuando el usuario cree con éxito una nueva señal en nuestra plataforma y deberá copiarse en el mensaje de alerta de TradingView.

¿Cómo localizar tu signalToken para una señal ya activa?

  1. Consulta la sección Detalles de tu señal

Sect A - locate signalToken 1

  1. Ubica tu signalToken en la sección de mensajes de alerta recomendados

Sect A - locate signalToken 2

7. Especificación AlertMsg: marca de tiempo

Sect A - timestamp

hora actual: valores de marcador de posición de TradingView

Un 'marcador de posición estándar'* es un fragmento de texto literal rodeado por llaves dobles e incluido dentro de un mensaje de alerta.

"{{timenow}}" devolverá la hora actual y exacta de cuando se generó la alerta, en UTC y en formato aaaa-MM-ddTHH: mm: ssZ.

Por ejemplo: "2023-06-01T17:38:10Z"

* Marcador de posición estándar para acceder a las variables en PineScript. Más información aquí.

8. Especificación de AlertMsg: maxLag

Sect A - maxLag

maxLag - Retraso máximo aceptable

El término "maxLag" se refiere al retraso o latencia máximo permitido, medido en segundos, antes de que una señal de trading se considere nula. Este cálculo de maxLag implica determinar la diferencia de tiempo entre el momento en que se envió la señal desde TradingView (usando el campo "marca de tiempo" dentro del mensaje de alerta) y el instante en que se recibió en OKX con el fin de ejecutar una orden.

De forma predeterminada, se establece en 60 segundos. Establecer un valor maxLag ayuda a garantizar que el bot de señales funcione de manera oportuna, evitando actuar sobre señales desactualizadas o potencialmente inexactas que pueden no reflejar las condiciones actuales del mercado.

9. Especificación AlertMsg: investmentType & monto

Sect A - investmenttype and amount

Nota importante: Para garantizar una compatibilidad óptima con tu estrategia de TradingView, recomendamos configurar el tipo de inversión como "base" y establecer el monto en "{{strategy.order.contracts}}". Si sigues este enfoque, las cantidades de las órdenes en OKX se alinearán con las cantidades de las órdenes especificadas en tu estrategia TradingView.

investmentType y monto

(SÓLO PARA SEÑALES DE ENTRADA)
  • base: Importe en moneda base (opción recomendada)

  • margen: Margen invertido en moneda cotizada

  • contrato: Un número fijo de contratos

  • percentage_balance: Basado en el % de Saldo Disponible (es decir, el margen disponible para abrir nuevas órdenes)

  • percentage_investment: Con base en el % de inversión activa en tu bot. La inversión activa será típicamente tu margen invertido inicial en el momento de la creación del bot y permanecerá fija hasta que recargues más margen y elijas aumentar este valor. Por ejemplo, si creas un bot con un margen invertido inicial de 1000 USDT, tu inversión activa se establecerá en 1000 USDT. Para cualquier señal entrante, este es el valor que se utilizará para los cálculos del tamaño de tu orden. Supongamos que después de unos días de ejecutar tu bot, decides que está funcionando bien y reinviertes otro margen de 1000 USDT y lo agregas a tu inversión activa. A partir de ese momento, tu inversión activa aumentará a 2000 USDT y este es el nuevo valor que se utilizará para los cálculos del tamaño de tu orden. Si no estás seguro cuál es el valor actual de inversión activa de tu bot, siempre puedes verificarlo en la sección Detalles del Bot.

(SOLO PARA SEÑALES DE SALIDA)
  • base: Importe en moneda base (opción recomendada)
  • percentage_position: Basado en el % de posiciones abiertas

Sección B (Universalmente compatible)

Las especificaciones que se proporcionan a continuación son versátiles y pueden adaptarse a cualquier escenario. Ya sea que estés utilizando PineScript™ para elaborar scripts de estrategias o indicadores (estudios), o ingresando alertas manualmente en la interfaz de usuario Alerta de TradingView, estas especificaciones siguen siendo adaptables y personalizables.

Descripción de las especificaciones de AlertMsg

Parámetro Requerido Valores
acción Requerido
  • ENTER_LONG

  • ENTER_SHORT

  • EXIT_LONG

  • EXIT_SHORT

instrumento Requerido
  • {{ticker}} de TradingView

  • Formato de InstId de OKX

Token de señal Requerido Proporcionado por OKX al crear la señal
marcadetiempo Requerido {{timenow}} de TradingView
maxLag Opcional Valor entero no negativo entre [1. 3600]. Predeterminado a 60.
orderType Opcional. El parámetro es obligatorio si el tipo de orden = límite
  • mercado

  • límite

orderPriceOffset Opcional. El parámetro es obligatorio si no se configura ninguna configuración al crear un bot se señales de OKX Valor flotante entre [0, 100] en %
Tipodeinversión Opcional. El parámetro es obligatorio si el tipo de orden = límite
  • margen (SÓLO PARA SEÑALES DE ENTRADA) Margen invertido en la moneda cotizada

  • contrato (SÓLO PARA SEÑALES DE ENTRADA) Número fijo de contratos

  • percentage_balance (SÓLO PARA SEÑALES DE ENTRADA) Basado en el % del saldo disponible (es decir, el margen disponible para abrir nuevas órdenes)

  • percentage_investment (SÓLO PARA SEÑALES DE ENTRADA) Basado en el % del margen invertido inicial al momento de la creación del bot

  • percentage_position (SOLO PARA SEÑALES DE SALIDA) Basado en el % de posición abierta

monto Opcional. El parámetro es obligatorio si el tipo de orden = límite
  • margen (número flotante positivo)

  • contrato (entero positivo)

  • percentage_balance (valor flotante entre [0,01, 100] en %)

  • percentage_investment (valor flotante entre [0,01, 100] en %)

  • percentage_position (valor flotante entre [0,01, 100] en %)

1. Especificación de AlertMsg: acción

Modo de posición:

El Bot de Señales opera en modo unidireccional (es decir, compra/venta), lo que significa que el bot solo mantendrá posiciones en una dirección para un instrumento determinado.

Abrir órdenes

  • ENTER_LONG: Abrir una posición larga con la expectativa de que su precio suba.
  • ENTER_SHORT: Abrir una posición corta con la expectativa de que su precio baje.

Cerrar órdenes

  • EXIT_LONG: Cerrar una posición larga parcial o totalmente mediante la venta de posiciones de holding.
  • EXIT_SHORT: Cerrar una posición corta de forma parcial o total mediante la recompra de los contratos.

2. Especificación de AlertMsg: instrumento

Formato 1: ticker - Valores de marcador de posición de TradingView

Un 'marcador de posición estándar'* es un fragmento de texto literal rodeado por llaves dobles e incluido dentro de un mensaje de alerta.

"{{ticker}}" devolverá el Ticker del instrumento en el que se generó la alerta.

Por ejemplo: "BTCUSDT.P", "ETHUSDT.P".

* Marcador de posición estándar para acceder a las variables en PineScript. Más información aquí.

Formato 2: Formato de instrumento OKX

ID del instrument, o "instId" en la API de OKX. Más detalles se pueden encontrar en este enlace

Por ejemplo: "BTC-USDT-SWAP", "ETH-USDT-SWAP"

3. Especificación AlertMsg - signalToken

signalToken- Autenticación de Señal

El token es una medida de seguridad para garantizar que las solicitudes entrantes sean legítimas y autorizadas. Este signalToken se generará automáticamente cuando el usuario cree con éxito una nueva señal en nuestra plataforma y deberá copiarse en el mensaje de alerta de TradingView.

4. Especificación AlertMsg: marca de tiempo

hora actual: valores de marcador de posición de TradingView

Un 'marcador de posición estándar'* es un fragmento de texto literal rodeado por llaves dobles e incluido dentro de un mensaje de alerta.

"{{timenow}}" devolverá la hora actual y exacta de cuando se generó la alerta, en UTC y en formato aaaa-MM-ddTHH: mm: ssZ.

Formato posible (hora UTC, formato ISO 8061)

  • yyyy-MM-ddTHH:mm:ssZ por ejemplo: "2023-06-01T17:38:10Z"
  • yyyy-MM-ddTHH:mm:ss.SSSZ por ejemplo: "2023-06-01T17:38:10.836Z"
  • yyyy-MM-ddTHH:mm:ss+0000 por ejemplo: "2023-06-01T17:38:10+0000"

Por ejemplo: "2023-06-01T17:38:10Z"

* Marcador de posición estándar para acceder a las variables en PineScript. Más información aquí.

5. Especificación de AlertMsg: maxLag

maxLag - Retraso máximo aceptable

El término "maxLag" se refiere al retraso o latencia máximo permitido, medido en segundos, antes de que una señal de trading se considere nula. Este cálculo de maxLag implica determinar la diferencia de tiempo entre el momento en que se envió la señal desde TradingView (usando el campo "marca de tiempo" dentro del mensaje de alerta) y el instante en que se recibió en OKX con el fin de ejecutar una orden.

De forma predeterminada, se establece en 60 segundos. Establecer un valor maxLag ayuda a garantizar que el Bot de Señales funcione de manera oportuna, evitando actuar sobre señales desactualizadas o potencialmente inexactas que pueden no reflejar las condiciones actuales del mercado.

6. Especificación del mensaje de alerta: orden

orderType

  • Mercado: Coloca una orden de mercado para abrir (si acción =ENTER_XX) o cerrar (si acción = EXIT_XX) una posición. No es necesario proporcionar orderPriceOffset
  • Límite: Coloca una orden límite para abrir (si la acción =ENTER_XX) o cerrar (si la acción = EXIT_XX) una posición.

orderPriceOffset (SOLO aplicable con orden LÍMITE)

  • ENTER_LONG: [1-(orderPriceOffset/100)] * Bid-1
  • ENTER_SHORT: [1+(orderPriceOffset/100)] * Ask-1
  • EXIT_LONG: [1+(orderPriceOffset/100)] * Ask-1
  • EXIT_SHORT: [1-(orderPriceOffset/100)] * Bid-1

7. Especificación AlertMsg: investmentType & monto

###investmentType y monto

(SÓLO PARA SEÑALES DE ENTRADA)

  • Margen: Margen invertido en moneda cotizada
  • Contrato: Un número fijo de contratos
  • Percentage_balance: Basado en el % de Saldo Disponible (es decir, el margen disponible para abrir nuevas órdenes)
  • Percentage_investment: Basado en el % del Margen Invertido inicial tras la creación del bot. El margen adicional agregado después no se contará

(SOLO PARA SEÑALES DE SALIDA)

  • Percentage_position: Basado en el % de posiciones abiertas

Sección B Ejemplos de trabajo

Ejemplo 1: Entrada larga -> Salida larga (cierre completo) sin entrada múltiple

Ejemplo 2: Entrada larga -> Entrada corta (reversión de un paso) sin entrada múltiple

Ejemplo 3: Entrada larga -> Salida larga (parcialmente) -> Salida larga (cierre total)

Ejemplo 4: Usando entrada múltiple

Ingreso Múltiple es una característica del bot de señales que permite la ejecución de puntos de ingreso múltiple para un instrumento determinado. Los Traders pueden optimizar su enfoque de trading diversificando los puntos de ingreso (es decir, costo promedio en dólares), aumentando potencialmente las posibilidades de capturar operaciones de trading rentables en un entorno de mercado dinámico.

Ejemplo 5: Usar solo señal de activación (sin campos relacionados con la orden)

Para los proveedores de señales, pueden excluir ciertos parámetros opcionales dado que el usuario ya los configuró en el bot. Esto es particularmente útil para los proveedores que se enfocan en ofrecer señales de activación de compra/venta SOLAMENTE, y cada suscriptor debe decidir cuánto invertir.

Ejemplo 6: Usar solo señal de activación (sin campos relacionados con la orden)

Si tanto la configuración de la señal como la del bot no especifican los detalles de la orden, se utilizarán los valores predeterminados.

  • Para las señales de INGRESO, por defecto abrirá una inversión X %* usando una orden de mercado.
  • Para las señales de SALIDA, por defecto cerrará el 100 % de las posiciones abiertas al recibir la señal.

*** X = 100 para un solo par. X = 50 para pares múltiples

Ejemplo 7: Precedencia de orden de campo

Los parámetros del bot tienen prioridad sobre los parámetros de la señal. Hay dos reglas a tener en cuenta:

  1. Regla 1: Tanto el bot como la señal definen el campo
Para tipo de orden
Orden de mercado (Bot) ✅
Orden límite (señal) ❌
  1. Regla 2: Uno de los bots/ señales define el campo
Por Tipo de inversión y monto
No disponible (Bot) ❌
100 % saldo disponible (Señal) ✅

Preguntas frecuentes

Si tienes alguna pregunta relacionada con el bot de señales, puedes revisar algunas de las preguntas más frecuentes de nuestros usuarios en este artículo.