
Strategi ini adalah sistem crossover rata-rata bergerak indeks berdasarkan beberapa frame waktu, yang menggabungkan pengoptimalan rasio risiko-keuntungan. Strategi ini memanfaatkan sinyal crossover rata-rata bergerak indeks cepat dan lambat (EMA) pada berbagai frame waktu, sambil mengintegrasikan rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio rasio
Prinsip-prinsip inti dari strategi ini mencakup beberapa elemen kunci berikut:
Analisis multi-frame waktu: Strategi mempertimbangkan EMA yang menyeberang pada frame waktu saat ini dan frame waktu yang lebih tinggi (misalnya 4 jam) untuk mengkonfirmasi sinyal tren yang lebih kuat.
EMA silang: menggunakan 9 siklus dan 21 siklus EMA sebagai garis cepat dan garis lambat. Ketika garis cepat melewati garis lambat menghasilkan sinyal ganda, sebaliknya menghasilkan sinyal kosong.
Konfirmasi tren: perdagangan hanya akan dilakukan jika harga saat ini berada di atas EMA jangka waktu tinggi (bust) atau di bawah (bust).
Manajemen risiko: ATR digunakan untuk mengatur tingkat stop loss yang dinamis, dengan jarak stop loss 1,5 kali ATR.
Optimasi RR: Mengatur tingkat stop-loss secara otomatis berdasarkan RR yang ditentukan pengguna (default 5.0).
Visualisasi: Strategi memetakan berbagai garis EMA dan sinyal perdagangan pada grafik untuk memberikan analisis pasar yang intuitif.
Analisis multi-dimensi: Dengan menggabungkan informasi dari beberapa kerangka waktu, strategi dapat lebih akurat mengidentifikasi tren pasar yang kuat dan mengurangi sinyal palsu.
Manajemen risiko dinamis: menggunakan ATR untuk mengatur stop loss dapat disesuaikan dengan volatilitas pasar, meningkatkan fleksibilitas dan robustnya strategi.
Rasio RISK-REBIT yang Dioptimalkan: Memungkinkan trader untuk mengatur rasio RISK-REBIT yang ideal sesuai dengan preferensi risikonya sendiri, yang membantu keuntungan jangka panjang.
Visualisasi yang jelas: Membantu pedagang untuk lebih memahami dan menganalisis dinamika pasar dengan menampilkan berbagai indikator dan sinyal secara intuitif di grafik.
Fleksibilitas: Parameter strategi dapat disesuaikan sesuai dengan pasar dan gaya perdagangan yang berbeda.
Terlalu mengandalkan indikator teknis: Strategi didasarkan pada EMA dan ATR, mungkin mengabaikan faktor pasar penting lainnya, seperti fundamental dan sentimen pasar.
Keterlambatan: EMA pada dasarnya merupakan indikator keterlambatan, yang dapat menyebabkan keterlambatan masuk atau keluar di pasar yang berubah dengan cepat.
Risiko terobosan palsu: Dalam pasar horizontal, EMA silang dapat menghasilkan sinyal palsu yang sering, yang menyebabkan overtrading.
Keterbatasan RR tetap: Meskipun RR tetap dapat diatur, namun RR tetap mungkin tidak sesuai dengan semua kondisi pasar.
Kurangnya identifikasi status pasar: Strategi tidak secara jelas membedakan pasar tren dan pasar goyah, yang mungkin tidak berkinerja baik dalam beberapa situasi pasar.
Integrasi indikator momentum: Pertimbangkan untuk menambahkan indikator momentum seperti RSI atau MACD untuk mengkonfirmasi kekuatan tren dan sinyal pembalikan potensial.
Memperkenalkan filter volatilitas: menerapkan filter volatilitas berbasis ATR untuk menghindari perdagangan selama volatilitas rendah dan mengurangi sinyal palsu.
Tingkat keuntungan risiko yang disesuaikan secara dinamis: mengembangkan mekanisme untuk menyesuaikan tingkat keuntungan risiko yang disesuaikan secara dinamis berdasarkan kondisi pasar, agar sesuai dengan lingkungan pasar yang berbeda.
Meningkatkan identifikasi kondisi pasar: memperkenalkan algoritma klasifikasi kondisi pasar, beralih parameter strategi atau logika perdagangan antara pasar yang sedang tren dan bergolak.
Optimalisasi pilihan parameter: menggunakan data historis untuk melakukan pengujian ulang untuk menemukan kombinasi parameter optimal dalam berbagai kondisi pasar.
Menambahkan analisis volume transaksi: mengintegrasikan indikator volume transaksi untuk memverifikasi efektivitas dan intensitas pergerakan harga.
Strategi konvergensi multi-frame indeks linear crossover adalah sistem perdagangan komprehensif yang menggabungkan pelacakan tren dan manajemen risiko. Melalui penggabungan sinyal EMA dan mekanisme kontrol risiko yang dinamis dari beberapa frame waktu, strategi ini bertujuan untuk menangkap tren pasar yang kuat dan berkelanjutan, sekaligus mengelola risiko perdagangan secara efektif. Meskipun strategi ini menunjukkan karakteristik yang menjanjikan, masih ada beberapa keterbatasan dan risiko yang melekat.
/*backtest
start: 2024-06-01 00:00:00
end: 2024-06-30 23:59:59
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Simplified MTF Strategy with RR Ratio", overlay=true)
// ????? ??????????
fastEMA = input.int(9, "Fast EMA")
slowEMA = input.int(21, "Slow EMA")
atrPeriod = input.int(14, "ATR Period")
rrRatio = input.float(5.0, "Risk-Reward Ratio", minval=1.0, step=0.1)
// ?????????? ?? ????
ema_fast = ta.ema(close, fastEMA)
ema_slow = ta.ema(close, slowEMA)
atr = ta.atr(atrPeriod)
// ???? ????????? EMA
htf_ema_fast = request.security(syminfo.tickerid, "240", ta.ema(close, fastEMA))
htf_ema_slow = request.security(syminfo.tickerid, "240", ta.ema(close, slowEMA))
// ?????? ???????
upTrend = ema_fast > ema_slow and close > htf_ema_fast
downTrend = ema_fast < ema_slow and close < htf_ema_slow
// ?????? ???????
longCondition = upTrend and ta.crossover(close, ema_slow)
shortCondition = downTrend and ta.crossunder(close, ema_slow)
// ????? ?? ??????? ?? ????
riskAmount = atr * 1.5
rewardAmount = riskAmount * rrRatio
// ???????? ?????
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Exit Long", "Long", stop=strategy.position_avg_price - riskAmount, limit=strategy.position_avg_price + rewardAmount)
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Exit Short", "Short", stop=strategy.position_avg_price + riskAmount, limit=strategy.position_avg_price - rewardAmount)
// ????????
plot(ema_fast, color=color.blue, title="Fast EMA")
plot(ema_slow, color=color.red, title="Slow EMA")
plot(htf_ema_fast, color=color.green, title="HTF Fast EMA")
plot(htf_ema_slow, color=color.yellow, title="HTF Slow EMA")
plotshape(longCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Long Signal")
plotshape(shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small, title="Short Signal")
// ?????-??????? ?????? ????
if (strategy.position_size != 0)
label.new(bar_index, high, text="RR: 1:" + str.tostring(rrRatio, "#.##"), color=color.blue, textcolor=color.white, style=label.style_label_down, yloc=yloc.abovebar)
// ???????
alertcondition(longCondition, title="Long Signal", message="Potential long entry")
alertcondition(shortCondition, title="Short Signal", message="Potential short entry")