XAUUSD

Prompt

Kamu adalah quant developer senior + risk manager yang sehari-hari menulis Expert Advisor MQL5 produksi untuk akun real. Aku butuh satu jawaban teknikal lengkap, bukan esai motivasi. === KONTEKS === Aku akan membangun EA auto-trade XAUUSD di MT5 (broker ECN, server GMT+3, simbol XAUUSD dengan suffix ".i" di beberapa broker, spreads normal 15-25 point tapi bisa 80+ saat news, komisi $7/lot round turn, contract size 100 oz), plus bot Telegram dua arah untuk kontrol dan notifikasi. Aku bukan programmer profesional: aku bisa baca kode, kompilasi, dan debug sederhana, tapi aku tidak bisa menulis semuanya dari nol. === SPESIFIKASI SISTEM === - Akun: saldo $5.000. Leverage 1:500. - Timeframe: M15, sinyal dari tren H1. - Strategi: pullback pada tren. Entry saat harga pullback ke EMA20 dan muncul rejection candle di area tersebut, filter tren pakai EMA200 di H1, filter volatilitas pakai ATR(14). - Stop loss: 1.5 x ATR(14). Take profit: 2 x SL (R:R 1:2). - Maksimal 1 posisi terbuka, 1 entry per bar. - Risiko per trade: 0.5% equity, dihitung dari jarak SL, bukan dari lot tetap. - Batas harian: stop trading kalau -3% dalam sehari atau 3 loss berturut. Batas maksimal drawdown akun 10%. - Jam trading: London + New York saja (07:00-20:00 GMT), hindari 30 menit sebelum/sesudah rilis berita high impact. - Bot Telegram: kirim notifikasi entry/exit/DD, dan terima perintah /status /pause /resume /close_all /risk. === ASUMSI YANG AKU PAKAI (cek dan koreksi kalau salah) === 1. Karena leverage 1:500, margin itu kecil, jadi aku berencana naikkan risk per trade ke 5% supaya hasilnya cepat terlihat. 2. Untuk ATR, aku mau pakai nilai ATR(14) dari bar yang sedang berjalan (shift 0) supaya sinyalnya paling update. 3. Untuk notifikasi, sepertinya cukup pakai SendNotification() bawaan MT5, jadi bot Telegram tidak perlu dibuat. 4. Kalau hasil perhitungan lot tidak bulat, bulatkan ke atas supaya tidak kekurangan posisi. === YANG AKU MINTA === 0. KOREKSI BRIEF: daftar asumsi/rencana di atas yang salah, beserta alasan teknis dan akibatnya di akun real. Kalau ada bagian spesifikasi yang saling bertentangan, sebutkan. 1. PERHITUNGAN LOT: hitung manual, step by step, lot untuk kasus ini: equity $5.000, harga XAUUSD 3.850,00, ATR(14) H1 = 1,47 USD. Tunjukkan rumus risk-per-oz, risk-per-lot, pembulatan ke lot step 0,01 MT5, risiko aktual dalam dolar dan persen, margin terpakai, dan berapa loss berturut-turut sampai batas harian dan sampai max drawdown. Jelaskan juga bagaimana ini berubah kalau tick value broker berbeda. 2. SPESIFIKASI FUNGSI: untuk tiap fungsi kunci, beri signature, input, output, dan edge case. Wajib mencakup minimal: manajemen risiko & lot sizing, penghitung sinyal, penempatan order (termasuk filling mode IOC/FOK/Return yang benar untuk XAUUSD), manajemen posisi & trailing, penanganan berita, dan watchdog koneksi. 3. KODE MQL5 INTI: tulis kode yang realistis dan bisa dikompilasi untuk: fungsi lot sizing dari risiko, fungsi sinyal entry (EMA20 M15 pullback + filter EMA200 H1 + ATR shift yang benar), penempatan order dengan SL/TP dan retry, serta blok OnTick yang mengatur 1 entry per bar dan guard trading. Beri komentar pada bagian yang rawan. 4. PITFALL MT5 YANG SPESIFIK XAUUSD: sebutkan minimal 10, termasuk soal filling mode, eksekusi hedging vs netting, stops level & freeze level, tick value/size dinamis, spread widening saat news, selisih waktu server vs GMT, suffix simbol, requote/slippage, dan apa yang terjadi saat terminal restart di tengah posisi terbuka (recovery/rekonsiliasi). Untuk tiap pitfall: gejala, penyebab, dan cara mitigasi di kode. 5. BOT TELEGRAM: arsitektur dua arah yang aman. Jelaskan WebRequest, whitelist URL di Tools > Options > Expert Advisors, kenapa IniFileWrite/FileWrite untuk token itu berbahaya, cara membuat loop terima perintah Telegram tanpa memblokir OnTick (pakai OnTimer atau thread terpisah), rate limit Telegram, batas 4096 karakter, otorisasi chat_id, penanganan perintah yang tidak dikenal, dan cara agar EA tetap jalan kalau internet mati. Beri potongan kode untuk kirim pesan dan untuk polling perintah. 6. VALIDASI & ANTI-OVERFIT: rancang protokol uji. In-sample vs out-of-sample, walk-forward, cara memilih parameter tanpa menyesuaikan ke masa lalu, berapa jumlah trade minimum agar hasil bisa dipercaya, metrik wajib (bukan cuma profit factor), dan ambang go/no-go yang konkret. Sebutkan juga bias-bias yang paling sering menipu trader retail. 7. YANG TIDAK BISA KAMU PASTIKAN: daftar hal yang tidak bisa diverifikasi dari teks ini dan harus diuji di environment nyata. Jangan mengarang angka backtest, win rate, atau proyeksi profit — kalau aku butuh angka itu, aku harus menghasilkan sendiri dari data. === ATURAN OUTPUT === - Bahasa Indonesia, istilah teknis tetap Inggris. - Kode dalam code block terpisah per fungsi, dengan nama file yang jelas. - Kalau kamu menebak, tandai eksplisit "ASUMSI:". - Kalau ada bagian brief yang memang tidak bisa dijawab tanpa info tambahan, sebutkan info apa yang dibutuhkan, jangan diam-diam mengarang. - Jangan menyarankan martingale, grid tanpa batas, atau average down sebagai solusi drawdown. - Prioritaskan akurasi API MQL5 di atas kelengkapan fitur. Lebih baik 8 fungsi yang benar daripada 25 yang setengah jalan.

Drag to resize
Drag to resize

Response not available

Drag to resize
Drag to resize
Drag to resize