Tren Pelacakan Stop Loss Take Profit Strategi

Penulis:ChaoZhangTanggal: 2024-01-24 14:17:28
Tag:

img

Gambaran umum

Ini adalah strategi pelacakan tren yang menggunakan Bollinger Bands untuk menentukan tren dan ATR untuk mengatur stop loss dan take profit.

Logika Strategi

  1. Hitung rel atas dan bawah Bollinger Bands.
  2. Pertimbangkan apakah harga penutupan berada di atas rel atas atau di bawah rel bawah. Jika ya, pertimbangkan sebagai pasar tren, bullish atau bearish.
  3. Jika itu adalah pasar tren, hitung garis tren. garis tren didasarkan pada harga terendah dikurangi nilai ATR (pasar bull) atau harga tertinggi ditambah nilai ATR (pasar bear).
  4. Jika bukan pasar tren, tetapkan garis tren yang sama dengan bar sebelumnya.
  5. Bandingkan garis tren untuk menentukan arah tren. Uptrend untuk bullish, downtrend untuk bearish.
  6. Menghasilkan sinyal beli/jual ketika arah garis tren berubah.
  7. Setel stop loss dan take profit: jarak stop loss tetap adalah 100 kali harga masuk; floating take profit adalah 1,1 kali (bull) atau 0,9 kali (bear) harga masuk.

Analisis Keuntungan

  1. Bisa menentukan tren pasar, menghindari perdagangan palsu.
  2. Tetapkan garis tren untuk menghindari terjebak.
  3. Pengaturan stop loss dan mengambil keuntungan yang wajar untuk mengendalikan risiko sambil memastikan keuntungan.

Analisis Risiko

  1. Pengaturan parameter yang tidak benar dapat kehilangan peluang perdagangan.
  2. Bollinger Bands memiliki probabilitas tinggi untuk menilai secara salah di pasar yang terikat rentang.
  3. Stop loss yang terlalu dekat dapat dihentikan dengan mudah.

Arahan Optimasi

  1. Mengoptimalkan Bollinger Bands parameter untuk produk yang berbeda.
  2. Mengoptimalkan metode perhitungan garis tren, misalnya dengan memperkenalkan indikator lain.
  3. Uji dan optimalkan parameter stop loss dan take profit.

Kesimpulan

Ini adalah strategi yang menggunakan Bollinger Bands untuk menentukan tren dan menetapkan stop loss dan take profit berdasarkan garis tren. Keuntungan utamanya adalah penilaian tren yang jelas, stop loss yang wajar dan pengaturan profit untuk mengontrol risiko secara efektif. Risiko utama berasal dari penilaian trend yang salah dan stop loss yang terlalu dekat. Arahan optimasi masa depan termasuk optimasi parameter, optimasi perhitungan garis tren dan optimasi stop loss take profit.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © zhuenrong

// © Dreadblitz
//@version=4
strategy(shorttitle="FLI", title="Follow Line Indicator", overlay=true)
// 
BBperiod      = input(defval = 21,     title = "BB Period",    type = input.integer, minval = 1)
BBdeviations  = input(defval = 1.00,     title = "BB Deviations",    type = input.float, minval = 0.1, step=0.05)
UseATRfilter  = input(defval = true, title = "ATR Filter",  type = input.bool)
ATRperiod     = input(defval = 5,     title = "ATR Period",    type = input.integer, minval = 1)
hl            = input(defval = false, title = "Hide Labels",  type = input.bool)
//
BBUpper=sma (close,BBperiod)+stdev(close, BBperiod)*BBdeviations
BBLower=sma (close,BBperiod)-stdev(close, BBperiod)*BBdeviations
//
TrendLine = 0.0
iTrend = 0.0
buy = 0.0
sell = 0.0
//
BBSignal = close>BBUpper? 1 : close<BBLower? -1 : 0
// 
if BBSignal == 1 and UseATRfilter == 1
    TrendLine:=low-atr(ATRperiod)
    if TrendLine<TrendLine[1] 
        TrendLine:=TrendLine[1]
if BBSignal == -1 and UseATRfilter == 1
    TrendLine:=high+atr(ATRperiod)
    if TrendLine>TrendLine[1]
        TrendLine:=TrendLine[1]
if BBSignal == 0 and UseATRfilter == 1
    TrendLine:=TrendLine[1]
//
if BBSignal == 1 and UseATRfilter == 0
    TrendLine:=low
    if TrendLine<TrendLine[1] 
        TrendLine:=TrendLine[1]
if BBSignal == -1 and UseATRfilter == 0
    TrendLine:=high
    if TrendLine>TrendLine[1]
        TrendLine:=TrendLine[1]
if BBSignal == 0 and UseATRfilter == 0
    TrendLine:=TrendLine[1]
//
iTrend:=iTrend[1]
if TrendLine>TrendLine[1] 
    iTrend:=1
if TrendLine<TrendLine[1] 
    iTrend:=-1
//
buy:=iTrend[1]==-1 and iTrend==1 ? 1 : na
sell:=iTrend[1]==1 and iTrend==-1? 1 : na
//
plot(TrendLine, color=iTrend > 0?color.blue:color.red ,style=plot.style_line,linewidth=2,transp=0,title="Trend Line") 
plotshape(buy == 1 and hl == false? TrendLine-atr(8) :na, text='💣', style= shape.labelup, location=location.absolute, color=color.blue, textcolor=color.white, offset=0, transp=0,size=size.auto)
plotshape(sell == 1 and hl == false ?TrendLine+atr(8):na, text='🔨', style=shape.labeldown, location=location.absolute, color=color.red, textcolor=color.white, offset=0, transp=0,size=size.auto)
//
alertcondition(sell == 1 ,title="Sell",message="Sell")
alertcondition(buy == 1 ,title="Buy",message="Buy")
alertcondition(buy == 1 or sell == 1 ,title="Buy/Sell",message="Buy/Sell")
if (buy==1)
    strategy.entry("Buy", strategy.long)
if (sell==1)
    strategy.entry("Sell", strategy.short)
// === Stop LOSS ===

if strategy.position_size>0
    strategy.exit("Stop Loss/Profit Long","Buy", stop=strategy.position_avg_price*100, limit=strategy.position_avg_price*1.1)
if strategy.position_size<0
    strategy.exit("Stop Loss/Profit Short","Sell", stop=strategy.position_avg_price*100, limit=strategy.position_avg_price*0.9)

Lebih banyak