Algoritma ini berdagang emas berdasarkan tindakan harga. Ia mengira harga tertinggi dan terendah 20 lilin terkini untuk menentukan julat turun naik harga. Ia pergi lama apabila harga memecahkan harga tertinggi lilin terkini dan pergi pendek apabila harga memecahkan harga terendah lilin terkini. Selepas membuka kedudukan panjang atau pendek, ia menetapkan mengambil keuntungan dan harga hentian kerugian.
Logik teras algoritma ini adalah berdasarkan teori breakout. Ia merekodkan harga tertinggi dan terendah dari 20 candlestick yang paling baru untuk menentukan julat turun naik harga. Apabila harga melebihi julat ini, ia dianggap sebagai breakout dan dengan itu isyarat perdagangan dicetuskan. Khususnya, aliran algoritma adalah:
Seperti yang dapat dilihat, isyarat dagangan algoritma ini berasal dari penilaian harga. Kuncinya adalah untuk mengenal pasti masa harga harga.
Algoritma ini mempunyai kelebihan berikut:
Secara umum, idea teras algoritma ini jelas dan logik. Ia mudah dilaksanakan dan mudah difahami masa kemasukan. Ia juga membolehkan mengawal kerugian perdagangan tunggal. Oleh itu, ia adalah strategi perdagangan kuantitatif dengan kepraktisan yang kuat.
Algoritma ini juga mempunyai beberapa risiko:
Untuk mengawal dan mengoptimumkan risiko ini, langkah-langkah berikut boleh diambil:
Algoritma boleh dioptimumkan dalam aspek berikut:
Gabungkan dengan penunjuk lainPurata bergerak, Bollinger Bands dan lain-lain boleh diperkenalkan untuk mengesahkan isyarat pecah dua kali dan meningkatkan kebolehpercayaan.
Pengoptimuman Parameter. Kombinasi parameter yang berbeza boleh diuji untuk mengoptimumkan panjang tempoh pecah dan mencari tetapan parameter yang lebih boleh dipercayai.
Ambil keuntungan dan optimumkan stop loss. Dinamis menyesuaikan mengambil keuntungan dan berhenti kerugian jarak berdasarkan turun naik dan lain-lain
Pengoptimuman saiz kedudukan. Mengoptimumkan algoritma saiz kedudukan untuk mengurangkan kesan kerugian perdagangan tunggal.
Pembelajaran mesin. Belajar dari sejumlah besar data sejarah untuk mencari kombinasi parameter yang lebih baik secara automatik.
Pengoptimuman di atas dapat meningkatkan kestabilan, kadar kemenangan dan keuntungan algoritma.
Algoritma perdagangan emas menjana isyarat perdagangan berdasarkan tindakan harga dan teori pecah. Idea ini mudah dan jelas, mudah dilaksanakan, dan sangat praktikal. Sementara itu, ia juga mempunyai beberapa risiko dan memerlukan pengoptimuman lanjut untuk meningkatkan kestabilan dan keuntungan. Secara keseluruhan, ia sesuai untuk perdagangan emas dan strategi kuantitatif yang cekap. Dengan menggabungkan penunjuk lain, pengoptimuman parameter, mengambil keuntungan / pengoptimuman stop loss dan lain-lain, prestasi 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)