
Strategi ini menggunakan rata-rata bergerak yang licin dengan tiga parameter yang berbeza untuk menilai dan mengesan trend harga. Apabila rata-rata bergerak jangka pendek melintasi garis pertengahan, lebih banyak di tengah-tengah garis melintasi garis panjang; apabila rata-rata bergerak jangka pendek melintasi garis pertengahan di bawah, kosong di bawah garis pertengahan melintasi garis panjang.
Hitung tiga purata bergerak yang licin: panjang panjang 13 kitaran, 8 kitaran; panjang pertengahan 8 kitaran, 5 kitaran; panjang pendek 5 kitaran, 3 kitaran. Semua menggunakan nilai purata harga penutupan.
Bandingkan hubungan saiz tiga baris: apabila garis pendek melalui garis pertengahan, lakukan lebih banyak apabila garis pertengahan melalui garis panjang; apabila garis pendek melalui garis pertengahan, lakukan kosong apabila garis pertengahan melalui garis panjang.
Anda boleh memilih untuk berdagang sebaliknya.
Peta menunjukkan tiga purata bergerak.
Dengan menggunakan tiga purata bergerak, trend dapat dinilai secara berlapis, meningkatkan kebolehpercayaan isyarat.
Kombinasi garis berkala yang berbeza mempertimbangkan pergerakan jangka pendek dan trend jangka panjang.
Menggunakan purata bergerak untuk mengira nilai purata penutupan untuk mengurangkan penembusan palsu.
Pengaturan perpindahan tali untuk membezakan kekuatan penembusan, mengelakkan Whipsaws.
Anda boleh memilih untuk berdagang secara terbalik untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.
Penggunaan pelbagai kombinasi purata bergerak memerlukan pengoptimuman parameter, dan penyesuaian yang tidak betul boleh mengurangkan kualiti isyarat.
Penembusan garis tengah pada garis pendek tidak semestinya menunjukkan perubahan trend, perlu diperiksa lebih lanjut.
Isyarat silang tiga baris mungkin terlewat, perlu digabungkan dengan petunjuk lain untuk menentukan masa masuk.
Apabila berdagang terbalik, anda perlu berhati-hati dengan kedudukan stop loss untuk mengurangkan risiko.
Mengoptimumkan panjang dan parameter perpindahan purata bergerak untuk menjadikannya lebih sesuai dengan keadaan kitaran yang berbeza.
Menambah penapis untuk petunjuk lain, seperti tanda tenaga jumlah transaksi, meningkatkan kebolehpercayaan isyarat.
Mengoptimumkan strategi hentian kerugian, menetapkan kedudukan hentian kerugian yang munasabah.
Penghakiman tambahan digabungkan dengan garisan trend dan sokongan rintangan.
Strategi ini menggunakan tiga kombinasi purata bergerak dengan panjang dan perpindahan yang berbeza, untuk menilai perubahan trend. Menggunakan pelbagai purata bergerak dapat meningkatkan kualiti isyarat, kombinasi garis masa yang berbeza dengan ciri jangka pendek dan jangka panjang. Pengoptimuman parameter, penapisan indikator, dan strategi hentikan kerugian dapat meningkatkan lagi kestabilan strategi dan keberkesanan di lapangan.
/*backtest
start: 2023-09-29 00:00:00
end: 2023-10-29 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 01/02/2017
// This indicator calculates 3 Moving Averages for default values of
// 13, 8 and 5 days, with displacement 8, 5 and 3 days: Median Price (High+Low/2).
// The most popular method of interpreting a moving average is to compare
// the relationship between a moving average of the security's price with
// the security's price itself (or between several moving averages).
////////////////////////////////////////////////////////////
strategy(title="Bill Williams Averages. 3Lines", shorttitle="3 Lines", overlay = true)
LLength = input(13, minval=1)
MLength = input(8,minval=1)
SLength = input(5,minval=1)
LOffset = input(8,minval=1)
MOffset = input(5,minval=1)
SOffset = input(3,minval=1)
reverse = input(false, title="Trade reverse")
xLSma = sma(hl2, LLength)[LOffset]
xMSma = sma(hl2, MLength)[MOffset]
xSSma = sma(hl2, SLength)[SOffset]
pos = iff(close < xSSma and xSSma < xMSma and xMSma < xLSma, -1,
iff(close > xSSma and xSSma > xMSma and xMSma > xLSma, 1, nz(pos[1], 0)))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(xLSma, color=blue, title="MA")
plot(xMSma, color=red, title="EMA")
plot(xSSma, color=green, title="EMA")