
Strategi ini didasarkan pada indikator garis rata dinamis, untuk melacak tren harga secara real-time, untuk mengirim sinyal perdagangan melalui penembusan garis rata. Keuntungan dari strategi ini adalah pengaturan parameter yang sederhana, penilaian sinyal yang jelas, cocok untuk memegang posisi garis panjang dan menengah.
Strategi ini menggunakan indikator garis rata yang dinamis, termasuk berbagai jenis garis rata seperti ALMA, EMA, SMA, dan lain-lain. Prinsip dasarnya adalah, ketika harga melewati garis rata di atas, lakukan over; ketika harga melewati garis rata di bawah, lakukan short. Dengan garis rata sebagai indikator tren harga, sinyal perdagangan dapat dikeluarkan ketika terjadi perubahan arah.
Secara khusus, strategi ini menggunakan garis rata-rata yang terbentuk dari titik tinggi dan rendah, kemudian menggunakan garis rata-rata titik rendah sebagai garis sinyal multiply, dan garis rata-rata titik tinggi sebagai garis sinyal shorting. Bila harga tutup lebih tinggi dari garis rata-rata titik rendah, lakukan lebih banyak; Bila harga tutup lebih rendah dari garis rata-rata titik tinggi, lakukan shorting.
Dengan demikian, menggunakan indikator rata-rata untuk menentukan tren harga, kemudian menggabungkan prinsip terobosan untuk mengirimkan sinyal, membentuk strategi pelacakan tren yang sederhana dan praktis.
Strategi ini menggunakan indikator rata-rata untuk menentukan arah tren harga, berdasarkan teori terobosan untuk mengirimkan sinyal perdagangan. Keuntungan dari strategi ini adalah mudah digunakan, cocok untuk memegang posisi menengah dan panjang, dapat disesuaikan dengan perubahan pasar melalui parameter. Perlu diperhatikan untuk mencegah risiko yang ditimbulkan oleh gejolak jangka pendek dan kepemilikan jangka panjang, yang dapat diselesaikan dengan stop loss.
/*backtest
start: 2023-12-02 00:00:00
end: 2024-01-01 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="Baseline Strategy - evo", shorttitle="Baseline", overlay=true)
//INPUTS
mat = input("ALMA", "MA Type", options=["SMA", "EMA", "WMA", "HMA", "VWMA", "RMA", "ALMA"])
baseline = input(55, title="MA Length")
src = input(ohlc4, title="Closing Source")
offset = input(0.85, step=0.05, title="Offset (alma only)")
sigma = input(10, title="Sigma (alma only)")
useCurrentRes = input(true, title="Use Current Resolution")
resCustom = input("1440", title="Timeframe")
showsignals = input(false, title="Show Signals ?")
//BASELINE
baselinehigh =
mat=="SMA" ? sma(high,baseline) :
mat=="EMA" ? ema(high,baseline) :
mat=="WMA" ? wma(high,baseline) :
mat=="HMA" ? wma(2*wma(high, baseline/2)-wma(high, baseline), round(sqrt(baseline))) :
mat=="VWMA" ? vwma(high,baseline) :
mat=="RMA" ? rma(high,baseline) :
mat=="ALMA" ? alma(high, baseline, offset, sigma) : na
baselinelow =
mat=="SMA" ? sma(low,baseline) :
mat=="EMA" ? ema(low,baseline) :
mat=="WMA" ? wma(low,baseline) :
mat=="HMA" ? wma(2*wma(low, baseline/2)-wma(low, baseline), round(sqrt(baseline))) :
mat=="VWMA" ? vwma(low,baseline) :
mat=="RMA" ? rma(low,baseline) :
mat=="ALMA" ? alma(low, baseline, offset, sigma) : na
//RESOLUTION
res = useCurrentRes ? timeframe.period : resCustom
mtfhigh = security(syminfo.tickerid, res, baselinehigh)
mtflow = security(syminfo.tickerid, res, baselinelow)
//PLOTS
plot(mtfhigh, color=color.navy, linewidth=2, transp=0, title="Baseline High")
plot(mtflow, color=color.navy, linewidth=2, transp=0, title="Baseline Low")
long = src > mtfhigh
short = src < mtflow
barcolor(long ? #ffe0b2 : short ? #2a2e39 : not long and not short ? #b09e82 : na, title="BaseLine BarColor")
signal = 0
signal := long ? 1 : short ? 2 : nz(signal[1])
plotshape(showsignals ? (signal != signal[1] and long ? mtflow : na) : na, title="Long", location=location.absolute, size=size.small, style=shape.labelup, text="Long", textcolor=color.black, transp=40, color=#00ff00)
plotshape(showsignals ? (signal != signal[1] and short ? mtfhigh : na) : na, title="Short", location=location.absolute, size=size.small, style=shape.labeldown, text="Short", textcolor=color.white, transp=40, color=#ff0000)
alertcondition(signal != signal[1], title="Trend Change !", message="Trend Change !")
if (long)
strategy.entry("Long", strategy.long)
if (short)
strategy.entry("Short", strategy.short)