Ir al contenido principal

Signal Bot: archivo JSON para el tipo de estrategia

Actualizado hace más de una semana

¡NOTAS MUY IMPORTANTES!

  • NO compartas públicamente el mensaje JSON de tu signal bot. Si lo compartiste por accidente, elimina ese bot y crea uno nuevo; de esta manera estarás seguro.

  • NO agregue parámetros ni código adicionales al archivo JSON a menos que se describa en este artículo. De lo contrario, es posible que se produzcan errores al procesar las señales de su estrategia.

  • Los valores entre llaves dobles son valores de marcador de posición de TradingView. Para la estrategia Signal Bot TradingView, solo se utilizan marcadores de posición con el prefijo “strategy” en las alertas de estrategia.

{
"secret": "token",
"max_lag": "300",
"timestamp": "{{timenow}}",
"trigger_price": "{{close}}",
"tv_exchange": "{{exchange}}",
"tv_instrument": "{{ticker}}",
"action": "{{strategy.order.action}}",
"bot_uuid": "signal-bot-uuid",
"strategy_info": {
"market_position": "{{strategy.market_position}}",
"market_position_size": "{{strategy.market_position_size}}",
"prev_market_position": "{{strategy.prev_market_position}}",
"prev_market_position_size": "{{strategy.prev_market_position_size}}"
},
"order": {
"amount": "{{strategy.order.contracts}}",
"currency_type": "base"
}
}

Descripción de los campos.

Es importante tener en cuenta que si se recibe una señal que incluye parámetros no descritos en esta especificación, dichos parámetros no se leerán durante el procesamiento de la señal.

“secret”: de uso obligatorio. Un token único de 3Commas para autenticar las solicitudes entrantes dentro del marco de un bot específico y un usuario. El token se genera automáticamente al crear un Signal Bot.

Nota de seguridad importante: al configurar y enviar webhooks, asegúrese de no revelar al público estos campos transmitidos.


“timestamp”: se utiliza de forma opcional y representa una marca de tiempo que indica la hora en la que se generó esta señal.

La marca de tiempo se puede utilizar para sincronizar datos, analizar tendencias temporales y comprender la secuencia de eventos en el mercado.

La hora de activación de la alerta se acepta en formato ISO8601.

Los datos {{timenow}} provienen de TradingView.


“max_lag”: se utiliza de forma opcional y representa el retraso máximo que puede producirse durante la ejecución de su estrategia de trading. El retraso puede producirse por diversas razones, como retrasos en la red o el tiempo de procesamiento de los datos. El sistema realiza esta verificación ANTES de que el bot intente colocar una orden.

Especificar el retraso máximo puede ser útil para evaluar el rendimiento de su estrategia y para gestionar el momento del trading. Si el retraso supera este umbral, puede indicar problemas en la estrategia de trading o en su ejecución que deben tenerse en cuenta y, posiblemente, resolverse.

El retraso máximo permitido en el procesamiento de la señal: un valor entero entre 10 y 86400.

Valor predeterminado: 300. Medido en segundos.

El valor de “max_lag” se calcula comparando el tiempo entre el envío de la señal (“timestamp”) y el momento en que el bot procesó esa señal por primera vez. Si en el código JSON aparece "max_lag": "300", significa que el retraso permitido es de 300 segundos o 5 minutos. Si el retraso supera el límite especificado, la señal podría considerarse inválida o procesarse con un error.


“trigger_price”: de uso obligatorio. Representa el precio al que se generó el evento o la condición que activó la señal de trading.

Puede ser el precio de un activo al alcanzar un determinado nivel, como el precio al cruzar una media móvil, un nivel de soporte o resistencia, o el precio al alcanzar un nivel para ejecutar una estrategia específica en su sistema de trading.

La información sobre el precio de activación es importante para entender qué eventos o condiciones activan las señales de trading y qué acciones se pueden tomar en respuesta a estas señales.

Los datos de {{close}} provienen de TradingView.


