Strategi Stop & Beli yang Mudah Berdasarkan Peratusan

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

img

Ringkasan

Strategi ini melaksanakan hentian yang mudah berasaskan peratusan dan pembelian. Dengan bereksperimen dengan kombinasi peratusan yang berbeza di seluruh bingkai masa dan carta, parameter strategi dapat dioptimumkan.

Logika Strategi

Strategi ini terutamanya menggunakan dua metrik untuk mencapai penangguhan stop loss dan pembelian:

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

  2. Baris Beli Terakhir (TBL): Dihitung berdasarkan N bar terbaru harga tertinggi dan membeli peratusan offset yang ditetapkan oleh pengguna. Pemicu membeli apabila harga meningkat di atas garis ini.

Dengan membandingkan harga dengan kedua-dua metrik ini, peraturan stop loss dan trailing buy dilaksanakan.

Kelebihan

Kelebihan strategi ini ialah:

  1. Sederhana dan intuitif, mudah difahami dan dilaksanakan.

  2. Stop loss fleksibel dan pembelian yang tertinggal melalui pelarasan parameter.

  3. Berlaku di semua pasaran dan jangka masa.

  4. Membolehkan trend berikut dan stop loss tepat pada masanya.

Risiko

Risiko strategi ini termasuk:

  1. Tetapan parameter yang tidak betul boleh menyebabkan stop loss atau pembelian yang terlalu agresif.

  2. Perdagangan yang kerap dan tergelincir di pasaran yang berbeza.

  3. Menghendaki pengoptimuman parameter untuk ciri pasaran yang berbeza.

Peluang Peningkatan

Strategi ini boleh dipertingkatkan melalui:

  1. Algoritma adaptif untuk mengoptimumkan parameter berhenti dan beli.

  2. Penambahan saiz kedudukan dan modul pengurusan risiko.

  3. Penggabungan penunjuk lain untuk mengukur trend keseluruhan untuk mengelakkan whipsaws.

Kesimpulan

Ringkasnya, ini adalah trend yang sangat mudah dan intuitif mengikuti strategi. Dengan penyesuaian parameter, ia boleh disesuaikan di seluruh pasaran. Penggabungan algoritma adaptif dan penapis tambahan yang lebih lanjut dapat meningkatkan ketahanan. Secara keseluruhan, ia menyediakan rangka kerja asas namun berkesan 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 lanjut