Strategi Pelacakan Rata-rata Pergerakan Dinamis


Tanggal Pembuatan: 2023-12-04 15:38:09 Akhirnya memodifikasi: 2023-12-04 15:38:09
menyalin: 5 Jumlah klik: 699
1
fokus pada
1619
Pengikut

Strategi Pelacakan Rata-rata Pergerakan Dinamis

Ringkasan

Strategi ini menggunakan strategi yang dijelaskan oleh Larry Williams dalam bukunya yang berjudul Secret Short Term Trading, yang menggunakan dua 3 periode moving averages, satu untuk high dan satu untuk low. Kita memiliki sinyal posisi long ketika harga berada di bawah 3 periode low moving average.

Prinsip Strategi

Logika inti dari strategi ini adalah menghitung moving average 3 periode dari titik tinggi dan rendah. Secara khusus, ia menggunakan fungsi ta.ema untuk menghitung moving average indeks dari titik tinggi dan rendah 3 bar terakhir untuk menghasilkan titik dukungan dan resistensi yang dinamis. Ketika harga turun di bawah titik rata-rata, menunjukkan bahwa saat ini berada di posisi turun, sehingga kita bisa melakukan lebih banyak; ketika harga kembali naik ke atas titik rata-rata, menunjukkan bahwa tren naik berakhir, kita harus melonggarkan posisi. Dengan cara ini, strategi dapat secara dinamis melacak perubahan harga dan mencapai harga jual beli rendah.

Analisis Keunggulan

Keuntungan terbesar dari strategi ini adalah kesederhanaan dan dinamika. Dibandingkan dengan rata-rata titik tinggi dan rendah dalam siklus tertentu, strategi ini menggunakan rata-rata bergerak jangka pendek yang dihitung secara berturut-turut, yang lebih sensitif dan tepat waktu menangkap perubahan harga. Ini memungkinkan untuk mengidentifikasi titik jual beli dengan cepat sehingga masuk dan keluar dari pasar. Selain itu, perhitungan kecil adalah keuntungan lain yang membantu mengurangi keterlambatan transaksi.

Risiko dan Solusi

Risiko utama dari strategi ini adalah bahwa ia bereaksi lambat terhadap kejadian-kejadian mendadak seperti berita besar. Karena siklus rata-rata bergerak yang pendek, ia membutuhkan waktu untuk menyesuaikan posisi rata-rata ketika terjadi fluktuasi harga yang drastis. Ini dapat menyebabkan kerugian atau kehilangan peluang. Selain itu, terlalu sensitif juga dapat menyebabkan perdagangan yang salah. Untuk mengurangi risiko ini, kita dapat memperpanjang jumlah siklus rata-rata bergerak dengan tepat, atau menambahkan kondisi penyaringan untuk menghindari sinyal yang salah.

Arah optimasi

Strategi ini masih memiliki banyak ruang untuk pengoptimalan. Pertama, kita dapat menggabungkan indikator lain seperti indikator getaran untuk memfilter agar sinyal lebih dapat diandalkan. Kedua, kita juga dapat menambahkan logika stop loss untuk mengendalikan risiko.

Meringkaskan

Strategi ini secara keseluruhan sangat sederhana dan praktis, untuk menilai tren melalui rata-rata jangka pendek dengan titik tinggi dan rendah. Kelebihannya adalah dinamis, perhitungan kecil, real-time tinggi, cocok untuk perdagangan sering. Tetapi ada juga masalah dengan insensitivitas terhadap reaksi insiden dan tingkat kesalahan sinyal yang tinggi.

Kode Sumber Strategi
/*backtest
start: 2023-11-26 00:00:00
end: 2023-12-03 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(
     "Larry Williams 3 Period EMAs strategy",
     overlay=true,
     calc_on_every_tick=true,
     currency=currency.USD
     )

// Time range for backtesting
startDate = input.int(title="Start Date", defval=1, minval=1, maxval=31)
startMonth = input.int(title="Start Month", defval=1, minval=1, maxval=12)
startYear = input.int(title="Start Year", defval=2018, minval=1800, maxval=2100)

endDate = input.int(title="End Date", defval=31, minval=1, maxval=31)
endMonth = input.int(title="End Month", defval=12, minval=1, maxval=12)
endYear = input.int(title="End Year", defval=2041, minval=1800, maxval=2100)

inDateRange = (time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0)) and
     (time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0))

// EMA
period = 3

emaH = ta.ema(high, period)
emaL = ta.ema(low, period)

// PLOT:
// Draw the EMA lines on the chart
plot(series=emaH, color=color.green, linewidth=2)
plot(series=emaL, color=color.red, linewidth=2)

// Conditions
if(inDateRange and close < emaL)
    strategy.entry("Long", strategy.long, comment="Long")
if(close > emaH)
    strategy.close("Long", comment="Close Long")

// Uncomment to enable short entries
//if(inDateRange and close > emaH)                                    
//    strategy.entry("Short", strategy.short, comment="Short")    
//if(close < emaL)
//    strategy.close("Short", comment="Close Short")