Strategi Pembalikan Stop Mengikuti Tren


Tanggal Pembuatan: 2024-02-01 14:54:09 Akhirnya memodifikasi: 2024-02-01 14:54:09
menyalin: 0 Jumlah klik: 829
1
fokus pada
1617
Pengikut

Strategi Pembalikan Stop Mengikuti Tren

Ringkasan

Trend Tracking Stop Loss Reversal Strategi adalah strategi yang menggunakan indikator Parabolic SAR untuk mengidentifikasi tren dan masuk ke posisi terbalik ketika tren berbalik. Strategi ini menggabungkan mekanisme stop loss dan stop loss untuk mengendalikan risiko.

Prinsip Strategi

Strategi ini menggunakan indikator Parabolic SAR untuk menilai tren pasar saat ini. Parabolic SAR full name is Parabolic Stop and Reverse , yang menunjukkan bahwa parasol berhenti dan terbalik.

Ketika SAR turun dan berada di bawah harga, itu adalah tren bullish; ketika SAR naik dan berada di atas harga, itu adalah tren bearish. Strategi ini adalah untuk menilai arah tren saat ini berdasarkan posisi SAR.

Secara khusus, ketika SAR naik dan berada di atas harga, strategi akan melakukan posisi kosong; ketika SAR turun dan berada di bawah harga, strategi akan melakukan posisi multi. Artinya, masuk ke posisi terbalik ketika SAR menunjukkan pembalikan tren.

Selain itu, strategi ini juga mengatur mekanisme stop loss dan stop stop. Bila dilakukan secara berlebihan, mungkin untuk mengatur harga stop loss untuk membatasi kerugian; juga mungkin untuk mengatur harga stop stop, setelah harga mencapai target keuntungan.

Analisis Keunggulan

Strategi ini menggabungkan indikator tren dan mekanisme stop loss / stop loss, dengan keuntungan utama sebagai berikut:

  1. Ini adalah salah satu metode yang paling populer di dunia untuk mengidentifikasi dan mengidentifikasi perubahan tren.
  2. Setelah Anda mengatur stop loss dan stop loss, Anda dapat secara aktif mengontrol risiko dan keuntungan.
  3. Parabolic SAR adalah indikator pembalikan tren yang cukup umum digunakan dan lebih efektif.
  4. Peraturan-peraturan strategi ini sederhana dan jelas, mudah dipahami dan diterapkan.

Analisis risiko

Strategi ini juga memiliki beberapa risiko yang perlu diperhatikan:

  1. Indikator Parabolic SAR tidak sempurna dan kadang-kadang memberikan sinyal yang salah.
  2. Harga stop loss atau stop loss harus masuk akal, jika tidak, mungkin stop loss atau stop loss prematur.
  3. Biaya transaksi juga mempengaruhi keuntungan akhir.
  4. Setelah pembalikan, trend baru lengthening mungkin akan berlangsung lebih lama.

Risiko ini dapat diatasi dengan penyesuaian parameter optimasi, atau dengan penyaringan indikator lainnya.

Arah optimasi

Strategi ini dapat dioptimalkan dari beberapa arah:

  1. Optimalkan parameter Parabolic SAR untuk mencari kombinasi parameter yang optimal.
  2. Cobalah strategi stop loss yang berbeda, seperti stop loss trailing.
  3. Menambahkan indikator atau kondisi untuk memfilter sinyal trading reverse.
  4. Menambahkan kontrol posisi, memperluas atau memperkecil posisi sesuai dengan kondisi pasar.
  5. Parameter penyesuaian untuk varietas perdagangan yang berbeda.

Meringkaskan

Trend Tracking Stop Loss Reversal Strategy, secara keseluruhan merupakan strategi trading yang lebih klasik. Ini berfungsi untuk mengidentifikasi trend reversal, sekaligus membantu mengendalikan risiko dengan stop loss dan stop loss. Dengan pengoptimalan dapat menjadi strategi yang layak untuk diperdagangkan.

