Strategi Perdagangan Selisih Rata-rata Pergerakan Ganda


Tanggal Pembuatan: 2023-10-17 13:54:05 Akhirnya memodifikasi: 2023-10-17 13:54:05
menyalin: 0 Jumlah klik: 706
1
fokus pada
1617
Pengikut

Strategi Perdagangan Selisih Rata-rata Pergerakan Ganda

Ringkasan

Strategi ini menghasilkan sinyal perdagangan berdasarkan perbedaan rata-rata bergerak dari dua garis rata-rata. Ini menghitung dua garis rata-rata dengan siklus cepat dan lambat, menghasilkan sinyal beli ketika garis cepat menembus garis lambat dari bawah; menghasilkan sinyal jual ketika garis cepat turun dari atas dan menembus garis lambat.

Pengertian

Logika inti dari strategi ini adalah dengan menghitung dua rata-rata bergerak SMA ((len1) dan SMA ((len2)), dan perbedaan mereka. Di mana len1 mewakili periode rata-rata jangka pendek, dan len2 mewakili periode rata-rata jangka panjang. Rata-rata jangka pendek lebih responsif terhadap perubahan harga, sedangkan rata-rata jangka panjang lebih mencerminkan tren jangka panjang.

Ketika garis rata-rata jangka pendek dari bawah melewati garis rata-rata jangka panjang, berarti harga jangka pendek mulai naik melebihi tren jangka panjang, dan Anda dapat membeli; ketika garis rata-rata jangka panjang dari atas melewati garis rata-rata jangka panjang, berarti harga jangka pendek mulai turun di bawah tren jangka panjang, dan Anda dapat menjual.

Untuk memfilter kesalahan, strategi ini juga memperkenalkan out3 sebagai garis sinyal perdagangan. Out3 adalah hasil dari smoothing SMA perbedaan antara garis rata-rata jangka pendek dan nilai rata-rata harga.

Secara khusus, variabel long adalah positif ketika out3 melintasi dif ke atas, sebagai sinyal beli; variabel short adalah negatif ketika out3 melintasi dif ke bawah, sebagai sinyal jual.

Analisis Keunggulan

Ini adalah strategi yang sangat sederhana dan intuitif untuk melacak tren. Ini menggunakan siklus garis lurus ganda untuk menangkap titik-titik pergeseran tren yang berbeda yang menyebabkan persilangan garis lurus. Ini lebih dapat diandalkan daripada sistem garis lurus tunggal.

Berbeda dengan stop loss yang bergerak, ini menggunakan konsep pelacakan tren, yang dapat memaksimalkan keuntungan, tidak akan terhenti ketika tren lebih lama. Selain itu, ini juga dapat mengendalikan kerugian, dan menutup posisi tepat waktu ketika tren berbalik.

Strategi ini memiliki parameter yang lebih sedikit, mudah dipelajari dan disesuaikan, dan cocok untuk pemula yang belajar strategi entry trading algoritmik.

Risiko dan perbaikan

Risiko terbesar dari strategi ini adalah bahwa parameter periodik dari garis rata-rata ganda tidak tepat dan menyebabkan kesalahan sinyal perdagangan. Jika siklus garis rata-rata jangka pendek terlalu panjang, len1 akan kehilangan kesempatan untuk memulai fase tren; Jika terlalu pendek, kemungkinan sinyal palsu akan meningkat. Jika terlalu panjang, len2 akan menunda penyesuaian posisi; Jika terlalu pendek, mudah diganggu oleh guncangan pasar.

Kombinasi optimal dapat dicapai dengan menyesuaikan parameter len1 dan len2, atau dapat mencoba untuk memperkenalkan siklus penyesuaian dinamis untuk kesetaraan adaptif. Selain itu, dapat juga mengurangi sinyal palsu dengan mengoptimalkan parameter filter.

Strategi pelacakan tren juga perlu memperhatikan pengendalian ukuran kerugian tunggal, yang dapat diatur dengan stop loss atau memperkenalkan manajemen posisi untuk mengoptimalkan.

Meringkaskan

Strategi bi-equilibrium adalah salah satu representasi strategi pelacakan tren yang sangat khas. Sistem bi-equilibrium simplistiknya membawa sumber sinyal yang stabil, yang dikombinasikan dengan filter yang dapat secara efektif menghindari gangguan oleh guncangan pasar. Kinerja strategi yang lebih baik dapat diperoleh dengan mengoptimalkan parameter siklus equilibrium. Strategi ini sangat cocok untuk dipelajari sebagai strategi awal untuk perdagangan algoritmik.

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

//by afrazium
//@version=3
strategy(title="SMA Diff strat", shorttitle="SMAD STR", overlay=false, initial_capital=1, precision=8, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.1, calc_on_order_fills= false, calc_on_every_tick=false, pyramiding=0)
len1 = input(50, minval=1, title="Length1"), len2 = input(100, minval=1, title="Length2"), smo = input(1, minval=1, title="Smoothing")
src = input(ohlc4, title="Source")

mid = src
expr1 = sma(src, len1), expr2 = sma(src, len2)
dif = (expr1 - expr2), out1 = (mid - expr1), out2 = (mid - expr2), out3 = sma(out1, smo)

long = crossover(out3, dif) ? out3 : na, short = crossunder(out3, dif) ? out3 : na

plot(out3, color=black, linewidth=2), hline(0)
clr = out2 >= out1 ? lime : red, plot(dif, color=clr, linewidth=2)
plot(long, title = 'Crossover', color = green, style = circles, linewidth=4), plot(short, title = 'Crossunder', color = red, style = circles, linewidth=4)

strategy.entry("buy", strategy.long, when=crossover(out1, dif))
strategy.close("buy", when=crossunder(out1, dif))

//plot(out2, color=blue, linewidth=2)
//A = plot(mid/10, color=red, linewidth=1, transp=100), B = plot(mid/20, color=red, linewidth=1, transp=100)
//C = plot(-mid/10, color=green, linewidth=1, transp=100), D = plot(-mid/20, color=green, linewidth=1, transp=100)
//fill(A, B, color=red), fill(C, D, color=green)