# Webhook

goodcryptoX cho phép bạn tự động hóa các hành động giao dịch thông qua webhook của TradingView — một cơ chế mạnh mẽ để kích hoạt lệnh và hành động bot trực tiếp từ các tín hiệu của bạn.

Không giống một số triển khai coi webhook như một API có thể lập trình (nơi bạn gửi các lệnh tham số như "mua 3 BTC"), hiện tại goodcryptoX hỗ trợ mô hình dựa trên kích hoạt. Mỗi webhook đơn giản chỉ kích hoạt một hành động được định sẵn trên một lệnh hoặc bot cụ thể — không có tham số hay lệnh nào được diễn giải.

> Trong tương lai gần, chúng tôi sẽ ra mắt một [bot Chiến lược TradingView](/goodcryptox-vi/perp-dex/tinh-nang-sap-ra-mat/bot-chien-luoc-tradingview.md) hỗ trợ đầy đủ hướng dẫn chiến lược qua webhook, bao gồm lựa chọn mã giao dịch động, khối lượng, loại lệnh và logic đa mã — hoạt động hiệu quả như một lớp API. Hãy theo dõi

### Bảo mật và quyền truy cập

* Hiện tại webhook chỉ được chấp nhận từ các máy chủ TradingView — không chấp nhận IP tùy chỉnh hay nguồn ngoài.
* Nếu bạn cần sử dụng nguồn webhook tùy chỉnh, hãy liên hệ với chúng tôi tại <support@goodcrypto.app> để yêu cầu quyền truy cập.
* Webhook chỉ có sẵn cho người dùng có tài khoản PRO [gói](/goodcryptox-vi/he-sinh-thai/cac-goi-dang-ky.md) hoặc cao hơn.

### Cách webhook hoạt động trong goodcryptoX

* Mỗi lệnh hoặc bot **hành động** có URL webhook riêng của nó
* Bạn phải tạo lệnh hoặc bot trước để lấy URL (chúng sẽ xuất hiện trong **Webhook** phần của **Chi tiết**)
* Gửi **bất kỳ** payload webhook đến URL đó sẽ kích hoạt hành động

> URL webhook là dành cho từng hành động, không phải cho từng người dùng. Bạn phải tạo một webhook cho mỗi hành động, ví dụ một cho entry, một cho take profit, một cho stop loss, v.v. cho mỗi bot hoặc lệnh

### Các hành động lệnh và bot được hỗ trợ

Nếu bạn muốn lệnh hoặc bot của mình **bị kích hoạt bởi webhook**, bạn phải chọn webhook làm **điều kiện kích hoạt khi thiết lập**. Điều này áp dụng cho:

* Lệnh stop-market / stop-limit kích hoạt
* Kích hoạt lệnh trailing (bắt đầu trailing)
* Kích hoạt take-profit và stop-loss&#x20;
* Điều kiện vào của bot DCA

<figure><img src="/files/3c61f1a6f72247817e691fc758b9e820e579d7db" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/c3ad6df2ceec4f3765d053a1d7500cfb6df2a15a" alt="" width="563"><figcaption></figcaption></figure>

Sau khi tạo, bạn sẽ tìm thấy tất cả URL webhook có sẵn trong **Chi tiết** của lệnh hoặc bot của bạn:

<figure><img src="/files/f5f5eecb00ac77ce63fd233374e58190ab6092b5" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/749d83e4fd735c0c54d0c22bdfd73d6b49e35c3a" alt="" width="563"><figcaption></figcaption></figure>

> **Hủy** webhook — luôn có sẵn trong tất cả lệnh và bot
>
> **Đóng vị thế** webhook — luôn có sẵn trong chi tiết bot DCA

Tóm lại:

| Hành động                         | Được hỗ trợ? | Ghi chú                                               |
| --------------------------------- | ------------ | ----------------------------------------------------- |
| Hủy lệnh                          | ✅            | Luôn hiển thị trong chi tiết                          |
| Kích hoạt lệnh Stop               | ✅            | Phải chọn webhook khi thiết lập                       |
| Kích hoạt lệnh Trailing           | ✅            | Bắt đầu trailing = webhook                            |
| Kích hoạt take profit / stop loss | ✅            | Tùy chọn kích hoạt bằng webhook                       |
| Bot DCA - vào lệnh                | ✅            | Vào mua/bán qua webhook (phải được đặt khi thiết lập) |
| Bot DCA - thoát                   | ✅            | Đóng vị thế qua webhook (luôn có sẵn)                 |
| Bot Grid - vào lệnh               | 🚫           | Chưa được hỗ trợ                                      |

