Triple Exponential Moving Average Long Only Strategy adalah strategi trend mengikut jangka panjang berdasarkan penunjuk Triple Exponential Moving Average (TEMA). Ia menggunakan TEMA untuk menapis bunyi bising pasaran jangka pendek dan mengenal pasti arah trend jangka menengah hingga panjang. Strategi ini berjalan lama apabila harga melintasi di atas TEMA dan keluar apabila harga jatuh di bawah TEMA. Ia sesuai untuk pelabur yang berminat dalam perdagangan trend jangka menengah hingga panjang.
Strategi ini mengenal pasti trend jangka menengah hingga panjang menggunakan penunjuk TEMA. TEMA adalah penunjuk trend yang dilencangkan yang berasal dari pelinciran eksponensial tiga kali ganda EMA standard. EMA itu sendiri mempunyai beberapa kesan penapisan bunyi bising. TEMA mengurangkan lagi bunyi bising jangka pendek dengan melencangkan tiga EMA dari tempoh yang berbeza.
Secara khusus, strategi ini mula-mula mengira EMA (ema1) tempoh fastEmaPeriod, kemudian mengira EMA (ema2) lain ema1 menggunakan tempoh yang sama, dan akhirnya mengira ema3 berdasarkan ema2. TEMA akhir dikira sebagai: TEMA = 3 * (ema1 - ema2) + ema3. Strategi ini pergi panjang apabila harga melintasi di atas TEMA dan keluar apabila harga jatuh di bawah TEMA.
Melalui penghalusan eksponensial berganda, TEMA dapat mengenal pasti arah trend jangka menengah hingga panjang walaupun zigzag dan pembalikan, menapis bunyi bising jangka pendek.
TEMA secara berkesan mengenal pasti trend jangka menengah hingga panjang dan menapis bunyi bising jangka pendek, mengelakkan whipsaws.
Hanya kedudukan panjang mengelakkan risiko penurunan yang tidak terhad.
Peratusan saiz kedudukan dengan fleksibel saiz kedudukan berdasarkan saiz akaun untuk kawalan risiko.
Ujian balik tetingkap masa mengoptimumkan parameter pada tempoh sejarah tertentu.
Kejadian black swan yang teruk boleh menyebabkan pembalikan tajam semasa tempoh penahan yang panjang, yang membawa kepada kerugian besar.
TEMA mungkin gagal menandakan perubahan trend untuk menghentikan kerugian tepat pada masanya.
Ukuran peratusan tidak mengehadkan saiz kerugian setiap perdagangan, yang memerlukan berhenti.
Ujian belakang berisiko terlalu sesuai, parameter yang dioptimumkan mungkin tidak sesuai dengan pasaran masa depan.
Tambah metrik turun naik untuk mengukuhkan parameter.
Melaksanakan stop loss untuk mengawal saiz kerugian perdagangan tunggal.
Mengoptimumkan saiz kedudukan untuk saiz yang lebih kecil semasa penarikan.
Tambah penunjuk Trend lintas jangka masa untuk meningkatkan ketepatan trend.
Uji parameter tempoh tahan yang berbeza untuk optimum.
Ringkasnya, Triple EMA Long Only Strategy mengenal pasti arah trend melalui penunjuk TEMA, memegang kedudukan jangka panjang untuk mengelakkan bunyi bising jangka pendek, tinggal hanya lama untuk mengelakkan penurunan yang tidak terhad, dan berkesan menangkap trend jangka menengah hingga panjang.
/*backtest start: 2022-11-08 00:00:00 end: 2023-11-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("TEMA_System_long_only", overlay=true) //Collect inputs parameters fastEmaPeriod = input(7, minval=1, title="Fast TEMA Period") // === INPUT BACKTEST RANGE === FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) FromDay = input(defval = 4, title = "From Day", minval = 1, maxval = 31) FromYear = input(defval = 2010, title = "From Year", minval = 2000) ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12) ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31) ToYear = input(defval = 9999, title = "To Year", minval = 2000) // === FUNCTION EXAMPLE === start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window window() => true // create function "within window of time" fastEma = ema(close, fastEmaPeriod) //convert EMA into TEMA ema1 = ema(close, fastEmaPeriod) ema2 = ema(ema1, fastEmaPeriod) ema3 = ema(ema2, fastEmaPeriod) fastTEMA = 3 * (ema1 - ema2) + ema3 buy = close > fastTEMA sell = close < fastTEMA plot(fastTEMA, title = 'TEMA', linewidth=3, color=white) if window() strategy.entry("long",strategy.long, when = buy) strategy.close("long", when = sell )