
Strategi silang TEMA dua rata-rata adalah strategi perdagangan kuantitatif yang menghasilkan perdagangan berdasarkan isyarat silang TEMA tiga kali ganda dari dua kitaran yang berbeza. Strategi ini dilakukan dengan membandingkan kedudukan relatif dua garis TEMA, membuka lebih banyak kedudukan apabila garis TEMA pendek melintasi garis TEMA panjang, dan membuka kosong apabila garis TEMA pendek melintasi garis TEMA panjang.
TEMA adalah satu jenis penambahbaikan kepada EMA (indices moving average) yang dikira dengan melakukan EMA sekali lagi, mempunyai kurang keterlambatan berbanding EMA dan SMA (simple moving average) yang lebih dekat dengan pergerakan harga dan lebih sensitif terhadap trend jangka pendek.
Strategi menghasilkan isyarat dagangan dengan membandingkan hubungan kedudukan garis TEMA jangka pendek dan garis TEMA jangka panjang:
Dengan menggunakan isyarat persilangan dua garis TEMA yang berbeza dalam tempoh yang berbeza untuk membuka dan meletakkan kedudukan, trend harga jangka pendek dapat ditangkap dalam pasaran yang bergolak.
Strategi persilangan TEMA adalah strategi perdagangan kuantitatif yang mudah dan mudah digunakan untuk menangkap trend harga jangka pendek melalui sinyal persilangan TEMA dengan dua kitaran yang berbeza. Strategi ini logiknya jelas dan sesuai untuk digunakan di pasaran yang bergolak. Tetapi strategi ini juga mempunyai beberapa risiko, seperti perdagangan yang kerap, isyarat palsu dan risiko keadaan yang melampau.
/*backtest
start: 2023-05-28 00:00:00
end: 2024-06-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy('2 TEMA Cross Strategy', shorttitle='2 TEMA Cross Strat', overlay=true, initial_capital=25000, currency=currency.USD)
//My backtesting showed best results on a 5 min chart
//Create 2 TEMA Input and pre-populate
len1 = input.int(9, minval=1, title='Length 1')
len2 = input.int(26, minval=2, title='Length 2')
//Calculate Tema values for each Input
//Tema 1
ema1 = ta.ema(close, len1)
ema11 = ta.ema(ema1, len1)
ema111 = ta.ema(ema11, len1)
tema1 = 3 * (ema1 - ema11) + ema111
//Tema 2
ema2 = ta.ema(close, len2)
ema22 = ta.ema(ema2, len2)
ema222 = ta.ema(ema22, len2)
tema2 = 3 * (ema2 - ema22) + ema222
//Plot the MAs
plot(tema1, color=color.new(color.black, 20))
plot(tema2, color=color.new(color.maroon, 20))
// Define long/short conditions
long = ta.crossover(tema1, tema2) and tema1 > tema2
short = ta.crossunder(tema1, tema2) and tema1 < tema2
exitLong = ta.crossunder(tema1, tema2)
exitShort = ta.cross(tema1, tema2)
// Buys when buy condition met
strategy.entry('long', strategy.long, when=long)
strategy.close('long', when=exitLong)
// Closes position when sell condition met
strategy.entry('short', strategy.short, when=short)
strategy.close('short', when=exitShort)