
Strategi Triple Equilibrium Cross Momentum adalah strategi penunjuk teknikal yang tipikal untuk mengesan trend pasaran. Ia menggabungkan tiga purata bergerak sederhana dari 16 kitaran, 36 kitaran dan 72 kitaran untuk menilai trend pasaran melalui silang berbilang dan silang kosong mereka, dan menggabungkan Kaufman Adaptive Moving Average sebagai penapis untuk melakukan lebih banyak atau kosong apabila arah trend lebih jelas.
Indikator utama strategi ini adalah tiga purata bergerak sederhana dengan 16 kitaran, 36 kitaran, dan 72 kitaran. Apabila rata-rata kitaran pendek melintasi rata-rata kitaran yang lebih panjang, ia menunjukkan bahawa pasaran memasuki tren multi-kepala; apabila rata-rata kitaran pendek melintasi rata-rata kitaran yang lebih panjang, ia menunjukkan bahawa pasaran memasuki tren kosong.
Kaufman Adaptive Moving Average (KAMA) digunakan sebagai penapis untuk mengelakkan isyarat salah apabila trend tidak jelas. Isyarat persilangan linear hanya akan diaktifkan apabila KAMA berada dalam mod tidak dipercepatkan atau tidak melambatkan (iaitu segmen linear).
Strategi dengan mengesan persimpangan garisan rata-rata, apabila trend lebih jelas, mengambil tindakan untuk melakukan lebih banyak atau melakukan pengurangan. Keadaan yang lebih banyak adalah melalui 16 garisan rata-rata 36 garisan rata-rata dan 72 garisan rata-rata, dan KAMA linear ((tidak dipercepatkan); syarat yang dilakukan adalah melalui 16 garisan rata-rata 36 garisan rata-rata dan 72 garisan rata-rata di bawah, dan KAMA linear ((tidak dipercepatkan)
Strategi ini mempunyai kelebihan berikut:
Strategi ini mempunyai beberapa risiko:
Anda boleh mengurangkan risiko dengan menyesuaikan parameter garis rata-rata, menetapkan sekatan stop-loss, atau menggunakan strategi ini hanya di pasaran yang lebih bergolak.
Strategi ini boleh dioptimumkan dengan:
Strategi pergerakan tiga garis rata-rata secara keseluruhan adalah strategi yang lebih klasik dan praktikal untuk mengikuti trend. Ia menilai pergerakan garis panjang di pasaran melalui persilangan garis rata-rata dalam beberapa tempoh masa, dan menapis sebahagian bunyi secara berkesan. Ia boleh digunakan sebagai salah satu petunjuk rujukan untuk perdagangan semasa.
/*backtest
start: 2023-11-24 00:00:00
end: 2023-12-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Wielkieef
//@version=5
strategy(title='Three SMA-crossover strategy [30min] ', overlay=true, pyramiding=1, initial_capital=10000, default_qty_type=strategy.cash, default_qty_value=10000, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.03)
src = close
Length1 = input.int(16, title=' 1-SMA Lenght', minval=1, group='SMA')
Length2 = input.int(36, title=' 2-SMA Lenght', minval=1, group='SMA')
Length3 = input.int(72, title=' 3-SMA Lenght', minval=1, group='SMA')
SMA1 = ta.sma(close, Length1)
SMA2 = ta.sma(close, Length2)
SMA3 = ta.sma(close, Length3)
Long_ma = SMA1 > SMA2 and SMA2 > SMA3
Short_ma = SMA1 < SMA2 and SMA2 < SMA3
LengthMainSMA = input.int(100, title=' Trend SMA ', minval=1)
SMAas = ta.sma(src, LengthMainSMA)
// Powered Kaufman Adaptive Moving Average by alexgrover (modificated by Wielkieef)
lengthas = input.int(50, title=' KAMA Lenght')
sp = input.bool(true, title=' Self Powered')
er = math.abs(ta.change(close, lengthas)) / math.sum(math.abs(ta.change(close)), lengthas)
pow = sp ? 1 / er : 2
per = math.pow(math.abs(ta.change(close, lengthas)) / math.sum(math.abs(ta.change(close)), lengthas), pow)
a = 0.
a := per * src + (1 - per) * nz(a[1], src)
mad4h = 0.
a_f = a / a[1] > .999 and a / a[1] < 1.001
///.
Bar_color = close > SMAas ? color.green : Long_ma ? color.blue : Short_ma ? color.maroon : color.gray
barcolor(color=Bar_color)
long_cond = Long_ma and SMAas < close and not a_f and close > a
short_cond = Short_ma and SMAas > close and not a_f and close < a
long_stop = Short_ma and SMAas < close
short_stop = Long_ma and SMAas > close
SMA1plot = plot(SMA1, color=Bar_color, linewidth=2)
SMA2plot = plot(SMA2, color=Bar_color, linewidth=4)
SMA3plot = plot(SMA3, color=Bar_color, linewidth=2)
fill(SMA1plot,SMA3plot,title="RANGE " ,color = color.new(Bar_color, 50))
if long_cond
strategy.entry('Long', strategy.long)
if short_cond
strategy.entry('Short', strategy.short)
strategy.close_all(when=long_stop or short_stop)
//by wielkieef