Tren Rata-rata Bergerak Ganda Mengikuti Strategi

Penulis:ChaoZhang, Tanggal: 2023-10-08 14:25:40
Tag:

Gambaran umum

Strategi Dual Moving Average Trend Following adalah strategi trend following yang menggunakan dua moving average untuk menentukan tren harga. Ini menghasilkan sinyal panjang dan pendek ketika moving average jangka pendek dan panjang sejajar ke arah yang sama.

Prinsip

Strategi ini menggunakan dua rata-rata bergerak untuk menentukan arah tren.

  1. Menghitung garis tengah untuk periode pendek p1 dan periode panjang p2.

  2. Tentukan apakah harga di atas atau di bawah garis tengah, menghasilkan nilai bool naik dan turun.

  3. Menggunakan SMA untuk meratakan nilai naik dan turun, menentukan arah tren tren dan trend_2.

  4. Ketika trend dan trend_2 setuju, menghasilkan sinyal panjang atau pendek.

  5. Garis-garis berwarna secara visual menunjukkan tren.

  6. Masukkan perdagangan ketika tren jangka pendek dan jangka panjang setuju.

Perbandingan rata-rata bergerak ganda menciptakan logika inti. Trading dengan kesepakatan tren pada dua kerangka waktu mengurangi breakout palsu.

Keuntungan

Keuntungan utama dari strategi ini adalah:

  1. Rata-rata bergerak ganda mengurangi false breakout dan memberikan sinyal masuk yang dapat diandalkan.

  2. Menggunakan dua kerangka waktu memberikan akurasi yang lebih baik dalam penentuan tren.

  3. Menangkap tren yang lebih lama sambil memanfaatkan penurunan jangka pendek.

  4. Logika yang sederhana dan mudah dimengerti cocok untuk semua pedagang.

  5. Periode rata-rata bergerak yang dapat disesuaikan memungkinkan optimasi untuk setiap pasar.

  6. Warna bar visual memberikan arah tren yang intuitif.

Risiko

Beberapa risiko yang perlu dipertimbangkan:

  1. Pengaturan periode yang salah dapat menyebabkan perubahan posisi yang berlebihan meningkatkan biaya.

  2. Whipsaws terjadi ketika pasar berosilasi di atas rata-rata bergerak.

  3. Pertimbangkan periode yang lebih pendek atau strategi tambahan.

  4. Penempatan stop loss yang salah dapat menyebabkan kerugian besar ketika tren tiba-tiba berbalik.

  5. Tidak ada analisis fundamental yang dipertimbangkan.

Peningkatan

Beberapa cara untuk meningkatkan strategi:

  1. Tambahkan filter tambahan seperti volume atau momentum untuk menghindari whipsaws.

  2. Gunakan periode adaptasi yang menyesuaikan diri berdasarkan kondisi pasar.

  3. Tambahkan aturan ukuran posisi berdasarkan kekuatan tren untuk panduan.

  4. Mengimplementasikan modul stop loss seperti trailing stop atau time exit untuk membatasi kerugian.

  5. Pertimbangkan pembelajaran mesin untuk mencetak akurasi tren dan meningkatkan masuk / keluar logika.

  6. Sertakan faktor dasar seperti pendapatan, peristiwa untuk menghindari perdagangan terhadap tren yang lebih besar.

Kesimpulan

Singkatnya, strategi Dual Moving Average Trend Following menyediakan pendekatan sederhana dan praktis untuk identifikasi tren. Dengan menggabungkan perspektif jangka pendek dan jangka panjang, ia menghasilkan sinyal masuk yang sangat percaya diri yang cocok untuk sebagian besar pedagang tren. Risiko ada dan dapat dikurangi melalui optimasi, manajemen risiko dan kebijaksanaan. Secara keseluruhan, strategi Dual Moving Average tetap menjadi pendekatan yang kuat dan klasik untuk mengikuti tren.


/*backtest
start: 2022-10-01 00:00:00
end: 2023-10-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
// My Tradingview Scripts : https://bit.ly/2HKtr7k 
strategy("UniDir Strategy", overlay=true, initial_capital=50000, default_qty_value=50000, default_qty_type=strategy.cash, slippage=3, commission_type=strategy.commission.percent, commission_value=0.075, pyramiding=0)

p1=input(14)
p2=input(21)


Price = close
mid = (highest(high, p1)+lowest(low, p1)) / 2
mid_2 = (highest(high, p2)+lowest(low, p2)) / 2

//Trend
up = Price > mid ? 1 : 0
up_2 = Price > mid_2 ? 1 : 0
down = Price < mid ? 1 : 0
down_2 = Price < mid_2 ? 1 : 0
trend = sma(up, 2) == 1 ? 1 : sma(down, 2) == 1 ? -1 : nz(trend[1])
trend_2 = sma(up_2, 2) == 1 ? 1 : sma(down_2, 2) == 1 ? -1 : nz(trend_2[1])

dir1=trend==1 ? lime : red
dir2=trend_2==1 ? lime : red
dir_all=trend==1 and trend_2==1 ? lime : red

top_p=plot(1)
hi_p=plot(0.4)
mid_p=plot(0.2)
lo_p=plot(0)

fill(hi_p,mid_p,color=dir1,transp=80)
fill(lo_p,mid_p,color=dir2,transp=80)
fill(top_p,hi_p,color=dir_all,transp=0)

// Entry
long_cond = trend==1 and trend_2==1
short_cond = trend==-1 and trend_2==-1

if long_cond
    strategy.entry("Long",strategy.long)
if short_cond
    strategy.entry("Short",strategy.short)

Lebih banyak