
Strategi Triple Equilibrium Moving Average adalah strategi indikator teknis yang khas untuk melacak tren pasar. Strategi ini menggabungkan tiga rata-rata bergerak sederhana dari 16 siklus, 36 siklus, dan 72 siklus untuk menilai tren pasar melalui multi-kepalanya dan kerucut kosong, dan menggabungkan Kaufman Adaptive Moving Average sebagai filter untuk melakukan lebih banyak atau melakukan lebih banyak ketika arah tren lebih jelas.
Indikator inti dari strategi ini adalah tiga garis rata-rata bergerak sederhana dengan 16 periode, 36 periode, dan 72 periode. Ketika rata-rata periode pendek melewati rata-rata periode yang lebih panjang, pasar masuk ke tren multihead; Ketika rata-rata periode pendek melewati rata-rata periode yang lebih panjang, pasar masuk ke tren kosong. Misalnya, ketika 16 rata-rata melewati 36 rata-rata dan 72 rata-rata, sinyal multihead; Ketika 16 rata-rata melewati 36 rata-rata dan 72 rata-rata, sinyal kosong.
Kaufmann Adaptive Moving Average (KAMA) digunakan sebagai filter untuk menghindari kesalahan sinyal dalam situasi yang tidak jelas. Hanya jika KAMA berada dalam mode non-akselerasi atau non-pengurangan kecepatan (yaitu, segmen linier), sinyal persilangan linier akan diaktifkan untuk dilakukan.
Strategi dengan melacak persimpangan garis rata-rata, ketika tren lebih jelas, melakukan operasi plus atau minus. Kondisi plus adalah 16 melewati 36 dan 72 pada garis rata-rata, dan KAMA linear ((tidak dipercepat); kondisi minus adalah 16 melewati 36 dan 72 di bawah garis rata-rata, dan KAMA linear ((tidak dipercepat)).
Strategi ini memiliki keuntungan sebagai berikut:
Strategi ini juga memiliki beberapa risiko:
Anda dapat mengurangi risiko dengan menyesuaikan parameter rata-rata, mengatur pengekangan stop loss, atau menggunakan strategi ini hanya di pasar yang lebih berfluktuasi.
Strategi ini dapat dioptimalkan dengan cara:
Triple crossover adalah strategi yang lebih klasik dan praktis untuk mengikuti tren secara keseluruhan. Strategi ini menilai pergerakan garis tengah pasar melalui persimpangan garis rata-rata dalam beberapa periode waktu, dan secara efektif menyaring sebagian dari kebisingan. Strategi ini dapat digunakan sebagai salah satu indikator acuan untuk perdagangan saat ini.
/*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