
Strategi ini didasarkan pada pergerakan rata-rata untuk menghasilkan sinyal perdagangan. Dalam hal ini, pergerakan rata-rata diperhitungkan dengan faktor persentase dari rata-rata bergerak. Jika titik tinggi di periode sebelumnya menembus jalur, sinyal jual dihasilkan; Jika titik rendah di periode sebelumnya turun, sinyal beli dihasilkan.
Strategi ini menggunakan displaced exponential moving average (EMA) sebagai indikator inti, dan setelah periode tertentu, diperluas dengan faktor persentase untuk membentuk tren naik dan turun. Ini membentuk sistem garis besar pergerakan rata-rata bergerak yang lengkap. Secara khusus, sistem garis besar terdiri dari:
Di mana Percent above dan Percent below masing-masing mengontrol persentase interval dari atas ke bawah rel terhadap rata-rata bergerak indeks inti. Parameter Displacement digunakan untuk mengontrol periodik perpindahan antara atas ke bawah rel dan rata-rata bergerak indeks inti.
Dengan cara ini, kita dapat membentuk zona perdagangan yang sesuai dengan menyesuaikan parameter di atas. Jika harga menembus zona, sinyal perdagangan akan dihasilkan. Secara khusus:
Perlu dicatat bahwa strategi ini juga menyediakan parameter reverse, yang jika disetel ke true, arah sinyal akan berlawanan dengan yang disebutkan di atas.
Strategi ini memiliki beberapa keuntungan utama:
Strategi ini juga memiliki beberapa risiko, yang meliputi:
Untuk mencegah risiko ini, kita dapat mengoptimalkan beberapa hal:
Strategi ini masih memiliki ruang untuk pengoptimalan yang lebih besar, terutama dari beberapa aspek berikut:
Dengan optimasi ini, stabilitas, adaptasi, dan efektivitas strategi dapat ditingkatkan lebih lanjut.
Moving average strategi menggunakan sederhana indeks Moving Average sistem dan parameterisasi interval, membentuk aturan perdagangan yang jelas, mudah untuk interpretasi dan implementasi, merupakan salah satu yang lebih khas strategi trend tracking. Dengan penyesuaian parameter dan optimasi, strategi ini dapat menghasilkan efek yang lebih baik.
/*backtest
start: 2024-01-25 00:00:00
end: 2024-02-01 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 14/08/2020
// Moving Average Displaced Envelope. These envelopes are calculated
// by multiplying percentage factors with their displaced expotential
// moving average (EMA) core.
// How To Trade Using:
// Adjust the envelopes percentage factors to control the quantity and
// quality of the signals. If a previous high goes above the envelope
// a sell signal is generated. Conversely, if the previous low goes below
// the envelope a buy signal is given.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Moving Average Displaced Envelope Backtest", shorttitle="MA DE", overlay = true)
Price = input(title="Source", type=input.source, defval=close)
Period =input(defval=9, minval=1)
perAb = input(title = "Percent above", defval=.5, minval=0.01, step = 0.1)
perBl = input(title = "Percent below", defval=.5, minval=0.01, step = 0.1)
disp = input(title = "Displacement", defval=13, minval=1)
reverse = input(false, title="Trade reverse")
pos = 0
sEMA = ema(Price, Period)
top = sEMA[disp] * ((100 + perAb)/100)
bott = sEMA[disp]* ((100 - perBl)/100)
pos := iff(close < bott , 1,
iff(close > top, -1, pos[1]))
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)
if (possig == 0)
strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )