Algoritma ini memperdagangkan emas berdasarkan aksi harga. Ini menghitung harga tertinggi dan terendah dari 20 lilin terbaru untuk menentukan rentang fluktuasi harga. Ini pergi panjang ketika harga menembus harga tertinggi dari lilin terbaru dan pergi pendek ketika harga menembus harga terendah dari lilin terbaru. Setelah membuka posisi panjang atau pendek, ia menetapkan mengambil keuntungan dan harga stop loss.
Logika inti dari algoritma ini didasarkan pada teori breakout. Ini mencatat harga tertinggi dan terendah dari 20 candlestick terbaru untuk menentukan rentang fluktuasi harga. Ketika harga melebihi rentang ini, itu dianggap sebagai breakout dan dengan demikian sinyal perdagangan dipicu. Secara khusus, aliran algoritma adalah:
Seperti yang dapat dilihat, sinyal perdagangan dari algoritma ini berasal dari penilaian price breakout. Kuncinya adalah untuk mengidentifikasi waktu price breakout.
Algoritma ini memiliki keuntungan berikut:
Secara umum, ide inti dari algoritma ini jelas dan logis. Ini sederhana untuk diimplementasikan dan mudah untuk memahami waktu masuk. Ini juga memungkinkan mengendalikan kerugian perdagangan tunggal. Dengan demikian, ini adalah strategi perdagangan kuantitatif dengan kepraktisan yang kuat.
Algoritma ini juga memiliki beberapa risiko:
Untuk mengendalikan dan mengoptimalkan risiko ini, langkah-langkah berikut dapat diambil:
Algoritma dapat dioptimalkan dalam aspek berikut:
Gabungkan dengan indikator lainRata-rata bergerak, Bollinger Bands dll dapat diperkenalkan untuk mengkonfirmasi sinyal breakout dan meningkatkan keandalan.
Optimasi parameter. Kombinasi parameter yang berbeda dapat diuji untuk mengoptimalkan panjang periode istirahat dan menemukan pengaturan parameter yang lebih dapat diandalkan.
Mengambil keuntungan dan stop loss optimasi. Dinamis menyesuaikan mengambil keuntungan dan stop loss jarak berdasarkan volatilitas dll
Optimasi ukuran posisiMengoptimalkan algoritma ukuran posisi untuk mengurangi dampak kerugian perdagangan tunggal.
Pembelajaran mesinBelajar dari sejumlah besar data historis untuk secara otomatis menemukan kombinasi parameter yang lebih baik.
Optimasi di atas dapat meningkatkan stabilitas, tingkat kemenangan dan profitabilitas algoritma.
Algoritma perdagangan emas menghasilkan sinyal perdagangan berdasarkan aksi harga dan teori breakout. Ide ini sederhana dan jelas, mudah diterapkan, dan sangat praktis. Sementara itu, juga memiliki beberapa risiko dan membutuhkan optimasi lebih lanjut untuk meningkatkan stabilitas dan profitabilitas. Secara keseluruhan, ini cocok untuk perdagangan emas dan strategi kuantitatif yang efisien. Dengan menggabungkan indikator lain, optimasi parameter, optimasi take profit / stop loss dll, kinerja strategi yang lebih baik dapat dicapai.
/*backtest start: 2022-12-06 00:00:00 end: 2023-12-12 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("XAUUSD Price Action Strategy", overlay=true) // Define input parameters takeProfit = input(500, "Take Profit") stopLoss = input(200, "Stop Loss") // Calculate price action highs = ta.highest(high, 20) lows = ta.lowest(low, 20) priceRange = highs - lows breakoutLevel = highs[1] // Define conditions for long and short trades longCondition = high > breakoutLevel and close > highs[1] shortCondition = low < breakoutLevel and close < lows[1] // Execute long and short trades with take profit and stop loss if longCondition strategy.entry("Long", strategy.long) strategy.exit("Long Exit", "Long", limit = close + takeProfit, stop = close - stopLoss) if shortCondition strategy.entry("Short", strategy.short) strategy.exit("Short Exit", "Short", limit = close - takeProfit, stop = close + stopLoss) // Plot breakout level plot(breakoutLevel, color=color.blue, title="Breakout Level") // Highlight long and short trade signals on the chart bgcolor(longCondition ? color.green : na, transp=80) bgcolor(shortCondition ? color.red : na, transp=80)