Kode Sumber Strategi
/*backtest
start: 2024-01-24 00:00:00
end: 2024-01-31 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Parabolic SAR Strategy", overlay=true)
start = input(0.02)
increment = input(0.02)
maximum = input(0.2)
var bool uptrend = na
var float EP = na
var float SAR = na
var float AF = start
var float nextBarSAR = na
if bar_index > 0
	firstTrendBar = false
	SAR := nextBarSAR
	if bar_index == 1
		float prevSAR = na
		float prevEP = na
		lowPrev = low[1]
		highPrev = high[1]
		closeCur = close
		closePrev = close[1]
		if closeCur > closePrev
			uptrend := true
			EP := high
			prevSAR := lowPrev
			prevEP := high
		else
			uptrend := false
			EP := low
			prevSAR := highPrev
			prevEP := low
		firstTrendBar := true
		SAR := prevSAR + start * (prevEP - prevSAR)
	if uptrend
		if SAR > low
			firstTrendBar := true
			uptrend := false
			SAR := max(EP, high)
			EP := low
			AF := start
	else
		if SAR < high
			firstTrendBar := true
			uptrend := true
			SAR := min(EP, low)
			EP := high
			AF := start
	if not firstTrendBar
		if uptrend
			if high > EP
				EP := high
				AF := min(AF + increment, maximum)
		else
			if low < EP
				EP := low
				AF := min(AF + increment, maximum)
	if uptrend
		SAR := min(SAR, low[1])
		if bar_index > 1
			SAR := min(SAR, low[2])
	else
		SAR := max(SAR, high[1])
		if bar_index > 1
			SAR := max(SAR, high[2])
	nextBarSAR := SAR + AF * (EP - SAR)
	if barstate.isconfirmed
		if uptrend
			strategy.entry("ParSE", strategy.short, stop=nextBarSAR, comment="ParSE")
			strategy.cancel("ParLE")
		else
			strategy.entry("ParLE", strategy.long, stop=nextBarSAR, comment="ParLE")
			strategy.cancel("ParSE")
plot(SAR, style=plot.style_cross, linewidth=3, color=color.orange)
plot(nextBarSAR, style=plot.style_cross, linewidth=3, color=color.aqua)
//Stop Loss Inputs
use_short_stop_loss = input(false, title="Short Stop Loss", group="Stop Loss and Take Profit", inline="Short_SL")
short_stop_loss = input(title="(%)", type=input.float, minval=0.0, step=0.1, 
     defval=5, group="Stop Loss and Take Profit", inline="Short_SL") * 0.01
use_long_stop_loss = input(false, title="Long Stop Loss", group="Stop Loss and Take Profit", inline="Long_SL")
long_stop_loss = input(title="(%)", type=input.float, minval=0.0, step=0.1, 
     defval=5, group="Stop Loss and Take Profit", inline="Long_SL") * 0.01

//Take Profit Inputs     
use_short_take_profit = input(false, title="Short Take Profit", group="Stop Loss and Take Profit", inline="Short_TP")
short_take_profit = input(title="(%)", type=input.float, minval=0.0, step=0.1,
     defval = 20, group="Stop Loss and Take Profit", inline="Short_TP") * .01
use_long_take_profit = input(false, title="Long Take Profit", group="Stop Loss and Take Profit", inline="Long_TP")
long_take_profit = input(title="(%)", type=input.float, minval=0.0, step=0.1,
     defval = 20, group="Stop Loss and Take Profit", inline="Long_TP") * .01


longStopPrice  = strategy.position_avg_price * (1 - long_stop_loss)
shortStopPrice = strategy.position_avg_price * (1 + short_stop_loss)
longLimitPrice = strategy.position_avg_price * (1 + long_take_profit)
shortLimitPrice = strategy.position_avg_price * (1 - short_take_profit)


if (strategy.position_size > 0.0)
    if (use_long_stop_loss and not use_long_take_profit)
        strategy.exit("Long", stop = longStopPrice)
    if (use_long_take_profit and not use_long_stop_loss)
        strategy.exit("Long", limit = longLimitPrice)
    if (use_long_take_profit and use_long_stop_loss)
        strategy.exit("Long", stop = longStopPrice, limit=longLimitPrice)
if (strategy.position_size < 0.0)
    if (use_short_stop_loss and not use_short_take_profit)
        strategy.exit("Short", stop = shortStopPrice)
    if (use_short_take_profit and not use_short_stop_loss)
        strategy.exit("Short", limit = shortLimitPrice)
    if (use_short_take_profit and use_short_stop_loss)
        strategy.exit("Short", stop = shortStopPrice, limit = shortLimitPrice)

//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)