⬡ API · OTOMASI · BACA 13 MENIT

Webhook TradingView → broker: otomasi ujung ke ujung.

Cara mengubah alert Pine Script jadi order sungguhan di broker. Arsitektur lengkapnya, kode server penerima, dan risiko jujur dari pendekatan ini.

Oleh Tim RoboTraderIA· diperbarui Mei 2026· level lanjutan

Kamu sudah merancang strategi di Pine Script dan mau strategi itu jalan sendiri. Masalahnya, TradingView tidak mengeksekusi order di brokermu secara langsung (kecuali lewat integrasi native). Jembatannya adalah webhook: alert-nya menyala, mengirim pesan ke server milikmu, dan server itulah yang mengeksekusi order lewat API broker. Panduan ini merakit seluruh pipeline-nya — sekaligus jujur soal di mana ia bisa gagal.

01Arsitektur ujung ke ujung

Ada empat mata rantai. Memahami alurnya wajib sebelum menulis satu baris kode pun:

TradingView alert Pine HTTP POST Server kamu Flask/FastAPI validasi API broker order Pasar eksekusi
Alert TradingView jadi HTTP POST → servermu memvalidasi → memanggil API broker → order tereksekusi.

Prasyarat: fitur webhook di alert mensyaratkan paket berbayar TradingView. Paket gratis tidak bisa mengirim webhook. Kamu juga butuh server dengan URL publik (sebuah VPS, atau layanan seperti Render/Railway) untuk menerima POST-nya.

02Langkah 1: alert di TradingView

Di Pine Script kamu, pakai alert() dengan pesan berformat JSON (supaya bisa dibaca server). Setelah itu, saat membuat alert di antarmukanya, tempel URL webhook kamu di kolom "Webhook URL".

// di Pine Script — pesan terstruktur dalam JSON
if ta.crossover(ma_rapida, ma_lenta)
    alert('{"segredo":"MEU_SEGREDO","acao":"COMPRA","ativo":"BTCUSDT","qtd":0.01}',
          alert.freq_once_per_bar_close)

Parameter segredo itu vital — inilah yang mencegah siapa pun yang menemukan URL-mu memicu order palsu. Validasinya kita bahas di sisi server.

03Langkah 2: server penerima

Server sederhana di Python dengan FastAPI yang menerima webhook, memvalidasi secret-nya, lalu memprosesnya:

# servidor.py
from fastapi import FastAPI, Request, HTTPException
import os

app = FastAPI()
SEGREDO = os.getenv("WEBHOOK_SECRET")   # jangan pernah hardcode

@app.post("/webhook")
async def webhook(request: Request):
    dados = await request.json()

    # 1. validasi secret — blokir request palsu
    if dados.get("segredo") != SEGREDO:
        raise HTTPException(status_code=403, detail="Não autorizado")

    # 2. baca sinyalnya
    acao  = dados.get("acao")
    ativo = dados.get("ativo")
    qtd   = dados.get("qtd")

    # 3. eksekusi di broker (fungsi dari modul eksekusi kamu)
    if acao == "COMPRA":
        executar_compra(ativo, qtd)
    elif acao == "VENDA":
        executar_venda(ativo, qtd)

    return {"status": "ok", "acao": acao}

Fungsi executar_compra memakai API broker — persis kode yang kami tunjukkan di tutorial Binance atau di API MT5. Webhook cuma menggantikan bagian yang "memutuskan" — sekarang yang memutuskan adalah Pine Script.

Keamanan itu wajib, bukan opsional: URL webhook kamu bersifat publik. Tanpa validasi secret, siapa pun yang menemukan URL itu bisa memicu order di akunmu. Selalu pakai: (1) secret di dalam pesannya, (2) HTTPS, (3) idealnya validasi juga IP asal TradingView. Perlakukan ini seperti kamu memperlakukan password rekening bankmu.

04Langkah 3: di mana server-nya di-hosting

Server-nya butuh URL publik dan harus selalu online. Pilihannya:

  • VPS (yang sama dengan bot kamu) — kontrol penuh, IP tetap sehingga bisa kamu filter. Lihat panduan VPS kami.
  • Platform deploy (Render, Railway, Fly.io) — server naik dengan cepat, ada paket gratis yang terbatas. Bagus untuk uji coba.
  • Tunnel lokal (ngrok) — cuma untuk pengujian, karena ia mengekspos PC lokalmu untuk sementara. Jangan pernah dipakai di produksi.