“tv_exchange”: de uso obligatorio. Representa la información sobre el exchange asociado a esta señal o datos de trading. Este campo indica el servicio de trading o exchange desde el que se reciben los datos de trading.

Por ejemplo, el valor “tv_exchange” puede ser BINANCE, OKX, BYBIT, etc., dependiendo de dónde provengan los datos de trading.

Esta información es importante para identificar y rastrear la fuente de los datos de trading y también sirve para analizar datos de exchanges o servicios específicos.

Los datos de {{exchange}} provienen de TradingView.


“tv_instrument”: de uso obligatorio. Representa la información sobre el activo al que se refiere esta señal o datos de trading. Este campo indica el instrumento financiero específico, como futuros o pares de divisas, para el que se recibieron los datos de trading.

Por ejemplo, para el par de divisas BTC/USDT en Binance Futures: “BTCUSDT.P”, etc.

Esta información es importante para identificar el activo negociado y analizar su actividad y características de trading.

Los datos de {{ticker}} provienen de TradingView.


“action”: de uso obligatorio. Representa la acción que se debe realizar en respuesta a la señal o condición de trading recibida.

Algunos ejemplos de valores de “action”incluyen:

  1. “buy”: comprar un activo o entrar en una posición larga.

  2. “sell”: vender un activo o salir de la posición actual.

Los datos {{strategy.order.action}} provienen de TradingView.

Tenga en cuenta lo siguiente:

Si la estrategia se lanzó antes que Signal Bot y ya se ha realizado una entrada o salida de una posición en el marco de esta estrategia, puede producirse una desincronización temporal de los datos con la estrategia. Por ejemplo, una orden que se ejecutó en el gráfico de TradingView no puede ser ejecutada por Signal Bot en el lado de 3Commas.

Tabla de comportamiento del bot al recibir datos de señales en diferentes etapas de la estrategia:

  • strategy.order.action (campo “action”): en la señal recibida del JSON de TradingView, representa la información sobre la acción tomada por su estrategia de trading. Puede ser una de las siguientes:

    • “buy”: indica que su estrategia decide comprar un activo.

    • “sell”: indica que su estrategia decide vender un activo.

    • “close”: indica que su estrategia decide cerrar la posición actual (ya sea comprada o vendida).

  • Estos valoresle permiten comprender qué acciones se están tomando en su estrategia de trading en función de los datos recibidos de TradingView JSON.

  • strategy.market_position (campo “market_position”): indica la posición actual en el mercado gestionada por su estrategia. Este valor puede adoptar diferentes formas en función de la posición abierta en el mercado:

    • “long”: significa que su estrategia está gestionando actualmente una posición larga en el mercado, es decir, que tiene posiciones abiertas para comprar un activo.

    • “short”: significa que su estrategia está gestionando actualmente una posición corta en el mercado, es decir, que tiene posiciones abiertas para vender un activo.

    • “flat”: significa que su estrategia no está gestionando ninguna posición abierta en el mercado en este momento, es decir, no tiene posiciones largas ni cortas.

  • Esta información es importante para supervisar el estado actual de su estrategia y tomar decisiones sobre acciones futuras basadas en la posición actual en el mercado.

  • strategy.prev_market_position (campo “prev_market_position”): indica la posición de mercado anterior que gestionaba su estrategia. Este valor representa el estado de la posición de mercado antes de que se realizara la última acción en su estrategia. Ejemplos de valores:

    • “long”: significa que su estrategia en el estado anterior gestionaba una posición larga en el mercado.

    • “short”: significa que su estrategia en el estado anterior gestionaba una posición corta en el mercado.

    • “flat”: significa que su estrategia en el estado anterior no gestionaba ninguna posición abierta en el mercado.

  • Esta información es útil para realizar un seguimiento de los cambios en las posiciones de mercado y analizar cómo su estrategia toma decisiones sobre la entrada y salida de posiciones en diferentes condiciones de mercado.

Ejemplo de una señal enviada:

Dependiendo de los comandos que contenga la señal, el bot realizará las siguientes acciones:

Las combinaciones de parámetros imposibles harán que Signal Bot muestre un error y transfiera la señal al estado “Fallido”.

