Strategi stop-loss dan take-profit mengikuti tren


Tanggal Pembuatan: 2024-01-24 14:17:28 Akhirnya memodifikasi: 2024-01-24 14:17:28
menyalin: 1 Jumlah klik: 738
1
fokus pada
1664
Pengikut

Strategi stop-loss dan take-profit mengikuti tren

Ringkasan

Ini adalah strategi pelacakan tren yang didasarkan pada indikator Brin Belt dan menggunakan indikator ATR untuk menetapkan stop loss stop. Strategi ini pertama-tama menilai tren pasar, di garis IRONMENT, dan menetapkan stop loss stop loss pada posisi kosong.

Prinsip Strategi

  1. Perhitungan rel atas dan bawah di Brin Belt.
  2. Periksa apakah harga penutupan lebih tinggi dari tren atas atau lebih rendah dari tren bawah, jika demikian, pertimbangkan sebagai pasar tren, dan sebagai pasar multihead dan kosong.
  3. Jika pasar sedang tren, garis lingkungannya dihitung. Garis lingkungannya didasarkan pada harga terendah dikurangi nilai ATR (pasar multihead) atau harga tertinggi ditambah nilai ATR (pasar kosong).
  4. Jika bukan pasar tren, garis lingkungan tetap sama dengan garis lingkungan K sebelumnya.
  5. Bandingkan garis ENVIRONMENT untuk menentukan arah tren. Jika naik adalah multipel, turun adalah kosong.
  6. Ketika garis ENVIRONMENT bergeser ke arah lain, sinyal beli/jual dihasilkan.
  7. Set Stop Loss Stop: Standar Stop Loss 100 kali dari harga masuk; Floating Stop Stop 1.1 kali dari harga masuk (multihead) atau 0.9 kali (blank head).

Analisis Keunggulan

  1. Untuk mengevaluasi tren pasar dan mengurangi penipuan.
  2. Tetapkan garis ENVIRONMENT, untuk menghindari kebocoran.
  3. Pengaturan stop loss yang masuk akal, dapat mengontrol risiko sambil menjamin keuntungan.

Analisis risiko

  1. Pengaturan parameter yang tidak tepat dapat menyebabkan kehilangan peluang perdagangan.
  2. Indikator pita Brin memiliki probabilitas yang lebih tinggi untuk melakukan kesalahan dalam situasi gempa.
  3. Stop loss yang terlalu dekat bisa dihilangkan.

Arah optimasi

  1. Parameter yang dioptimalkan untuk membuat Brin Belt lebih cocok untuk berbagai varietas.
  2. Mengoptimalkan cara menghitung garis ENVIRONMENT, seperti memperkenalkan indikator lain dan sebagainya.
  3. Uji dan optimalkan pengaturan parameter stop loss.

Meringkaskan

Ini adalah strategi untuk menilai tren dengan Brinband, menggunakan garis ENVIRONMENT untuk mengatur stop loss. Keuntungan utamanya adalah penilaian tren yang jelas, pengaturan stop loss yang masuk akal, dan dapat mengontrol risiko secara efektif. Risiko utama adalah kesalahan penilaian tren Brinband dan titik stop loss yang terlalu dekat.

Kode Sumber Strategi
/*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)