Strategi ini dilakukan dengan mengamati hubungan antara harga dengan garis rata-rata jangka panjang (seperti garis 200 hari), melakukan posisi tinggi saat harga menembus garis rata-rata, dan posisi rendah saat harga menembus garis rata-rata, merupakan strategi operasi penembusan pergerakan garis panjang. Strategi ini mengejar kepemilikan jangka panjang dan mengurangi frekuensi perdagangan.
Prinsip-prinsip Strategi:
Perhitungan rata-rata bergerak untuk periode panjang, parameter khas adalah garis 200 hari.
Ketika harga close out dari bawah menembus garis rata-rata, maka melakukan buy and sell.
Bila harga penutupan turun dari atas ke bawah garis rata-rata tersebut, maka dilakukan operasi jual-negosiasi.
Dalam kondisi melakukan lebih dari itu, terus dipegang, sampai harga turun di bawah garis stop loss rata-rata.
Keuntungan dari strategi ini:
Garis rata-rata garis panjang dapat secara efektif mengidentifikasi tren garis panjang dalam harga.
Cara penarikan dapat menangkap terbaliknya harga saham dalam waktu singkat.
Mengurangi frekuensi transaksi, membantu mengurangi biaya dan risiko transaksi.
Bahaya dari strategi ini:
Masalah keterlambatan rata-rata jangka panjang lebih serius, dan waktu masuknya kurang baik.
Tidak dapat membatasi kerugian yang ditimbulkan oleh fluktuasi penarikan balik setelah terobosan.
Terjadinya letusan kecil yang sering terjadi dapat menyebabkan kerugian kecil yang terus menerus.
Kesimpulannya, strategi HODL menilai peluang yang dimiliki melalui long-period average line oscillation, yang dapat mengurangi frekuensi perdagangan. Namun, masih ada ruang untuk perbaikan dalam hal parameter optimasi dan pengaturan stop loss untuk mengendalikan penarikan dan mendapatkan keuntungan yang stabil dalam jangka panjang.
/*backtest
start: 2022-09-05 00:00:00
end: 2023-04-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("HODLBot", default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_every_tick=true, overlay=true)
//// Time limits
testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(01, "Backtest Start Month")
testStartDay = input(01, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(2029, "Backtest Stop Year")
testStopMonth = input(1, "Backtest Stop Month")
testStopDay = input(1, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)
testPeriod() => true
maPeriod = input(200, "MA Period")
smoothing = input(defval="EMA", options=["EMA", "SMA"])
ma(smoothing, src, length) =>
if smoothing == "EMA"
ema(src, length)
else
if smoothing == "SMA"
sma(src, length)
//// Main ////
movingAverage = ma(smoothing, close, maPeriod)
plot(movingAverage, color=orange, style = line, linewidth = 4)
// very simple, price over MA? Buy and HODL
if (testPeriod() and close > movingAverage)
strategy.entry("HODL", strategy.long)
// Price under, close long
if (testPeriod() and close < movingAverage)
strategy.close("HODL")