{% hint style="info" %}
**Nhiều mục tiêu take-profit với webhook**

Nếu bạn thiết lập một nhóm take-profit sử dụng webhook làm phương pháp kích hoạt, tất cả sẽ dùng chung một URL webhook. Mỗi lần webhook được kích hoạt, lệnh TP tiếp theo trong chuỗi sẽ được thực hiện — từng cái một.
{% endhint %}

### Cách thiết lập cảnh báo trong TradingView

Khi bạn đã tạo lệnh hoặc bot trong goodcryptoX và sao chép URL webhook cho một hành động cụ thể, đây là cách liên kết nó với cảnh báo TradingView của bạn:

1. Vào biểu đồ của bạn trong TradingView
2. Tạo cảnh báo mới dựa trên chiến lược, chỉ báo hoặc điều kiện của bạn
3. Trong **cài đặt cảnh báo**, bật checkbox **“Webhook URL”**
4. Dán URL webhook cụ thể từ phần Webhooks của goodcryptoX
5. Để trống **trường tin nhắn** như hiện tại (bất kỳ nội dung nào đều được — goodcryptoX hiện tại bỏ qua payload)
6. Lưu cảnh báo

### Chiến lược lặp lại (qua bot DCA)

Một lệnh kích hoạt bằng webhook (ví dụ stop-market có TP và SL) là một **thiết lập một lần**. Khi lệnh thực thi và TP hoặc SL liên kết kích hoạt, toàn bộ giao dịch hoàn tất. Nếu bạn muốn cấu trúc này **lặp lại tự động**, điều đó không thể với các lệnh — nhưng có thể thực hiện bây giờ bằng cách sử dụng bot DCA.

Chúng tôi sẽ sớm giới thiệu một [bot chiến lược TradingView](/goodcryptox-vi/giao-dich-cex/tinh-nang-sap-ra-mat/bot-chien-luoc-tradingview.md) dành riêng để hỗ trợ các giao dịch nhiều hành động lặp lại, nhưng trong khi chờ đợi, bot DCA cung cấp cách linh hoạt để lặp lại chiến lược điều khiển bằng webhook của bạn.

#### Vòng lặp webhook thuần túy

Để thiết lập một bot vào vị thế bằng webhook, thoát bằng webhook, rồi lặp lại:

1. Đặt **điều kiện vào** = webhook
2. Đặt **lệnh trung bình** = 0 (tắt trung bình)
3. Tắt cả **chốt**-**lợi nhuận** và **stop-loss**
4. Bật **"Lặp lại khi đóng vị thế"**&#x20;

<figure><img src="/files/8fa0174890b285e85cb172d2993a2c978228c119" alt="" width="375"><figcaption></figcaption></figure>

Khi bot được khởi chạy, bạn sẽ thấy các URL webhook sau dưới **Chi tiết → Webhooks** phần của bot:

* **Vào Mua** — mở một vị thế Long
* **Vào Bán** — mở một vị thế Short
* **Đóng vị thế** — đóng vị thế đang hoạt động (long hoặc short)
* **Hủy** — dừng bot

**Logic thực thi**

* Khi bot nhận được **Vào Mua**, nó mở một vị thế long.
* Khi nó nhận được **Vào Bán**, nó mở một vị thế short.
* Bot sẽ **chỉ phản hồi webhook vào đầu tiên** nó nhận được khi đang nhàn rỗi.
* Khi một vị thế đang mở:
  * Bất kỳ tín hiệu vào bổ sung nào **bị bỏ qua**
  * Bot sẽ không tăng hoặc đảo chiều vị thế hiện tại khi có tín hiệu Entry
  * Các tín hiệu được chấp nhận duy nhất là **đóng vị thế** hoặc một TP/SL được kích hoạt (nếu được cấu hình)
* Khi vị thế được đóng (thủ công, bằng webhook, hoặc bởi SL/TP), bot đặt lại và chờ webhook Entry tiếp theo.

Vòng lặp này tiếp tục miễn là bot vẫn hoạt động, cho phép bạn lặp lại một chu kỳ vào → thoát → đặt lại hoàn chỉnh vô hạn.

#### Chế độ webhook thuần túy vs cấu hình kết hợp

Bot DCA hỗ trợ nhiều lớp kiểm soát có thể kết hợp để xây dựng các chiến lược linh hoạt:

* **Vào**: qua webhook, tín hiệu, hoặc asap
* **Thoát**: qua webhook, hoặc TP/SL tích hợp dựa trên giá
* **Trung bình**: tùy chọn; có thể tắt

Bạn có thể:

* Chạy một bot hoàn toàn bằng tín hiệu webhook (vào và thoát)
* Thêm TP/SL dựa trên giá làm phương án dự phòng, ngay cả khi bạn sử dụng thoát bằng webhook
* Thêm các lệnh trung bình để tăng bảo vệ

Điều này cho phép thiết kế:

* Chiến lược vòng lặp tự động hoàn toàn (webhook thuần túy)
* Bot dựa trên tín hiệu với chuyển sang thủ công khi cần
* Cấu hình kết hợp với nhiều lớp thoát

### Ví dụ chiến lược webhook thực tế

#### Ví dụ 1: Lệnh một lần + nhiều take profit (bật nảy Bollinger Band)

**Mục tiêu:** Mua khi giá xuyên dưới dải Bollinger dưới, bán dần khi giá tăng trở lại.

**Thiết lập trong goodcryptoX**

* Tạo một lệnh stop-market với điều kiện kích hoạt = webhook
* Thêm ba mục tiêu take-profit. Kích hoạt TP = webhook

<figure><img src="/files/ce29efb55755d20df0b55df1c8a398b4bda9a977" alt="" width="563"><figcaption></figcaption></figure>

**Thiết lập trong TradingView**

Tạo bốn cảnh báo:

1. Giá xuyên dưới dải dưới → gửi đến **Kích hoạt** URL webhook
2. Giá quay vào trong dải → gửi đến **Kích hoạt Take Profit** URL webhook
3. Giá cắt qua dải giữa → gửi đến **Kích hoạt Take Profit** URL webhook
4. Giá xuyên dải trên → gửi đến **Kích hoạt Take Profit** URL webhook

<figure><img src="/files/b17abe5802760d9e6d0de38014ce2a91dea44295" alt="" width="563"><figcaption></figcaption></figure>

Trong **cài đặt cảnh báo**, bật checkbox **“Webhook URL”**

Dán URL webhook cụ thể từ phần Webhooks của goodcryptoX. Để trường Message nguyên như cũ — nó không được sử dụng.

#### Ví dụ 2: Chiến lược lặp với bot DCA (Golden/Death Cross)

**Mục tiêu:** Vào long khi Golden Cross, vào short khi Death Cross. Thoát với lợi nhuận 10% hoặc khi RSI > 70 và lặp lại mãi mãi.

**Thiết lập trong goodcryptoX**

Tạo bot DCA

* Điều kiện vào = webhook
* Trung bình = tắt (đặt bằng 0)
* Take Profit = 10%
* Stop loss = tắt
* Bật: "Lặp lại khi TP"

**Thiết lập trong TradingView**

* Tạo ba cảnh báo trên cùng một biểu đồ:
  1. SMA50 cắt lên trên SMA200 → gửi đến **Vào Mua** webhook
  2. SMA50 cắt xuống dưới SMA200 → gửi đến **Vào Bán** webhook
  3. RSI > 70 → gửi đến **Đóng vị thế** webhook

{% hint style="info" %}
Bot DCA chỉ giữ một vị thế tại một thời điểm. Khi đang có vị thế, nó bỏ qua các webhook vào mới cho đến khi vị thế được đóng.

Nếu bạn muốn có thể vào cả vị thế Long và Short trên cùng một công cụ song song - hãy tạo hai bot riêng biệt và gửi Vào Mua cho bot này và Vào Bán cho bot kia
{% endhint %}

### Tóm tắt

| Khái niệm           | Mô tả                                                          |
| ------------------- | -------------------------------------------------------------- |
| Mô hình kích hoạt   | Mỗi hành động có URL webhook riêng                             |
| Quy trình thiết lập | Tạo lệnh → sao chép URL webhook → dán vào cảnh báo TradingView |
| Chiến lược lặp      | Sử dụng bot DCA với tính năng lặp được bật                     |
| Quyền truy cập      | Yêu cầu gói PRO trở lên                                        |

### Video hướng dẫn

#### **Giới thiệu về giao dịch bằng webhook**

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

#### **Sử dụng bot DCA với webhook**

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

#### **Nhiều take-profit với webhook**

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.goodcrypto.app/goodcryptox-vi/giao-dich-cex/webhook.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
