1. Pengantar
TradingView Subscriber adalah tool dari VPSTrading.net yang berfungsi sebagai “jembatan” (bridge) antara TradingView (platform chart & alert) dan MetaTrader (EA di MT4/MT5). Dengan tool ini, Anda bisa:
- Menerima alert webhook (JSON) dari TradingView via HTTP POST port 80.
- Menyalurkan pesan alert webhook tersebut menjadi order trade ke EA di MT4/MT5.
- Membuka order dengan konfigurasi risk & management order.
2. Arsitektur Umum
- Dynamic-Link Library (DLL)
- Dijalankan oleh fungsi MetaTrader Library, TVCopyBridge_x86.dll untuk MT4 dan TVCopyBridge_x64.dll untuk MT5.
- Mendengarkan
POST /webhook
dari TradingView melalui port 80, sesuai dengan syarat webhook TradingView. - Mem-parse body JSON berisi
{ symbol, action, volume, sl, tp }
.
- RingBuffer Pub/Sub
- Shared memory 1 MiB, sangat ringan.
- Header
head
untuk setiap EA subscriber. - Meneruskan pesan ke EA subscriber untuk diproses sebagai order di MetaTrader.
- Maksimal 16 subscriber (MT4/MT5 EA).
- EA Subscriber di MT4/MT5
- Import DLL.
- Daftarkan subscriber: Subscriber ID 0 sebagai parent id yang akan melakukan komunikasi dengan TradingView.
- Subscriber id lainnya di mulai dari 1-15. Bisa dikembangkan hingga 150 subscriber (hubungi CS).
3. Alur Kerja
- Init DLL & EA
EA denganSubsriber ID==0
melalukan thread HTTP server start.
Semua EA subscriber yang dijalankan akan melakukan konsolidasi secara otomatis. - TradingView Alert → Webhook
PineScript mengirim JSON viaalert(json, alert.freq_once_per_bar)
kehttp://<IP-VPS>/webhook
. - HTTP Server Terima & Push
DLL menerimaPOST /webhook
dari TradingView, melakukan parse JSON, bangunTradeMsg
, lalupush(msg)
ke EA subscriber untuk dijadikan order BUY/SELL. - EA Drain Messages
DiOnTick()
:- Match symbol (suffix handling)
- Cek drawdown, risk limit, max order
- Hitung lot & SL/TP, eksekusi
OrderSend
(MT4) /trade.Buy()/Sell()
(MT5) - Kirim alert lanjutan (PushNotify/WebhookAPI) jika di-configure
4. Fungsi & Manfaat
Fungsi Utama | Manfaat |
---|---|
HTTP Webhook Receiver | Tidak perlu polling eksternal—TradingView push langsung ke VPS Anda |
RingBuffer Pub/Sub | Pesan trade disajikan thread-safe & lock-free; mendukung banyak EA |
Auto-suffix matching symbol | Dukungan berbagai penamaan pair (.pro, .micro, .mini, dll) |
Manajemen risiko & drawdown | Stop otomatis saat drawdown harian tercapai, hitung lot otomatis |
Reverse Orders & Trailing Stop | Opsi trading fleksibel: reverse sinyal, trailing SL ke breakeven |
Multi-platform support | Satu DLL untuk EA MT4 (x86) dan MT5 (x64), next update (cTrader & platform lain). |
5. Cara Penggunaan dengan TradingView
- Copy DLL di VPS/Server
DLL x86 untuk MT4 dan x64 untuk MT5, copy DLL ke folderMQL4/Libraries
(MT4) atauMQL5/Libraries
(MT5). - Pasang EA Subscriber
Copy TradingView-Subscriber EA di folderMQL4/Experts
(MT4) atauMQL5/Experts
(MT5). Attach ke chart dan atur input (Subscriber ID
,Suffix
,RiskPercent
, dll), klik OK.
Attach EA di M1 EURUSD yang memiliki tick cepat atau di BTCUSD M1 jika alert berasal dari pair BTCUSD di TradingView agar tick tetap berjalan di akhir pekan.
Penggunaan TradingView-Subscriber EA tidak bisa dikombinasikan antar platform MT4 dan MT5, jika Anda menjalankan EA pada platform MT4 dan MT5, maka subscriber hanya akan meneruskan platform yang terakhir menjalankan parent Subscriber Id 0. Misalkan jika Anda menjalankan 10 akun untuk meneruskan alert dari TradingView menggunakan TradingView-Subscriber ini. Maka jika akun tersebut platform MT4 maka 10 akun tersebut seluruhnya MT4, tidak bisa dikombinasikan MT4 dan MT5 secara bersamaan. Jika Anda ingin menjalankan pada platform MT5, maka 10 akun tersebut seluruhnya platform MT5.
- Buat Alert di PineScript
Tambahkanalert(json,...)
di script; saat membuat alert pilih “Any alert() function call” dan set Webhook URL kehttp://<IP-VPS>/webhook
.Untuk bisa mengirimkan JSON alert ke DLL, Anda perlu setup kode pinescript pada indikator atau strategy Pinescript Anda, sebagai berikut:
// contoh buySignal
sl_buy = low[1]
json = '{"symbol":"' + syminfo.ticker + '","action":"BUY","volume":0,"sl":' + str.tostring(sl_buy,"#.#####") + ',"tp":0}'
alert(json, alert.freq_once_per_bar)
// contoh sellSignal
sl_sell = high[1]
json = '{"symbol":"' + syminfo.ticker + '","action":"SELL","volume":0,"sl":' + str.tostring(sl_sell,"#.#####") + ',"tp":0}'
alert(json, alert.freq_once_per_bar)Terdapat variable utama yang WAJIB Anda set nilainya, yaitu symbol, action, dan sl. Sedangkan variable volume dan tp dikosongkan.
- Reservasi port 80 agar hanya digunakan untuk webhook ini.
Anda bisa melakukannya melalui CMD (Command Prompt) dengan mengetikan command berikut ini:
netsh http add urlacl url=http://+:80/webhook/ user=vtadmin listen=yes
- Test & Monitor
Pastikan port 80 terbuka, pantau log EA di tab Experts/Journal, cek drawdown reset & trailing SL.
Kesimpulan
Dengan TradingView Subscriber, Anda mendapatkan integrasi real-time, lock-free, dan multi-subscriber antara TradingView dan MetaTrader. Tool ini memudahkan implementasi auto-trading dari sinyal PineScript tanpa bergantung pada layanan eksternal, sekaligus menyediakan manajemen risiko bawaan dan fleksibilitas konfigurasi yang tinggi.