Strategi ini menghitung rata-rata bergerak dan tingkat perubahan harga untuk menentukan apakah keadaan saat ini berada dalam tren naik atau turun dikombinasikan dengan garis K selama periode tertentu, dan karenanya pergi panjang atau pendek.
Strategi ini pertama-tama menghitung rata-rata bergerak sederhana a panjang l dan tingkat perubahan harga r panjang l. Kemudian menghitung perbedaan k antara harga K-line saat ini dan rata-rata bergerak. Akhirnya, menghitung jumlah jumlah k selama s K-line sebelumnya.
Ketika jumlah > 0, ini menunjukkan tren naik saat ini dan strategi akan pergi panjang. Ketika jumlah < 0, ini menunjukkan tren penurunan saat ini dan strategi akan pergi pendek.
Setelah pergi panjang atau pendek, posisi akan dipegang sampai tren berbalik (jumlah perubahan dari positif menjadi negatif atau sebaliknya), maka posisi akan ditutup.
Keuntungan terbesar dari strategi ini adalah bahwa ia dapat menangkap tren dan cocok untuk perdagangan tren.
Menggunakan rata-rata bergerak untuk menentukan arah tren secara keseluruhan dapat secara efektif menyaring kebisingan pasar dan mengunci tren utama.
Menerapkan indikator tingkat perubahan harga untuk mengukur kekuatan momentum menghindari kehilangan momentum yang kuat.
Mempertimbangkan beberapa K-line selama periode dapat lebih akurat menentukan tren dan menghindari tertipu oleh individu Ausreißer.
Selama tren tetap tidak berubah, terus memegang posisi untuk memaksimalkan keuntungan dari pasar tren.
Risiko utama dari strategi ini adalah:
Tidak dapat menentukan waktu akhir tren dengan akurat, dapat menghentikan kerugian lebih awal atau kehilangan beberapa keuntungan.
Karena tidak dapat secara efektif mengendalikan ukuran kerugian tunggal, kerugian mungkin besar dalam kondisi pasar yang ekstrim.
Parameter strategi yang tidak tepat dapat menyebabkan perdagangan yang terlalu sering atau kehilangan beberapa peluang perdagangan.
Holding jangka panjang mungkin menghadapi risiko bunga dan margin overnight.
Untuk mengendalikan risiko, kita dapat menetapkan titik stop loss, hanya memperdagangkan produk yang sangat likuid, mengoptimalkan parameter dan menggunakan leverage secara wajar.
Aspek utama untuk mengoptimalkan strategi ini meliputi:
Uji rata-rata bergerak dan tingkat perubahan harga dengan panjang yang berbeda untuk menemukan kombinasi parameter terbaik.
Cobalah indikator lain seperti MACD untuk lebih menentukan tren dan meningkatkan akurasi.
Tambahkan mekanisme manajemen posisi, seperti mengambil keuntungan setelah menghasilkan beberapa keuntungan, untuk mengendalikan kerugian tunggal.
Masukkan indikator volatilitas untuk menetapkan stop dinamis untuk mengurangi risiko dalam kondisi pasar yang ekstrem.
Mengoptimalkan masuk dan keluar logika untuk menyaring breakout palsu dan meningkatkan efisiensi perdagangan.
Logika keseluruhan dari strategi ini jelas dan mudah dilaksanakan. Dengan melacak tren untuk perdagangan kepemilikan jangka panjang, kontrol penarikan relatif wajar. Ini cocok untuk investor yang mencari pengembalian yang stabil. Lebih lanjut mengoptimalkan stop loss dan manajemen posisi dapat mengharapkan pengembalian stabil jangka panjang yang baik.
/*backtest start: 2023-12-03 00:00:00 end: 2023-12-10 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Indicator Integrator Strat",default_qty_type = strategy.percent_of_equity, default_qty_value = 100,currency="USD",initial_capital=662, overlay=false) l = input(defval=170,title="Length for indicator") s = input(title="Length of summation",defval=18) a= sma(close,l) r=roc(close,l) k=close-a sum = 0 for i = 0 to s sum := sum + k[i] //plot(a,color=yellow,linewidth=2,transp=0) //bc = iff( sum > 0, white, teal) //plot(sum,color=bc, transp=20, linewidth=3,style=columns) //plot(sma(sum,3),color=white) //hline(0) inpTakeProfit = input(defval = 0, title = "Take Profit", minval = 0) inpStopLoss = input(defval = 0, title = "Stop Loss", minval = 0) inpTrailStop = input(defval = 0, title = "Trailing Stop Loss", minval = 0) inpTrailOffset = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0) useTakeProfit = inpTakeProfit >= 1 ? inpTakeProfit : na useStopLoss = inpStopLoss >= 1 ? inpStopLoss : na useTrailStop = inpTrailStop >= 1 ? inpTrailStop : na useTrailOffset = inpTrailOffset >= 1 ? inpTrailOffset : na ////buyEntry = crossover(source, lower) ////sellEntry = crossunder(source, upper) if sum>0 strategy.entry("BBandLE", strategy.long, oca_name="BollingerBands", comment="BBandLE") else strategy.cancel(id="BBandLE") if sum<0 strategy.entry("BBandSE", strategy.short, oca_name="BollingerBands", comment="BBandSE") else strategy.cancel(id="BBandSE") strategy.initial_capital = 50000 plot(strategy.equity-strategy.initial_capital-strategy.closedtrades*.25/2, title="equity", color=red, linewidth=2) hline(0) //longCondition = sum>0 //exitlong = sum<0 //shortCondition = sum<0 //exitshort = sum>0 //strategy.entry(id = "Long", long=true, when = longCondition) //strategy.close(id = "Long", when = exitlong) //strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitlong) //strategy.entry(id = "Short", long=false, when = shortCondition) //strategy.close(id = "Short", when = exitshort) //strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset, when=exitshort)