Arsitektur Prompt Terbaik untuk FX Bots di 2026
Penulis: Tim FXMacroData
Diterbitkan: 21 Mei 2026
Sebagian besar bot FX tidak gagal karena mereka menggunakan model yang salah. Mereka gagal karena menggunakan arsitektur prompt yang lemah. Dalam perdagangan langsung, prompt bukan paragraf. Ini adalah permukaan kontrol yang memutuskan bagaimana sistem Anda menafsirkan konteks, menerapkan kebijakan risiko, dan memformat keputusan.
Jika robot Anda memantau USD/JPY, menangani rilis seperti NFP, dan rute output ke gerbang eksekusi, prompt Anda harus deterministik di bawah tekanan. panduan ini memberi Anda arsitektur praktis yang melakukan persis itu.
Mengapa Single-Block Prompts Menyerang di Pasar Live
Sebuah prompt panjang tunggal biasanya mencampur konteks, kebijakan, dan format yang diinginkan dalam satu blob.
Gejala umum:
- JSON bersih dalam sesi tenang, output cacat dalam sesi volatile.
- Narasi yang percaya diri dengan tingkat invalidasi yang hilang.
- Asumsi risiko implisit yang bergeser dari waktu ke waktu.
Solusinya adalah arsitektur, bukan sifat-sifat lain.
Lapisan 1: Tanda (Hanya Fakta)
Lapisan keadaan harus berisi konteks objektif yang diambil dari API.
{
"asof_utc": "2026-05-21T20:00:00Z",
"pairs": {
"EUR/USD": { "last": 1.0872, "change_24h_pct": 0.42 },
"USD/JPY": { "last": 156.81, "change_24h_pct": -0.35 }
},
"events": [
{ "currency": "USD", "indicator": "core_pce", "time_utc": "2026-05-22T12:30:00Z" },
{ "currency": "GBP", "indicator": "unemployment", "time_utc": "2026-05-22T06:00:00Z" }
]
}
Bangun ini dari titik akhir yang stabil, misalnya:
curl "https://fxmacrodata.com/api/v1/announcements/usd/core_pce?api_key=YOUR_API_KEY"
curl "https://fxmacrodata.com/api/v1/announcements/gbp/unemployment?api_key=YOUR_API_KEY"
curl "https://fxmacrodata.com/api/v1/forex?base=EUR"e=USD&api_key=YOUR_API_KEY"
Lapisan 2: Aturan yang Diperintahkan (Batas Penalaran)
Lapisan aturan mendefinisikan bagaimana model dapat berpikir dan apa yang tidak bisa dilakukan.
You are an FX research assistant.
Allowed:
- Infer directional bias from supplied macro + price context.
- Mention uncertainty explicitly.
Not allowed:
- Invent missing data.
- Give broker execution instructions.
- Output fields outside contract.
Behavior:
- If data is insufficient, return action=flat with reason="insufficient_context".
- Prefer concise causal chains over broad narratives.
Ini memisahkan kebijakan kesimpulan dari data mentah, yang membuat debugging jauh lebih mudah.
Lapisan 3: Risiko yang cepat (Kekangguhan yang sulit)
Perlakukan itu seperti syarat kontrak yang tidak dapat diubah.
Risk policy v1:
- max_size_pct = 0.50
- min_confidence = 0.60
- invalidation is mandatory
- no new risk inside +/- 15 minutes of high-impact calendar events
- if any rule fails, return action=flat and policy_status=reject
Ketika komunikasi bank sentral dari Federal Reserve atau Bank of Japan dekat, lapisan ini mencegah inflasi kepercayaan dari berubah menjadi perdagangan yang terlalu besar.
Lapisan 4: Kontrak output (Interface Deterministik)
Kontrak output adalah apa yang sebenarnya dikonsumsi penjaga gerbang atau mesin eksekusi Anda.
{
"action": "long|short|flat",
"pair": "string",
"confidence": 0.0,
"thesis": "string",
"invalidation": "string",
"size_pct": 0.0,
"policy_status": "approve|reject",
"next_data_to_watch": ["string"]
}
Menolak setiap tanggapan yang gagal validasi skema. Jangan pernah mencoba parsing upaya terbaik dalam produksi.
Mengumpulkan Tumpukan yang Lengkap
Dalam implementasi, menjaga setiap lapisan versi independen dan menggabungkan pada saat runtime:
PROMPT = {
"state": state_payload, # dynamic JSON
"rules": rules_block_v3, # static text
"risk": risk_policy_v1, # static text
"output_contract": contract_json, # static schema
}
final_prompt = f"""
STATE:\n{PROMPT['state']}
RULES:\n{PROMPT['rules']}
RISK:\n{PROMPT['risk']}
OUTPUT CONTRACT:\n{PROMPT['output_contract']}
Return JSON only.
"""
Struktur ini membuat postmortem jelas. Jika perilaku berubah, Anda dapat mengidentifikasi apakah data negara berubah, aturan berubah, risiko berubah, atau penegakan kontrak berubah.
Templat Prompt Produksi yang Bisa Anda Gunakan Kembali
Jika Anda ingin perilaku yang dapat diprediksi, pindah dari suntingan prompt ad-hoc ke template eksplisit.
{
"prompt_id": "fx_agent_v6",
"state_version": "state_schema_v2",
"rules_version": "rules_v3",
"risk_version": "risk_v1_2",
"contract_version": "decision_contract_v4",
"fallback_mode": "flat_on_error"
}
Sambungkan ini ke runtime Anda sehingga setiap decision log menyimpan keempat versi. yang memberi Anda perbandingan instan ketika Anda menjalankan tes ulangan atau menyelidiki drift setelah minggu berdampak tinggi.
Perintah blok yang disarankan dalam perintah akhir:
- Identitas dan ruang lingkup sistem (pendek, stabil).
- Negara muatan (hanya fakta JSON).
- Aturan blok (diizinkan/tidak diizinkan perilaku).
- Blok risiko (kekangan yang tidak dapat dinegosiasikan).
- Kontrak output (skema JSON + instruksi return-only).
- Instruksi kesalahan (
flatpada ketidakpastian).
Jangan menempatkan panduan narasi panjang sebelum instruksi kontrak. Model sering terlalu berat teks awal dalam konteks yang panjang.
Perutaran cepat yang sadar akan rezim
Sebuah arsitektur prompt tunggal masih membutuhkan routing regime. aturan "sessi tenang" Anda tidak harus identik dengan aturan "kejutan peristiwa". gunakan router ringan sebelum kesimpulan:
def select_prompt_profile(next_event_minutes: int, realized_vol_pct: float) -> str:
if abs(next_event_minutes) <= 20:
return "event_profile"
if realized_vol_pct >= 1.1:
return "high_vol_profile"
return "normal_profile"
Setiap profil dapat berbagi kontrak yang sama sambil mengubah ambang risiko dan kendala gaya penalaran.
Penanganan Gagal dan Desain Kembali
Definisi perilaku cadangan eksplisit untuk tiga skenario:
- Kegagalan skema: output ditolak, router mencoba lagi sekali dengan konteks kompak.
- Konflik kebijakan: tindakan dipaksa untuk
flatdenganpolicy_status=rejectAku tidak tahu. - Data tidak cukup: tidak ada calon perdagangan yang dihasilkan dan peringatan dikeluarkan.
Blok kebijakan cadangan minimum:
Fallback policy:
- If contract parse fails -> return flat candidate from deterministic fallback template.
- If policy_status != approve -> do not call execution adapter.
- If data freshness check fails -> skip inference and publish "no-decision" note.
Ini yang membedakan asisten FX yang kuat dari robot demo yang rapuh.
Daftar Pemeriksaan Validasi Sebelum Penggunaan Hidup
- Tingkat lulus skema di atas ambang target dalam tes ulangan.
- Kepatuhan kebijakan hampir 100% di bawah jendela acara berat dari Kalender rilisAku tidak tahu.
- Tidak ada medan halusinasi di berbagai ukuran.
- Perilaku stabil di seluruh sesi yang dilacak oleh Sesi FXAku tidak tahu.
- Versi Prompt dan gatekeeper terkunci dan dapat di audit.
Kesimpulan
Arsitektur prompt adalah lapisan rekayasa yang hilang dalam banyak tumpukan perdagangan AI. Pisahkan prompt Anda menjadi lapisan state, rules, risk, dan contract, lalu kenakan masing-masing dengan validasi deterministik.
Langkah selanjutnya: menjalankan benchmark ulangan bulanan dan melacak drift per lapisan. Jika kinerja turun, Anda akan tahu persis di mana untuk campur tangan daripada menebak.