# Webhooks

goodcryptoX te permite automatizar acciones de trading mediante webhooks de TradingView: un potente mecanismo para activar órdenes y acciones de bots directamente desde tus señales.

A diferencia de algunas implementaciones que tratan los webhooks como una API programable (donde envías comandos parametrizados como "comprar 3 BTC"), goodcryptoX actualmente admite un modelo basado en disparadores. Cada webhook simplemente activa una acción predefinida en una orden o bot específico: no se interpretan parámetros ni comandos.

En un futuro cercano, lanzaremos un nuevo [bot de estrategia de TradingView](https://docs.goodcrypto.app/goodcryptox-es/perp-dexs/funcionalidad-proxima/bot-de-estrategia-tradingview) que admitirá instrucciones completas de estrategia vía webhooks, incluyendo selección dinámica de símbolo, cantidades, tipos de orden y lógica multi-símbolo — actuando efectivamente como una capa API. Mantente atento

> Por ahora, los webhooks solo se aceptan desde los servidores de TradingView — no se permiten IPs personalizadas ni fuentes externas.\
> Si necesitas usar una fuente de webhook personalizada, contáctanos en <support@goodcrypto.app> para solicitar acceso.

### Cómo funcionan los webhooks en goodcryptoX

* Cada orden o bot **acción** tiene su propia URL de webhook dedicada
* Debes crear primero la orden o el bot para obtener la URL (aparecerán en la **Webhooks** sección de los **Detalles**)
* Enviar **cualquier** payload de webhook a esa URL activará la acción

> Las URL de webhook son específicas por acción, no por usuario. Debes crear un webhook por acción, p. ej. uno para entrada, uno para take profit, uno para stop loss, etc. para cada bot u orden

### Acciones de órdenes y bots soportadas

Si quieres que tu orden o bot sea **activado por un webhook**, debes seleccionar webhook como la **condición de activación durante la configuración**. Esto aplica a:

* Las órdenes stop-market / stop-limit se activan
* Activación de órdenes trailing (inicio del trailing)
* Activaciones de take-profit y stop-loss&#x20;
* Condición de entrada de bots DCA

<figure><img src="https://485515438-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrFKhEXxJL95YqC19XHlF%2Fuploads%2FOtmSJHlKDJLkbCquvUfC%2Fimage.png?alt=media&#x26;token=c152200c-d5ad-4d69-861d-7c66700cd569" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="https://485515438-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrFKhEXxJL95YqC19XHlF%2Fuploads%2F278uiG55cCWY8A3XpJxm%2Fimage.png?alt=media&#x26;token=7d852fc3-0ef4-45ab-921d-eab0d2287e97" alt="" width="563"><figcaption></figcaption></figure>

Después de la creación, encontrarás todas las URL de webhook disponibles en los **Detalles** de tu orden o bot:

<figure><img src="https://485515438-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrFKhEXxJL95YqC19XHlF%2Fuploads%2FKTTUr7eaKAlb7x0U818J%2Fimage.png?alt=media&#x26;token=6b2a978f-fd3c-48b0-b01a-40da32d44696" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="https://485515438-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrFKhEXxJL95YqC19XHlF%2Fuploads%2FNoneMggO61H3EFmkwTrP%2Fimage.png?alt=media&#x26;token=f6f48a58-1585-41e3-8778-b69fe9564902" alt="" width="563"><figcaption></figcaption></figure>

> **Cancelar** webhook — siempre disponible en todas las órdenes y bots
>
> **Cerrar posición** webhook — siempre disponible en los detalles del bot DCA

Para resumir:

| Acción                          | ¿Soportada? | Notas                                                                    |
| ------------------------------- | ----------- | ------------------------------------------------------------------------ |
| Cancelar orden                  | ✅           | Siempre mostrado en detalles                                             |
| Activar orden Stop              | ✅           | Debe seleccionarse webhook en la configuración                           |
| Activar orden Trailing          | ✅           | Inicio de trailing = webhook                                             |
| Activar take profit / stop loss | ✅           | Opcionalmente activado por webhook                                       |
| Bot DCA - entrada               | ✅           | Entrada compra/venta vía webhook (debe establecerse en la configuración) |
| Bot DCA - salida                | ✅           | Cerrar posición vía webhook (siempre disponible)                         |
| Bot Grid - entrada              | 🚫          | Aún no soportado                                                         |

{% hint style="info" %}
**Múltiples objetivos de take-profit con webhooks**

Si configuras un grupo de take-profit usando webhook como método de activación, todos compartirán la misma URL de webhook. Cada vez que se dispare el webhook, se ejecutará la siguiente orden TP en la secuencia, una por una.
{% endhint %}

### Cómo configurar alertas en TradingView

Una vez que hayas creado tu orden o bot en goodcryptoX y copiado la URL de webhook para una acción específica, así es como la vinculas a tus alertas de TradingView:

1. Ve a tu gráfico en TradingView
2. Crea una nueva alerta basada en tu estrategia, indicador o condición
3. En la **configuración de la alerta**, activa la casilla **“Webhook URL”**
4. Pega la URL de webhook específica desde la sección Webhooks de goodcryptoX
5. Deja el **campo de mensaje** tal cual (cualquier contenido está bien — goodcryptoX ignora el payload por ahora)
6. Guarda la alerta

### Estrategias repetitivas (vía bot DCA)

Una orden activada por webhook (p. ej. stop-market con TP y SL) es una **configuración de una sola vez**. Una vez que la orden se ejecuta y el TP o SL vinculado se activa, la operación completa. Si quieres que esta estructura **se repita automáticamente**, eso no es posible con órdenes — pero sí es posible ahora usando el bot DCA.

Pronto introduciremos un [bot de estrategia de TradingView](https://docs.goodcrypto.app/goodcryptox-es/perp-dexs/funcionalidad-proxima/bot-de-estrategia-tradingview) dedicado para soportar operaciones repetitivas con múltiples acciones, pero mientras tanto, el bot DCA ofrece una forma flexible de repetir tu estrategia impulsada por webhooks.

#### Bucle puro de webhooks

Para configurar un bot que entre en una posición con un webhook, salga con un webhook y luego se repita:

1. Configura **condición de entrada** = webhook
2. Configura **órdenes de promediación** = 0 (desactivar promediación)
3. Desactiva tanto **take**-**profit** y **stop-loss**
4. Activa **“Repetir al cerrar posición”**&#x20;

<figure><img src="https://485515438-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrFKhEXxJL95YqC19XHlF%2Fuploads%2FCquwy7JurEJkuO9rQeWn%2Fimage.png?alt=media&#x26;token=542f9526-7ecb-4033-8b1c-740aef270b51" alt="" width="375"><figcaption></figcaption></figure>

Una vez lanzado el bot, verás las siguientes URL de webhook en los **Detalles → Webhooks** del bot:

* **Entrar Compra** — abre una posición Long
* **Entrar Venta** — abre una posición Short
* **Cerrar posición** — cierra la posición activa (long o short)
* **Cancelar** — detiene el bot

**Lógica de ejecución**

* Cuando el bot recibe **Entrar Compra**, abre una posición long.
* Cuando recibe **Entrar Venta**, abre una posición short.
* El bot **solo responderá al primer webhook de entrada** que reciba mientras está inactivo.
* Mientras una posición esté abierta:
  * Cualquier señal de entrada adicional es **ignorada**
  * El bot no aumentará ni invertirá la posición actual con señales de Entrada
  * Las únicas señales aceptadas son **cerrar posición** o un TP/SL activado (si está configurado)
* Una vez que la posición se cierra (manualmente, por webhook o por SL/TP), el bot se reinicia y espera el siguiente webhook de Entrada.

Este bucle continúa mientras el bot permanezca activo, permitiéndote repetir indefinidamente un ciclo completo de entrada → salida → reinicio.

#### Modo puro de webhook vs configuraciones híbridas

El bot DCA soporta múltiples capas de control que pueden combinarse para construir estrategias flexibles:

* **Entrada**: vía webhook, señal o asap
* **Salida**: vía webhook o TP/SL incorporados basados en precio
* **Promeado**: opcional; se puede desactivar

Puedes:

* Ejecutar un bot completamente mediante señales webhook (entrada y salida)
* Agregar TP/SL basados en precio como respaldos, incluso si usas salidas por webhook
* Agregar órdenes de promediación para mayor protección

Esto hace posible diseñar:

* Estrategias de bucle totalmente automatizadas (webhook puro)
* Bots impulsados por señales con conmutadores manuales
* Configuraciones híbridas con salidas en múltiples capas

### Ejemplos prácticos de estrategias con webhooks

#### Ejemplo 1: Orden única + múltiples take profits (rebote en Bandas de Bollinger)

**Objetivo:** Comprar cuando el precio rompa la banda inferior de Bollinger, vender progresivamente a medida que sube.

**Configuración en goodcryptoX**

* Crea una orden stop-market con condición de activación = webhook
* Agrega tres objetivos de take-profit. Activador TP = webhook

<figure><img src="https://485515438-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrFKhEXxJL95YqC19XHlF%2Fuploads%2FU5f3sdUx8rAIkSpfuLd0%2Fimage.png?alt=media&#x26;token=2772d1dd-038b-435b-bcd6-1aad6f95575d" alt="" width="563"><figcaption></figcaption></figure>

**Configuración en TradingView**

Crea cuatro alertas:

1. El precio rompe la banda inferior → enviar al **Trigger** URL de webhook
2. El precio vuelve dentro de la banda → enviar a **Disparador de Take Profit** URL de webhook
3. El precio cruza la banda media → enviar a **Disparador de Take Profit** URL de webhook
4. El precio rompe la banda superior → enviar a **Disparador de Take Profit** URL de webhook

<figure><img src="https://485515438-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrFKhEXxJL95YqC19XHlF%2Fuploads%2FW35WIYkwAwONvOjjPukZ%2Fimage.png?alt=media&#x26;token=8562ad00-e7fe-4d26-8a34-38eff5c05207" alt="" width="563"><figcaption></figcaption></figure>

En la **configuración de la alerta**, activa la casilla **“Webhook URL”**

Pega la URL de webhook específica desde la sección Webhooks de goodcryptoX. Deja el campo Mensaje tal cual — no se usa.

#### Ejemplo 2: Estrategia repetitiva con bot DCA (Golden/Death Cross)

**Objetivo:** Entrar long en Golden Cross, entrar short en Death Cross. Salir con un 10% de beneficio o cuando el RSI > 70 y repetir indefinidamente.

**Configuración en goodcryptoX**

Crear bot DCA

* Condición de entrada = webhook
* Promeado = desactivado (ajustar a 0)
* Take Profit = 10%
* Stop loss = desactivado
* Activar: "Repetir en TP"

**Configuración en TradingView**

* Crea tres alertas en el mismo gráfico:
  1. SMA50 cruza por encima de SMA200 → enviar a **Entrar Compra** webhook
  2. SMA50 cruza por debajo de SMA200 → enviar a **Entrar Venta** webhook
  3. RSI > 70 → enviar a **Cerrar posición** webhook

{% hint style="info" %}
El bot DCA mantiene solo una posición a la vez. Mientras está en posición, ignora nuevos webhooks de entrada hasta que la posición se cierre.

Si quieres poder entrar en posiciones Long y Short en el mismo instrumento en paralelo, crea dos bots separados y envía Entrar Compra a uno y Entrar Venta al otro
{% endhint %}

### Resumen

| Concepto               | Descripción                                                             |
| ---------------------- | ----------------------------------------------------------------------- |
| Modelo de activación   | Cada acción tiene su propia URL de webhook                              |
| Flujo de configuración | Crear orden → copiar URL de webhook → pegar en la alerta de TradingView |
| Estrategia repetitiva  | Usar bot DCA con repetición activada                                    |

### Tutoriales en video

#### **Introducción al trading con webhooks**

{% embed url="<https://youtu.be/JDkJFOwjjzk?si=m0GBGwTt6GTau-9X>" %}

#### **Usar bot DCA con webhooks**

{% embed url="<https://youtu.be/gHXB2S6qdXU?si=i9ZobjRsxFAe7zcJ>" %}

#### **Múltiples take-profits con webhooks**

{% embed url="<https://youtu.be/xF-O7ZDoDtU?si=apfiF8uyTn-p4Vh4>" %}
