
Strategi perdagangan multi-indeks bergerak rata-rata cross-trend filter adalah sistem perdagangan otomatis yang didasarkan pada indikator EMA (6, 14, 50, 200) multi-periode. Strategi ini memanfaatkan sinyal silang EMA (6, 14 dan 14) jangka pendek untuk menghasilkan titik masuk perdagangan, sekaligus mengkonfirmasi arah tren pasar melalui EMA (50 dan 200) jangka panjang, sehingga meningkatkan tingkat keberhasilan perdagangan. Strategi ini dirancang khusus untuk manajemen posisi dengan jumlah USDT tetap, dengan mekanisme stop loss persentase untuk mengendalikan risiko.
Logika inti dari strategi ini didasarkan pada sistem konfirmasi sinyal moving average indeks bertingkat:
Generasi sinyal dasar: Menggunakan persilangan EMA6 dan EMA14 sebagai sinyal perdagangan awal. Menghasilkan sinyal ganda ketika EMA6 melintasi EMA14 ke atas; menghasilkan sinyal kosong ketika EMA6 melintasi EMA14 ke bawah.
Konfirmasi arah tren: Tentukan tren utama pasar dengan posisi relatif EMA50 dan EMA200. Konfirmasi tren naik ketika EMA50 lebih besar dari EMA200; Konfirmasi tren turun ketika EMA50 lebih kecil dari EMA200.
Filter intensitas tren: Perhitungan persentase perbedaan antara EMA50 dan EMA200, hanya jika perbedaan lebih besar dari atau sama dengan nilai minimum yang ditetapkan pengguna (default 1.0%) dianggap cukup kuat untuk memungkinkan perdagangan.
Filter Lokasi HargaUntuk melakukan over, harga harus lebih tinggi dari EMA50 atau berada di “wilayah” antara EMA50 dan EMA200; untuk kosong, harga harus lebih rendah dari EMA200 atau berada di “wilayah” antara EMA50 dan EMA200.
Manajemen Posisi: mendukung dua mode untuk mengatur ukuran posisi - mode persentase ((persentase tetap dari ekuitas akun) atau mode jumlah USDT tetap, dan dapat menyesuaikan ukuran transaksi aktual dengan parameter leverage.
Strategi KeluarAda dua mode stop-loss - stop-loss persentase atau EMA cross-stop, dengan menggunakan stop-loss persentase tetap untuk melindungi keamanan dana.
Mekanisme multiple confirmationEMA jangka pendek menangkap momentum langsung, EMA jangka panjang memverifikasi arah tren keseluruhan.
Identifikasi intensitas tren: Menghitung persentase perbedaan antara EMA untuk memastikan bahwa hanya diperdagangkan dalam tren yang cukup kuat, menghindari perdagangan dan kerugian yang sering terjadi di pasar horizontal.
Fleksibel masuk areaStrategi ini memungkinkan untuk masuk dalam “perdagangan zona”, yaitu, harga di dalam kisaran penyesuaian arah tren utama (antara EMA50 dan EMA200), yang membantu mendapatkan harga masuk yang lebih baik.
Fleksibilitas dalam pengelolaan dana: Mendukung dua mode manajemen posisi, persentase atau jumlah tetap, untuk pedagang dengan ukuran akun dan preferensi risiko yang berbeda.
Stop loss otomatisSistem ini dilengkapi dengan fitur-fitur seperti: built-in percentage stop loss mechanism, automated risk control, anti-emotional interference, dan protection of trading funds.
Integrasi fitur peringatan: Fungsi peringatan format tetap yang diimplementasikan oleh alertcondition, untuk memudahkan penyaringan dengan sistem eksternal atau bantuan perdagangan manual.
Akumulasi keterbelakangan multi-indikatorMenggunakan beberapa EMA dapat menyebabkan overlap latensi sinyal, mungkin kehilangan titik masuk terbaik atau reaksi lambat dalam pasar yang bergerak cepat. Solusi adalah mempertimbangkan untuk memperkenalkan parameter yang lebih sensitif dalam EMA periode pendek, atau menambahkan indikator momentum sebagai peringatan dini.
Masalah adaptasi parameter tetapPeriode EMA tetap dalam strategi (misalnya 6, 14, 50, 200) mungkin tidak berlaku untuk semua kondisi pasar atau periode waktu. Disarankan untuk melakukan pengujian ulang sebelum penggunaan aktual dan menyesuaikan parameter ini sesuai dengan karakteristik pasar tertentu.
Batas Stop Loss Persentase Tetap: Menggunakan Stop Loss Persentase Tetap Tanpa Mempertimbangkan Perubahan Volatilitas Pasar, Stop Loss Mungkin Terlalu Kecil Dalam Lingkungan Volatilitas Tinggi, Terlalu Besar Dalam Lingkungan Volatilitas Rendah. Pertimbangkan Menggunakan ATR (Average True Values) Untuk Mengatur Stop Loss Secara Dinamis.
Titik Peralihan, Kerentanan: Di dekat titik perputaran tren utama, sinyal persilangan EMA dapat sering muncul sebagai sinyal palsu. Disarankan untuk menambahkan indikator konfirmasi tambahan seperti volume perdagangan, indikator getaran atau analisis pola harga.
Manajemen risikoModel USDT tetap dapat menyebabkan ukuran posisi yang tidak masuk akal di pasar dengan harga yang sangat berfluktuasi. Pertimbangkan untuk menerapkan mekanisme penyesuaian posisi dinamis, menyesuaikan proporsi dana untuk setiap transaksi sesuai dengan risiko pasar.
Mekanisme penyesuaian parameter dinamis: Mengembangkan pengaturan siklus EMA adaptif, menyesuaikan parameter EMA secara otomatis sesuai dengan volatilitas pasar atau siklus perdagangan, meningkatkan kemampuan strategi untuk beradaptasi dalam lingkungan pasar yang berbeda. Ini dapat dilakukan dengan menambahkan fungsi perhitungan volatilitas, seperti perubahan nilai ATR sebagai dasar untuk penyesuaian parameter.
Menambahkan indikator konfirmasi tambahanIntroduksi indikator teknis tambahan seperti RSI (Indeks Kekuatan Relatif Lemah), MACD (Moving Average Convergence Divergence) atau indikator kuantitatif, sebagai konfirmasi sinyal silang, mengurangi kejadian sinyal palsu.
Stop loss cerdas: Ganti Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop Stop
Strategi untuk membangun gudang secara berkelompok dan damaiHal-hal yang perlu diperhatikan adalah: Menerapkan strategi masuk batch dan keuntungan batch, bukan operasi satu kali penuh, mengurangi tekanan untuk memilih waktu, meningkatkan stabilitas keuntungan secara keseluruhan.
Identifikasi status pasar: Menambahkan fungsi klasifikasi kondisi pasar (seperti pasar tren, pasar goyah), menerapkan parameter perdagangan yang berbeda pada kondisi pasar yang berbeda atau bahkan menghindari kondisi pasar tertentu sama sekali.
Optimalisasi Pembelajaran Mesin: Memperkenalkan algoritma pembelajaran mesin sederhana untuk mengoptimalkan pilihan parameter, secara otomatis menyesuaikan siklus EMA terbaik dan kombinasi parameter lainnya berdasarkan data historis.
Instrumen Keseimbangan Risiko: Membuat perubahan posisi dinamis berdasarkan perubahan nilai bersih akun, meningkatkan posisi setelah keuntungan berturut-turut, mengurangi posisi setelah kerugian berturut-turut, dan mengontrol tingkat penarikan kembali sambil mencapai pertumbuhan laba.
Strategi perdagangan penyaringan tren lintas indeks moving average adalah sistem perdagangan komprehensif yang menggabungkan indikator EMA bertingkat-tingkat untuk secara efektif mengidentifikasi tren pasar dan menghasilkan sinyal perdagangan melalui sinergi antara rata-rata bergerak jangka pendek dan jangka panjang. Keunggulan inti dari strategi ini adalah mekanisme konfirmasi ganda dan kemampuan manajemen posisi yang fleksibel, yang membuatnya berkinerja baik di pasar tren.
Namun, strategi ini juga memiliki keterbatasan dalam keterlambatan indikator dan parameter tetap. Arah pengoptimalan terutama terfokus pada penyesuaian parameter yang dinamis, peningkatan indikator tambahan, dan perbaikan mekanisme stop loss. Dengan memperkenalkan parameter dinamis dan manajemen risiko yang sensitif terhadap volatilitas, strategi ini dapat meningkatkan kemampuan adaptasi lebih lanjut dalam berbagai lingkungan pasar.
Secara keseluruhan, ini adalah strategi pelacakan tren yang terstruktur dengan jelas dan logis yang ketat, yang cocok untuk digunakan oleh investor jangka menengah dan panjang. Untuk pedagang yang agresif, pertimbangkan untuk mempersingkat siklus EMA untuk meningkatkan sensitivitas. Untuk pedagang yang konservatif, pertimbangkan untuk menambahkan kondisi penyaringan tambahan dan memperluas jangkauan stop loss untuk mengurangi frekuensi dan risiko perdagangan.
/*backtest
start: 2024-05-20 00:00:00
end: 2024-08-17 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/
// @version=6
strategy("EMA sabit usdt ve Alarm)", overlay=true, margin_long=1, margin_short=1)
// —— GİRDİLER —— //
fastLen = input.int(6, "EMA6 Periyodu")
slowLen = input.int(14, "EMA14 Periyodu")
midLen = input.int(50, "EMA50 Periyodu")
longLen = input.int(200, "EMA200 Periyodu")
tpMode = input.string("Percent", "Take Profit Modu", options=["Percent", "EMA Cross"])
tpPerc = input.float(2.0, "TP (%)", step=0.1)
slPerc = input.float(7.0, "Stop Loss (%)", step=0.1)
orderSizeMode = input.string("Percent", "Pozisyon Boyutu Modu", options=["Percent", "Fixed"])
orderSizePerc = input.float(10.0, "Boyut (%)", minval=0.1, step=0.1)
orderSizeFixed = input.float(5.0, "Boyut (Sabit) [USDT]", minval=0)
leverage = input.int(1, "Kaldıraç", minval=1)
minEMAPct = input.float(1.0, "%50–200 Min Fark", step=0.1)
// —— EMA HESAPLAMALARI —— //
ema6 = ta.ema(close, fastLen)
ema14 = ta.ema(close, slowLen)
ema50 = ta.ema(close, midLen)
ema200 = ta.ema(close, longLen)
plot(ema6, title="EMA 6", linewidth=1)
plot(ema14, title="EMA 14", linewidth=1)
plot(ema50, title="EMA 50", linewidth=2)
plot(ema200, title="EMA 200", linewidth=2)
crossUp = ta.crossover(ema6, ema14)
crossDown = ta.crossunder(ema6, ema14)
priceAbove50 = close > ema50
priceBelow50 = close < ema50
priceAbove200 = close > ema200
priceBelow200 = close < ema200
upTrend = ema50 > ema200
downTrend = ema50 < ema200
zoneLong = priceBelow50 and priceAbove200
zoneShort = priceAbove50 and priceBelow200
emaDistPct = math.abs(ema50 - ema200) / ema200 * 100
strongTrend= emaDistPct >= minEMAPct
// —— KOŞULLAR —— //
longCond = crossUp and upTrend and strongTrend and (priceAbove50 or zoneLong)
shortCond = crossDown and downTrend and strongTrend and (priceBelow200 or zoneShort)
// —— POZİSYON MİKTARI —— //
var float qty = na
if orderSizeMode == "Percent"
qty := strategy.equity * (orderSizePerc/100) * leverage
else
qty := (orderSizeFixed / close) * leverage
// —— SİNYAL KOŞULLARI — statik mesajlar —— //
alarmLongID = "EMA_Long_Signal"
alarmShortID = "EMA_Short_Signal"
// —— GİRİŞLER —— //
if longCond
strategy.entry("Long", strategy.long, qty=qty)
label.new(bar_index, high, text="Long", yloc=yloc.abovebar)
if shortCond
strategy.entry("Short", strategy.short, qty=qty)
label.new(bar_index, low, text="Short", yloc=yloc.belowbar)
// —— ALERTCONDITION ile sabit mesaj —— //
alertcondition(longCond, title="Long Alarm", message=alarmLongID)
alertcondition(shortCond, title="Short Alarm", message=alarmShortID)
// ÇIKIŞLAR (TP/SL) —— //
if tpMode == "Percent"
if strategy.position_size > 0
slPrice = strategy.position_avg_price * (1 - slPerc/100)
tpPrice = strategy.position_avg_price * (1 + tpPerc/100)
strategy.exit("Exit Long", from_entry="Long", stop=slPrice, limit=tpPrice)
if strategy.position_size < 0
slPrice = strategy.position_avg_price * (1 + slPerc/100)
tpPrice = strategy.position_avg_price * (1 - tpPerc/100)
strategy.exit("Exit Short", from_entry="Short", stop=slPrice, limit=tpPrice)
else
if strategy.position_size > 0
slPrice = strategy.position_avg_price * (1 - slPerc/100)
strategy.exit("Stop Long", from_entry="Long", stop=slPrice)
if strategy.position_size < 0
slPrice = strategy.position_avg_price * (1 + slPerc/100)
strategy.exit("Stop Short", from_entry="Short", stop=slPrice)