Los usuarios pueden ver estas señales fallidas en la tabla de señales del bot.

A continuación se muestran algunos ejemplos de combinaciones de parámetros que darán lugar a que la señal se marque como “Fallida”:


“bot_uuid”: de uso obligatorio. El código de identificación del Signal Bot en el sistema 3Commas.

Nota de seguridad importante: al configurar y enviar webhooks, asegúrese de no revelar al público estos campos transmitidos.


“market_position”: de uso obligatorio. Indica la posición actual en el mercado. Puede ser uno de los siguientes valores:

  • “long” (posición larga): significa que tiene una posición larga abierta en el mercado, es decir, que mantiene el activo a la espera de que suba.

  • “short” (posición corta): significa que tiene una posición corta abierta en el mercado, es decir, que ha vendido el activo a la espera de que baje.

  • “flat” (posición plana): significa que no tiene posiciones abiertas en el mercado, es decir, no mantiene posiciones largas ni cortas.

Esta información es útil para que los traders e inversores comprendan la situación actual del mercado y tomen las decisiones de trading adecuadas, como abrir nuevas posiciones, cerrar las existentes o cambiar su estrategia en función de las condiciones del mercado.

Los datos de {{strategy.market_position}} provienen de TradingView.


“market_position_size”: de uso obligatorio. Representa el tamaño de la posición actual en el mercado. Este número indica el número de activos que tiene actualmente en una posición abierta en el mercado.

Por ejemplo, si “market_position_size” es igual a 100, significa que tiene 100 unidades del activo abiertas.

Esta información es importante para evaluar el tamaño de sus posiciones en el mercado y gestionar los riesgos, ya que el tamaño de la posición afecta directamente a las posibles pérdidas o ganancias del trading.

Los datos de {{strategy.market_position_size}} provienen de TradingView.


“prev_market_position”: de uso obligatorio. Representa información sobre la posición anterior en el mercado. Indica el estado de la posición en el mercado antes de que se realizara la última acción en su estrategia de trading.

El valor de “prev_market_position” puede ser uno de los siguientes:

  • “long” (posición larga): significa que su estrategia gestionaba una posición larga en el mercado antes de que se realizara la última acción.

  • “short” (posición corta): significa que su estrategia gestionaba una posición corta en el mercado antes de que se realizara la última acción.

  • “flat” (posición plana): significa que su estrategia no gestionaba ninguna posición abierta en el mercado antes de que se realizara la última acción. En este caso, usted no tenía posiciones largas ni cortas.

Esta información es útil para analizar los cambios en las posiciones del mercado y comprender cómo su estrategia toma decisiones sobre la entrada y salida de posiciones en diferentes condiciones del mercado.

Los datos de {{strategy.prev_market_position}} provienen de TradingView.


“prev_market_position_size”: de uso obligatorio. Representa el tamaño de la posición anterior en el mercado. Indica el número de activos que estaban en una posición abierta en el mercado antes de que se realizara la última acción en su estrategia de trading.

Por ejemplo, si “prev_market_position_size” es igual a 100, significa que tenía 100 unidades del activo abiertas en la posición anterior en el mercado.

Esta información es útil para analizar los cambios en el tamaño de las posiciones de mercado y comprender cómo su estrategia gestiona el volumen de trading en diferentes escenarios de mercado.

Los datos de {{strategy.prev_market_position_size}} provienen de TradingView.


“order.amount”: de uso obligatorio. Representa el número de activos que deben comprarse o venderse como resultado de una orden de trading.

Por ejemplo, si “order.amount” es igual a 100, significa que deben comprarse o venderse 100 unidades del activo.

Los datos “{{strategy.order.contracts}}” provienen de TradingView.


“order.currency_type”: de uso obligatorio. Representa el tipo de divisa asociado a la orden de trading. Indica el tipo de divisa utilizada para el trading o las liquidaciones en el contexto de esta orden.

Esta información es importante para determinar la divisa utilizada en el trading y garantizar la corrección de los cálculos y la ejecución de las operaciones de trading.

