Strategi Stop & Buy yang sederhana berdasarkan Persentase

Penulis:ChaoZhang, Tanggal: 2024-01-19 14:30:59
Tag:

img

Gambaran umum

Strategi ini mengimplementasikan trailing stop dan trailing buy berbasis persentase yang sederhana. Dengan bereksperimen dengan kombinasi persentase yang berbeda di seluruh kerangka waktu dan grafik, parameter strategi dapat dioptimalkan.

Logika Strategi

Strategi ini terutama menggunakan dua metrik untuk mencapai trailing stop loss dan trailing buy:

  1. Trailing Stop Line (TSL): Dihitung berdasarkan N bar terbaru dari harga penutupan dan stop loss offset persentase yang ditetapkan oleh pengguna.

  2. Trailing Buy Line (TBL): Dihitung berdasarkan N bar harga tertinggi terbaru dan persentase offset pembelian yang ditetapkan oleh pengguna. Pemicu membeli ketika harga naik di atas garis ini.

Dengan membandingkan harga dengan kedua metrik ini, aturan stop loss dan trailing buy diterapkan.

Keuntungan

Keuntungan dari strategi ini adalah:

  1. Sederhana dan intuitif, mudah dimengerti dan diterapkan.

  2. Stop loss dan trailing buy yang fleksibel melalui penyesuaian parameter.

  3. Berlaku di seluruh pasar dan jangka waktu.

  4. Memungkinkan trend berikut dan stop loss tepat waktu.

Risiko

Risiko dari strategi ini meliputi:

  1. Pengaturan parameter yang tidak benar dapat menyebabkan stop loss atau pembelian yang terlalu agresif.

  2. Perdagangan yang sering dan slippage di berbagai pasar.

  3. Membutuhkan optimasi parameter untuk karakteristik pasar yang berbeda.

Peluang Peningkatan

Strategi ini dapat ditingkatkan melalui:

  1. Algoritma adaptif untuk mengoptimalkan parameter berhenti dan beli.

  2. Penambahan ukuran posisi dan modul manajemen risiko.

  3. Penggabungan indikator lain untuk mengukur tren keseluruhan untuk menghindari kegagalan.

Kesimpulan

Dalam kesimpulan, ini adalah tren yang sangat sederhana dan intuitif mengikuti strategi. Dengan penyesuaian parameter dapat disesuaikan di seluruh pasar. Penggabungan lebih lanjut dari algoritma adaptif dan filter tambahan dapat meningkatkan ketahanan. Secara keseluruhan, ini memberikan kerangka kerja dasar namun efektif untuk perdagangan kuantitatif.


/*backtest
start: 2023-01-12 00:00:00
end: 2024-01-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//Developed from ©Finnbo code
strategy("Simple Trailing Buy & Stop Strategy", overlay=true)
offset = input(defval=1.5, title="Stop Offset %", type=float, minval=0.1, maxval=100, step=0.1)
buyoffset = input(defval=1.9, title="Trailing Buy Offset %", type=float, minval=0.1, maxval=100, step=0.1)

sumbars = input(defval=6, title="Use last x bars for calculation",  minval=1)
srcts = input(title="Source Trailing Stop calculation",  defval=close)
srctb = input(title="Source Trailing Buy calculation",  defval=close)
srctrigger = input(title="Source Stop Trigger",  defval=low)
srctriggerbuy = input(title="Source Buy Trigger",  defval=high)
tsl = rma(srcts, sumbars)*(1-(offset/100))// = (sum(srcts,sumbars)/sumbars)*(1-(offset/100))
tbuy = rma(srctb, sumbars)*(1+(buyoffset/100))
plot(tsl, color=(srctrigger<tsl)?red:green)
plot(tbuy, color=(srctriggerbuy>tbuy)?red:green)
//plotshape(crossunder(srctrigger,tsl), text="Long Stop", style=shape.circle, color=red)
alertcondition(crossunder(srctrigger,tsl), "Long Stop alert", "SELL")
//plotshape(crossover(srctriggerbuy,tbuy), text="Long", style=shape.circle, color=green)
alertcondition(crossover(srctriggerbuy,tbuy), "Long alert", "BUY")

longCondition =  crossover(srctriggerbuy,tbuy)
if (longCondition)
    strategy.entry("Long", strategy.long)
closeCondition = crossunder(srctrigger,tsl)
if (closeCondition)
    strategy.close("Long")


Lebih banyak