
Strategi ini menghasilkan isyarat dagangan berdasarkan indikator garis pergerakan pergerakan rata-rata. Di antaranya, garis pergerakan diperhitungkan dengan faktor peratusan daripada rata-rata bergerak. Jika tahap tinggi terdahulu pecah, ia menghasilkan isyarat jual; Jika tahap rendah terdahulu jatuh, ia menghasilkan isyarat beli.
Strategi ini menggunakan displaced exponential moving average (EMA) sebagai penunjuk teras, dan selepas satu kitaran tertentu, ia berkembang ke atas dan ke bawah dengan faktor peratusan. Ini membentuk sistem rangkaian pautan bergerak rata-rata yang lengkap. Secara khusus, sistem rangkaian pautan terdiri daripada:
Di mana Peratusan di atas dan Peratusan di bawah masing-masing mengawal bahagian peratusan purata bergerak indeks teras atas dan bawah. Parameter Displacement digunakan untuk mengawal perpindahan berkala antara garis atas dan bawah dan purata bergerak indeks teras.
Dengan cara ini, kita dapat membentuk kawasan perdagangan yang sesuai dengan menyesuaikan parameter di atas. Jika harga menembusi kawasan, isyarat perdagangan akan dihasilkan. Secara khusus:
Perlu diperhatikan bahawa strategi ini juga menyediakan parameter terbalik, jika ditetapkan kepada true, arah isyarat bertentangan dengan yang disebutkan di atas.
Strategi ini mempunyai kelebihan utama:
Strategi ini juga mempunyai beberapa risiko, terutamanya:
Untuk mengelakkan risiko ini, kita boleh mengoptimumkan beberapa aspek:
Strategi ini masih mempunyai ruang yang besar untuk pengoptimuman, terutamanya dari segi berikut:
Dengan pengoptimuman ini, kita dapat meningkatkan lagi kestabilan, kesesuaian dan keberkesanan strategi.
Strategi bergerak rata-rata bergerak menggunakan sistem purata bergerak indeks yang mudah dan parameter, membentuk peraturan perdagangan yang jelas, mudah ditafsirkan dan dilaksanakan, merupakan strategi pengesanan trend yang lebih tipikal. Dengan menyesuaikan dan mengoptimumkan parameter, strategi ini dapat menghasilkan kesan yang lebih baik. Tetapi juga perlu mempertimbangkan sepenuhnya kesan persekitaran pasaran, dan mencegah risiko yang berpotensi. Strategi ini adalah template asas, dan masih ada ruang untuk pengembangan dan pengoptimuman yang besar.
/*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 )