Strategi henti rugi mengekori ATR


Tarikh penciptaan: 2023-09-26 20:23:13 Akhirnya diubah suai: 2023-09-26 20:23:13
Salin: 1 Bilangan klik: 974
1
fokus pada
1617
Pengikut

Ringkasan: Strategi ATR Tracking Stop Loss adalah strategi perdagangan yang berdasarkan pada penunjuk purata gelombang sebenar yang secara dinamik menetapkan titik berhenti. Strategi ini sesuai untuk varian perdagangan forex yang mempunyai turun naik harga yang tinggi, dengan secara dinamik mengikuti turun naik pasaran untuk menetapkan stop loss, menangkap keuntungan dalam trend besar sambil mengawal risiko.

Prinsip Strategi

Strategi ini membentuk saluran perdagangan dengan mengira indikator AVERAGE (rata-rata harga) dan DIFF atas dan DIFFLOW bawah yang dikira berdasarkan indikator ATR. Apabila harga naik ke arah DIFF, lakukan overhead, dan apabila harga turun ke arah DIFFLOW, lakukan overhead.

Khususnya, strategi pertama mengira purata bergerak sederhana harga dan indikator ATR, dan menghitung DIFF dan DIFFLOW di atas dan di bawah dengan faktor kelipatan berdasarkan nilai ATR. Ini membentuk saluran perdagangan, di mana sempadan atas dan bawah saluran ditentukan oleh DIFF dan DIFFLOW. Apabila harga menembusi lintasan, buat kedudukan multihead; apabila harga menembusi lintasan, buat kedudukan kosong.

Dengan cara ini, strategi boleh terus melakukan lebih banyak shorting dalam trend besar untuk menangkap keuntungan, dan pada masa yang sama mengawal risiko melalui stop loss pelacakan ATR yang dinamik, sesuai untuk jenis yang mempunyai turun naik yang lebih besar.

Analisis kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Dengan menggunakan indikator ATR untuk menghentikan kerugian secara dinamik, anda boleh menetapkan kedudukan berhenti anda secara fleksibel mengikut tahap turun naik pasaran, dan mengelakkan berhenti terlalu dekat atau terlalu jauh.

  2. Membina saluran perdagangan untuk menangkap peluang pulangan nilai rata-rata dalam trend besar. Strategi ini dapat memperoleh penggunaan dana yang lebih baik apabila harga berada di saluran yang tidak stabil.

  3. Berterusan melakukan banyak shorting untuk menyertai trend, tanpa perlu meramalkan harga naik atau turun, dan mengikuti trend untuk mendapatkan keuntungan yang lebih baik.

  4. Tetapan parameter dan peraturan perdagangan yang mudah, mudah difahami dan dilaksanakan, sesuai untuk perdagangan automatik.

  5. Ia mempunyai kadar penggunaan yang tinggi, tidak perlu untuk meramalkan arah yang akan ditembusi, dan ia mempunyai peluang yang lebih besar untuk membuat keuntungan dengan perdagangan yang berterusan.

Analisis risiko dan pengoptimuman

Strategi ini juga mempunyai risiko yang perlu diperhatikan:

  1. Tetapan parameter ATR terlalu besar boleh menyebabkan jarak henti terlalu jauh dan tidak dapat mengawal risiko dengan berkesan. Ia disyorkan untuk menetapkan faktor ATR sebanyak 1-3 kali ATR harian.

  2. Dalam pasaran yang disusun, pertukaran aktif, harga bergolak lebih besar, akan sering mencetuskan hentian. Anda boleh menyesuaikan faktor ATR dengan sewajarnya untuk mengurangkan frekuensi mencetuskan hentian.

  3. Sebahagian daripada masa harga mungkin menembusi saluran dan kemudian berbalik, di mana strategi akan menghasilkan kerugian. Ia boleh digabungkan dengan penapis trend, dan hanya masuk apabila arah trend menembusi saluran.

  4. Apabila terdapat pergerakan yang besar, penangguhan mungkin tidak berfungsi sebagai perlindungan yang baik. Anda boleh mempertimbangkan untuk menambah tetapan penangguhan maksimum, untuk mengelakkan penangguhan yang terlalu besar.

Strategi ini boleh dioptimumkan sebagai berikut:

  1. Mengoptimumkan parameter ATR untuk mencari faktor ATR yang sesuai, yang dapat menjejaki stop loss, tetapi tidak terlalu sensitif.

  2. Tambah indikator penilaian trend, hanya lakukan lebih banyak apabila trend naik, kosong apabila trend turun, dan elakkan perdagangan bukan trend.

  3. Uji parameter untuk pelbagai jenis dan cari kombinasi parameter yang sesuai untuk setiap jenis.

  4. Untuk mengoptimumkan peluang masuk, pertimbangan boleh diambil untuk masuk melalui saluran tengah.

  5. Meningkatkan jumlah simpanan, tetapi juga mengawal kerugian keseluruhan.

ringkaskan

ATR menjejaki strategi berhenti kerugian menangkap keuntungan dengan mewujudkan saluran perdagangan, perdagangan berterusan dalam trend besar, dan menggunakan ATR untuk mengatur stop loss secara dinamik, mengawal risiko. Strategi ini sesuai untuk varieti yang lebih berfluktuasi, dan dapat memperoleh penggunaan dana yang lebih baik. Dalam praktiknya, parameter yang perlu dioptimumkan dan boleh dipertimbangkan untuk menambah penghakiman trend dapat disempurnakan lebih lanjut.

Kod sumber strategi
/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-25 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Investoz

//@version=4
strategy("ATR Strategy FOREX", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

len = input(26, type=input.integer, minval=1, title="Length")
mul = input(1, type=input.float, minval=0, title="Length")
mullow = input(2, type=input.float, minval=0, title="Length")

price = sma(close, 1)
average = ema(close, len)
diff = atr(len) * mul
difflow = atr(len) * mullow

bull_level = average + diff
bear_level = average - difflow
bull_cross = crossunder(price, bear_level)
bear_cross = crossunder(bull_level, price)

FromMonth = input(defval = 8, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 18, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2008, title = "From Year", minval = 2008)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 2020, title = "To Year", minval = 2019)

start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)       
startTimeOk()  => true

if (startTimeOk())
    strategy.entry("KOP", strategy.long, when=bull_cross)
    strategy.close("KOP", when=bear_cross)  
    strategy.entry("SALJ", strategy.short, when=bear_cross)
    strategy.close("SALJ", when=bull_cross)

plot(price, title="price", color=color.black, transp=50, linewidth=2)
a0 = plot(average, title="average", color=color.red, transp=50, linewidth=1)
a1 = plot(bull_level, title="bull", color=color.green, transp=50, linewidth=1)
a2 = plot(bear_level, title="bear", color=color.red, transp=50, linewidth=1)
fill(a0, a1, color=color.green, transp=97)
fill(a0, a2, color=color.red, transp=97)