El valor de “order.currency_type” solo puede ser uno de los siguientes:

“base”: significa que el tamaño de la orden se envía en la divisa en la que el bot compra monedas, por ejemplo, XRP, DOGE, BTC, ETH.


Campos adicionales.

"enable"/"disable"

Esta acción activará los Signal bots:

{
...
"action": "enable",
...
}

Esta acción detendrá los Signal bots:

{
...
"action": "disable",
...
}

Ejemplos de uso.

Detener todos los Signal bots activos en tu cuenta de 3Commas

{
"secret": "xxxxxxxxx.xxxxxxxxxxx.xxxxxxxxxxx",
"max_lag": "300",
"timestamp": "{{timenow}}",
"action": "disable"
}

Detener todos los Signal bots activos en cuentas específicas de exchange

Necesitará conocer el ID de su cuenta de exchange conectada: en la página Mi portafolio, busque el exchange necesario, haga clic en el menú de tres puntos, haga clic en Ver y verá el ID en la barra de direcciones URL:

Para agregar más de una cuenta de exchange, colóquelas entre corchetes y sepáralas con comas:

{
"secret": "xxxxxxxxx.xxxxxxxxxxx.xxxxxxxxxxx",
"max_lag": "300",
"timestamp": "{{timenow}}",
"action": "disable",
"account_ids": [3345345, 3345347]
}

Detener uno o varios Signal bots específicos

Necesitará saber el UUID de los bots de Signal. Pase el cursor sobre el botón de información (i) junto al bot y verá su UUID. Si quiere agregar varios bots, escriba los UUID entre comillas dentro de los corchetes y sepárelos con comas:

{
"secret": "xxxxxxxxx.xxxxxxxxxxx.xxxxxxxxxxx",
"max_lag": "300",
"timestamp": "{{timenow}}",
"action": "disable",
"bot_uuid": ["xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx", "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx"]
}

Detener todos los Signal bots Long activos en sus cuentas de exchange

{
"secret": "xxxxxxxxx.xxxxxxxxxxx.xxxxxxxxxxx",
"max_lag": "300",
"timestamp": "{{timenow}}",
"action": "disable",
"scopes": ["long", "real"]
}

Detener los Signal bots activos y cierra las posiciones

{
...
"action": "disable",
"positions_sub_action": "market_close"
...
}

Si quiere cerrar la posición a precio de mercado, necesita agregar la línea:

"positions_sub_action": "market_close"

Aquí tiene un ejemplo:

{
"secret": "xxxxxxxxx.xxxxxxxxxxx.xxxxxxxxxxx",
"max_lag": "300",
"timestamp": "{{timenow}}",
"action": "disable",
"positions_sub_action": "market_close"
}

Si quiere cancelar la posición y manejarla manualmente más tarde, necesita agregar la línea:

"positions_sub_action": "cancel"

Aquí tiene un ejemplo:

{
"secret": "xxxxxxxxx.xxxxxxxxxxx.xxxxxxxxxxx",
"max_lag": "300",
"timestamp": "{{timenow}}",
"action": "disable",
"positions_sub_action": "cancel"
}

Notas importantes.

  • En los bots de tipo señal personalizada, la señal para deshabilitar una posición Long o Short también cancelará el bot completo, no solo un lado.

  • Si quiere deshabilitar por separado los bots Long o Short, necesita crear dos bots separados: uno con estrategia Long y otro con estrategia Short.

  • Puede combinar diferentes parámetros y funcionarán con una lógica de “Y”. Si todos los parámetros cumplen las condiciones, la señal se enviará y se procesará. Si al menos un parámetro no se cumple, la señal se rechazará.
    Ejemplo:

{
"secret": "xxxxxxxxx.xxxxxxxxxxx.xxxxxxxxxxx",
"max_lag": "300",
"timestamp": "{{timenow}}",
"action": "disable",
"scopes": ["long", "real"],
"account_ids": [1, 2, 3]
}
¿Ha quedado contestada tu pregunta?