Butuh VPS untuk hosting-nya?

Lihat cara memilih dan mengonfigurasi VPS yang akan menjalankan server webhook kamu 24/7.

Lihat panduan VPS →

05Webhook vs. integrasi native

Sebelum merakit seluruh pipeline ini, pertimbangkan alternatifnya: sebagian broker punya integrasi native dengan TradingView — kamu mengirim order langsung dari chart, tanpa server perantara. Pepperstone adalah salah satu contohnya. Bandingkan:

  • Webhook + server sendiri: fleksibel (jalan dengan broker mana pun yang punya API), tapi menambah titik kegagalan (server, latensi, keamanan) dan butuh perawatan.
  • Integrasi native: lebih sederhana dan andal (tanpa servermu di tengah), tapi terbatas pada broker yang menyediakannya dan pada apa yang diizinkan integrasi itu.

Rekomendasi: kalau brokermu punya integrasi native dan itu sudah memenuhi kebutuhan strategimu, pilih yang itu — makin sedikit yang bisa rusak. Webhook unggul saat kamu butuh logika kustom di tengah (misalnya manajemen risiko sendiri, beberapa broker sekaligus) atau saat brokernya cuma menyediakan API, bukan integrasi TradingView.

06Risiko jujur dari otomasi lewat webhook

Apa yang bisa salah (dan pasti terjadi suatu saat): server bisa mati dan kamu kehilangan sinyalnya. Request bisa hilang di jaringan. Ada latensi antara alert dan eksekusi (selisih beberapa detik bisa berarti). Satu alert bisa menyala dua kali (order ganda). Kamu butuh log, idempotensi (jangan mengeksekusi order yang sama dua kali), dan monitoring. Otomasi lewat webhook itu ampuh, tapi bukan "atur sekali lalu lupakan".

Praktik yang menurunkan risiko: catat setiap request yang masuk dan setiap order yang dikirim; terapkan idempotensi (tiap alert punya ID, abaikan yang berulang); sediakan "kill switch" (cara mematikan semuanya dengan cepat); dan — selalu — uji seluruh pipeline di akun demo selama berminggu-minggu sebelum menyentuh uang sungguhan.

07Pertanyaan yang sering muncul

Apa itu webhook TradingView?

Webhook adalah request HTTP yang dikirim TradingView secara otomatis ke URL milikmu saat sebuah alert menyala. Request itu bisa memicu server yang mengeksekusi order di broker, sehingga strategi yang dibuat di Pine Script berjalan otomatis.

Apakah butuh paket berbayar TradingView?

Ya. Fitur webhook di alert mensyaratkan paket berbayar. Paket gratis tidak bisa mengirim webhook. Selain itu, kamu butuh server dengan URL publik untuk menerimanya.

Apakah otomasi lewat webhook itu aman?

Ada risikonya: URL-nya publik (butuh validasi secret), server bisa mati, ada latensi, dan alert bisa terkirim ganda. Untuk strategi yang sensitif terhadap waktu, integrasi native lebih andal. Selalu tes di demo dan pakai log, idempotensi, serta kill switch.

Apa bedanya dengan integrasi native?

Integrasi native (misalnya Pepperstone) mengeksekusi langsung dari chart, tanpa servermu — lebih sederhana dan andal. Webhook lebih fleksibel (broker mana pun yang punya API, logika kustom di tengah) tapi menambah titik kegagalan. Pilih yang native kalau sudah memenuhi kebutuhanmu.

Bisakah webhook dipakai untuk B3?

Bisa, asalkan brokermu punya API yang bisa diakses. Server penerima akan memanggil API broker (atau jembatan MT5-Python) untuk mengeksekusi di B3, bursa Brasil. Alurnya sama; yang berubah cuma fungsi eksekusi di ujungnya.

Baca juga

🎁 Dapatkan bot trading gratis (dengan API Quotex, Deriv, dan IQ Option)

Bot open source + kode API siap pakai. Kamu tinggal edit sambil ngobrol dengan ChatGPT/Claude — tanpa coding. Gratis, tanpa spam.

👉 Sudah mau bot yang siap pakai? Kunjungi botbinaryoptions.com →