Strategi ini menggunakan crossover dari moving averages dari beberapa frame waktu untuk menilai sinyal perdagangan. Strategi ini dapat melihat moving averages dari frame waktu yang lebih lama pada frame waktu saat ini untuk menemukan arah tren yang lebih besar. Strategi ini termasuk dalam strategi pelacakan tren dari frame waktu yang berbeda.
Strategi ini menggunakan dua rata-rata bergerak, yang dihitung pada periode saat ini dan periode yang lebih tinggi.
Misalnya, menghitung garis 20 dan 50 pada grafik 15 menit:
Ketika 15 menit di atas garis 20 hari melintasi garis 50 hari, lakukan lebih banyak; ketika 15 menit di bawah garis 20 hari melintasi garis 50 hari, kosongkan.
Ini memungkinkan untuk mengamati tren siklus yang lebih panjang pada siklus saat ini. Strategi ini juga memungkinkan untuk menyesuaikan panjang siklus rata-rata bergerak.
Tanda titik dapat juga ditampilkan untuk mengingatkan transaksi.
Langkah-langkah berikut dapat mengurangi risiko:
Menyimpan rata-rata periode yang lebih tinggi dan lebih panjang untuk memastikan penilaian tren utama yang benar
Menambahkan sinyal penyaringan lebih lanjut dari indikator teknis lainnya
Optimalkan parameter siklus rata-rata ke kombinasi optimal
Persyaratan masuk yang lebih longgar, seperti menambahkan bentuk K-line
Strategi ini dapat ditingkatkan dalam beberapa hal:
Kombinasi siklus yang berbeda akan memiliki kombinasi yang paling cocok untuk varietas yang berbeda
Misalnya, memeriksa MACD saat berselisih
Anda dapat memutuskan apakah Anda akan keluar berdasarkan bukti tambahan di PostForm 123.
Siklus pendek menggunakan kondisi penyaringan yang lebih ketat, siklus panjang menggunakan kondisi yang lebih longgar
Perbedaan karakteristik pasar dari periode waktu yang berbeda, dapat melakukan optimasi parameter
Strategi ini menilai arah tren dengan melihat persimpangan garis rata-rata beberapa kerangka waktu untuk menemukan tren tingkat yang lebih besar. Ini dapat secara efektif menghilangkan kebisingan jangka pendek, Focus123123 lebih besar dari irama. Tetapi ada juga kesulitan pengaturan siklus, keterlambatan penilaian tren, dll.
/*backtest
start: 2022-09-14 00:00:00
end: 2023-09-20 00:00:00
period: 7d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
//Run script on a long interval gives better result for e.g. 1 Day
//Plots The Majority of Moving Averages
//Defaults to Current Chart Time Frame --- But Can Be Changed to Higher Or Lower Time Frames
//2nd MA Capability with Show Crosses Feature
//study(title="CM_Ultimate_MA_MTF", shorttitle="CM_Ultimate_MA_MTF", overlay=true)
strategy("Stratergy CM_Ultimate_MA_MTF", shorttitle = "Stratergy CM_Ultimate_MA_MTF", overlay = true)
//,default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)
//inputs
src = close
useCurrentRes = input(true, title="Use Current Chart Resolution?")
resCustom = input(title="Use Different Timeframe? Uncheck Box Above", defval="D")
len = input(20, title="Moving Average Length - LookBack Period")
atype = input(1,minval=1,maxval=7,title="1=SMA, 2=EMA, 3=WMA, 4=HullMA, 5=VWMA, 6=RMA, 7=TEMA")
cc = input(true,title="Change Color Based On Direction?")
smoothe = input(2, minval=1, maxval=10, title="Color Smoothing - 1 = No Smoothing")
doma2 = input(false, title="Optional 2nd Moving Average")
len2 = input(50, title="Moving Average Length - Optional 2nd MA")
atype2 = input(1,minval=1,maxval=7,title="1=SMA, 2=EMA, 3=WMA, 4=HullMA, 5=VWMA, 6=RMA, 7=TEMA")
cc2 = input(true,title="Change Color Based On Direction 2nd MA?")
warn = input(false, title="***You Can Turn On The Show Dots Parameter Below Without Plotting 2nd MA to See Crosses***")
warn2 = input(false, title="***If Using Cross Feature W/O Plotting 2ndMA - Make Sure 2ndMA Parameters are Set Correctly***")
sd = input(false, title="Show Dots on Cross of Both MA's")
res = useCurrentRes ? timeframe.period : resCustom
//hull ma definition
hullma = wma(2*wma(src, len/2)-wma(src, len), round(sqrt(len)))
//TEMA definition
ema1 = ema(src, len)
ema2 = ema(ema1, len)
ema3 = ema(ema2, len)
tema = 3 * (ema1 - ema2) + ema3
avg = atype == 1 ? sma(src,len) : atype == 2 ? ema(src,len) : atype == 3 ? wma(src,len) : atype == 4 ? hullma : atype == 5 ? vwma(src, len) : atype == 6 ? rma(src,len) : tema
//2nd Ma - hull ma definition
hullma2 = wma(2*wma(src, len2/2)-wma(src, len2), round(sqrt(len2)))
//2nd MA TEMA definition
sema1 = ema(src, len2)
sema2 = ema(sema1, len2)
sema3 = ema(sema2, len2)
stema = 3 * (sema1 - sema2) + sema3
avg2 = atype2 == 1 ? sma(src,len2) : atype2 == 2 ? ema(src,len2) : atype2 == 3 ? wma(src,len2) : atype2 == 4 ? hullma2 : atype2 == 5 ? vwma(src, len2) : atype2 == 6 ? rma(src,len2) : tema
out = avg
out_two = avg2
out1 = security(syminfo.tickerid, res, out)
out2 = security(syminfo.tickerid, res, out_two)
ma_up = out1 >= out1[smoothe]
ma_down = out1 < out1[smoothe]
col = cc ? ma_up ? lime : ma_down ? red : aqua : aqua
col2 = cc2 ? ma_up ? lime : ma_down ? red : aqua : aqua
circleYPosition = out2
chk=col==red?1:0
if (not na(chk))
if (chk[1]==1 and chk==0)
strategy.entry("RsiLE", strategy.long, comment="RsiLE")
else
strategy.exit("RsiLE")
if (chk[1]==0 and chk==1)
strategy.entry("RsiSE", strategy.short, comment="RsiLE")
else
strategy.exit("RsiSE")
plot(out1, title="Multi-Timeframe Moving Avg", style=line, linewidth=4, color = col)
plot(doma2 and out2 ? out2 : na, title="2nd Multi-TimeFrame Moving Average", style=circles, linewidth=4, color=col2)
plot(sd and cross(out1, out2) ? circleYPosition : na,style=cross, linewidth=5, color=yellow)