
Strategi ini adalah sistem perdagangan multi-area yang didasarkan pada indikator MACD dan dirancang khusus untuk grafik K-line 15 menit. Strategi ini menggunakan persilangan garis MACD dengan garis sinyal untuk menghasilkan sinyal perdagangan dan membatasi waktu perdagangan dalam periode tertentu saat pasar terbuka. Strategi ini menggunakan metode manajemen risiko proporsi tetap, yang secara dinamis menyesuaikan risiko setiap perdagangan sesuai dengan skala akun.
Penghitungan indikator MACD: Pengaturan MACD standar menggunakan garis cepat 12 periode, garis lambat 26 periode, dan garis sinyal 9 periode.
Sinyal perdagangan dihasilkan:
Pembatasan waktu perdagangan: Hanya melakukan perdagangan saat pasar London (08:00-17:00 GMT) dan pasar New York (13:30-20:00 GMT) terbuka.
Manajemen Risiko:
Eksekusi perdagangan: Masuk dengan harga pasar, dan tetapkan stop loss dan stop order.
Penangkapan dinamika pasar: Indikator MACD secara efektif menangkap perubahan dinamika pasar yang membantu mengidentifikasi potensi titik balik tren.
Pengendalian risiko: Metode pengelolaan risiko proporsi tetap memastikan bahwa risiko setiap transaksi sesuai dengan ukuran akun, yang menguntungkan pertumbuhan dana jangka panjang.
Filter waktu: membatasi waktu transaksi dapat menghindari sinyal palsu pada saat likuiditas rendah dan meningkatkan kualitas transaksi.
Adaptasi: Strategi ini dapat menyesuaikan ukuran transaksi secara otomatis sesuai dengan ukuran akun untuk pedagang dengan jumlah dana yang berbeda.
Aturan masuk dan keluar yang jelas: Logika pembuatan sinyal yang jelas dan pengaturan stop-loss yang tetap, mengurangi kebutuhan akan intervensi manusia.
Risiko pasar bergoyang: Dalam pasar bergoyang horizontal, MACD dapat menghasilkan sinyal silang yang sering, yang menyebabkan overtrading dan kerugian beruntun.
Risiko slippage: Penggunaan pasar harga satu kali masuk mungkin menghadapi slippage, terutama di pasar cepat.
Risiko Stop loss tetap: Stop loss dengan nilai tetap mungkin tidak cukup fleksibel pada periode volatilitas tinggi, yang menyebabkan stop loss prematur.
Melewatkan Tren Besar: Pengaturan stop-loss yang ketat dapat menyebabkan sebagian besar keuntungan yang terlewatkan dari tren besar.
Pembatasan Jendela Waktu: Perdagangan hanya pada periode waktu tertentu dapat melewatkan peluang potensial pada periode lain.
Konfirmasi multi-siklus: memperkenalkan periode waktu yang lebih lama (misalnya 1 jam atau 4 jam) untuk mengkonfirmasi tren, meningkatkan keandalan sinyal perdagangan.
Stop Loss Dinamis: Pertimbangkan untuk menggunakan indikator ATR (Average True Range) untuk mengatur Stop Loss Dinamis untuk menyesuaikan diri dengan perubahan volatilitas pasar.
Memperkenalkan indikator teknis lainnya: seperti RSI (indicator relatif kuat) atau moving average, sebagai filter dari sinyal MACD, mengurangi sinyal palsu.
Mengoptimalkan jendela waktu perdagangan: Mengidentifikasi periode waktu perdagangan yang optimal melalui analisis retrospektif, yang mungkin memerlukan penyesuaian musiman sesuai dengan kondisi pasar yang berbeda.
Meningkatkan strategi stop-loss: menerapkan mekanisme untuk melacak stop-loss atau perlindungan sebagian keuntungan untuk mengunci sebagian keuntungan sambil menangkap tren besar.
Adaptasi Volatilitas: Adaptasi ukuran transaksi dan tingkat stop loss sesuai dengan dinamika volatilitas pasar, mengurangi risiko di periode yang tinggi.
Menambahkan filter dasar: mempertimbangkan dampak dari publikasi data ekonomi penting pada pasar, dan menghentikan perdagangan sebelum dan sesudah publikasi data penting.
Strategi crossover dinamika pasar multi-siklus adalah sistem perdagangan adaptif berdasarkan indikator MACD yang meningkatkan kualitas perdagangan dengan membatasi waktu perdagangan dan manajemen risiko yang ketat. Keunggulan utama dari strategi ini adalah logika penciptaan sinyal yang jelas dan metode manajemen risiko yang dinamis, yang membuatnya cocok untuk akun perdagangan dengan skala yang berbeda. Namun, strategi ini juga menghadapi risiko seperti overtrading di pasar yang bergoyang dan kehilangan tren besar.
Strategi ini memiliki potensi untuk meningkatkan kinerja dan stabilitasnya lebih lanjut dengan memperkenalkan konfirmasi multi-siklus, stop loss dinamis, dan indikator teknis tambahan. Khususnya, penambahan volatilitas yang disesuaikan dan strategi stop loss yang disempurnakan dapat membantu strategi lebih beradaptasi dengan berbagai kondisi pasar.
Secara keseluruhan, strategi ini memberikan framework yang solid bagi para pedagang, yang dapat disesuaikan dan dioptimalkan secara individual untuk memenuhi preferensi risiko dan tujuan perdagangan tertentu. Pemantauan dan verifikasi laboratorium yang berkelanjutan akan menjadi kunci untuk memastikan efektivitas strategi dalam jangka panjang.
/*backtest
start: 2024-06-28 00:00:00
end: 2024-07-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("交易霸傑15掏金策略", overlay=true)
// 設置參數
fastLength = input.int(12, title="MACD 快線長度")
slowLength = input.int(26, title="MACD 慢線長度")
signalSmoothing = input.int(9, title="MACD 信號線平滑")
riskPercentage = input.float(2, title="每筆交易的風險比例 (%)")
stopLossPoints = 10
takeProfitPoints = 15
// 設置倫敦和紐約市場的開盤時間
londonOpen = timestamp("GMT+0", year, month, dayofmonth, 8, 0)
londonClose = timestamp("GMT+0", year, month, dayofmonth, 17, 0)
nyOpen = timestamp("GMT+0", year, month, dayofmonth, 13, 30)
nyClose = timestamp("GMT+0", year, month, dayofmonth, 20, 0)
// 計算MACD
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing)
macdHist = macdLine - signalLine
// 畫出MACD線
hline(0, "0軸", color=color.gray)
plot(macdLine, color=color.blue, title="MACD 快線")
plot(signalLine, color=color.red, title="MACD 慢線")
plot(macdHist, color=color.green, style=plot.style_histogram, title="MACD Histogram")
// 動態計算每筆交易的風險和止損、止盈點數
capital = strategy.equity
riskAmount = capital * (riskPercentage / 100)
contracts = 1
stopLossValue = stopLossPoints * syminfo.mintick
takeProfitValue = takeProfitPoints * syminfo.mintick
// 確定是否在交易時段內
isLondonOpen = (time >= londonOpen and time <= londonClose)
isNyOpen = (time >= nyOpen and time <= nyClose)
// 偏空進場條件
shortCondition = ta.crossover(signalLine, macdLine) and macdLine > 0 and (isLondonOpen or isNyOpen)
if (shortCondition)
strategy.entry("Short", strategy.short, qty=contracts)
strategy.exit("Take Profit/Stop Loss", "Short", limit=close - takeProfitValue, stop=close + stopLossValue)
// 偏多進場條件
longCondition = ta.crossunder(signalLine, macdLine) and macdLine < 0 and (isLondonOpen or isNyOpen)
if (longCondition)
strategy.entry("Long", strategy.long, qty=contracts)
strategy.exit("Take Profit/Stop Loss", "Long", limit=close + takeProfitValue, stop=close - stopLossValue)