| Symbol | Side | Size | Entry | PnL |
|---|---|---|---|---|
| BTCUSDT | Long | 0.000 | 00,000.0 | +$000.00 |
| ETHUSDT | Short | 0.00 | 0,000.0 | -$00.00 |
| SOLUSDT | Long | 00.0 | 000.00 | +$000.00 |
Webhook adalah metode komunikasi real-time antar aplikasi yang bekerja dengan prinsip "push" โ bukan "pull" (polling).
Ketika suatu event terjadi di aplikasi A (misal: sinyal trading muncul), aplikasi A akan mengirim HTTP POST request ke URL yang sudah ditentukan di aplikasi B. Aplikasi B kemudian memproses data tersebut dan menjalankan aksi yang sudah diprogram.
Event terjadi
Contoh: sinyal BUY dari strategi trading muncul
Kirim HTTP POST
Ke URL endpoint yang sudah ditentukan (misal: /api/webhook)
Validasi & Proses
Bot memverifikasi signature/secret, lalu memproses order
Eksekusi
Order dikirim ke exchange (Binance, dll) dan hasilnya dicatat
Meskipun contoh di dokumentasi menggunakan crypto futures, konsep webhook ini universal dan bisa diterapkan untuk berbagai instrumen trading:
Webhook bot bisa menerima sinyal dari berbagai sumber. Yang penting adalah payload (format data) sesuai dengan yang diharapkan oleh bot.
WebRequest()requests.post()Setelah deploy bot, buka halaman Settings. Di sana akan ada:
// Webhook Configuration Webhook URL : https://your-bot.com/api/v1/webhook Webhook Secret : sk_live_8f7a3b9c2e1d...
โ ๏ธ Jangan bagikan Secret ke siapapun. Secret ini berfungsi sebagai API key untuk mengotentikasi bahwa request benar-benar berasal dari sumber yang sah.
Kirimkan data dalam format JSON dengan field-field berikut:
{
"secret": "sk_live_8f7a3b9c2e1d...", // wajib: webhook secret
"symbol": "BTCUSDT", // wajib: pasangan trading
"side": "BUY", // wajib: BUY atau SELL
"posSide": "LONG", // LONG atau SHORT (untuk futures)
"type": "MARKET", // MARKET, LIMIT, STOP_MARKET, dll
"amount": "0.001", // quantity (wajib untuk market order)
"leverage": "10", // optional: leverage yang dipakai
"price": "64210.50", // optional: untuk limit/stop order
"strategy": "EMA CROSS", // optional: nama strategi
"signalId": "{{strategy.order.id}}" // optional: idempotency key
}
alert( "BUY signal for " + syminfo.ticker, title = "Webhook Signal", message = '{"secret":"sk_live_...","symbol":"' + syminfo.ticker + '","side":"BUY","positionSide":"LONG","type":"MARKET","amount":"0.001"}' )
string data = "{\"secret\":\"sk_live_...\",\"symbol\":\"EURUSD\",\"side\":\"BUY\",\"type\":\"MARKET\",\"amount\":\"0.01\"}"; char postData[]; StringToCharArray(data, postData); WebRequest("POST", "https://your-bot.com/api/webhook", headers, postData, result);
import requests import json payload = { "secret": "sk_live_...", "symbol": "XAUUSD", # Gold / Forex "side": "SELL", "order_type": "MARKET", "amount": "0.5" } requests.post("https://your-bot.com/api/webhook", json=payload)
Ketika webhook menerima request, bot menjalankan serangkaian validasi dan proses:
Deploy bot, atur webhook, dan hubungkan dengan strategi trading favoritmu.