Terobosan dengan tren - Strategi stop loss momentum


Tanggal Pembuatan: 2023-11-13 17:20:51 Akhirnya memodifikasi: 2023-11-13 17:20:51
menyalin: 0 Jumlah klik: 847
1
fokus pada
1617
Pengikut

Terobosan dengan tren - Strategi stop loss momentum

Ringkasan

Strategi ini adalah strategi pelacakan tren garis tengah yang didesain berdasarkan indikator breakout dan stop loss dinamis. Strategi ini menggunakan harga untuk menerobos garis stop loss dinamis untuk menentukan arah tren, masuk ke dalam lapangan saat harga menerobos garis stop loss, lalu menggunakan garis stop loss untuk melacak tren dan mengunci keuntungan. Strategi ini bertujuan untuk menangkap tren garis tengah yang panjang, sekaligus menggunakan stop loss dinamis untuk mengendalikan risiko.

Prinsip Strategi

Strategi ini menggunakan indikator stop loss dinamis Volatility Stop untuk menilai arah tren dan melacak stop loss. Stop Volatility Stop menghitung garis stop loss dinamis berdasarkan rentang fluktuasi harga. Metode perhitungan spesifiknya adalah:

  1. ATR (Average True Rate of Volatility) dari harga yang dihitung
  2. Ganda stop loss dari nilai ATR dengan faktor stop loss
  3. Ketika harga naik, catat harga tertinggi, stop loss line adalah harga tertinggi dikurangi ATR dikali faktor
  4. Ketika harga turun, catat harga minimum, stop loss line adalah harga minimum ditambah ATR dikali faktor

Dengan demikian, stop loss line akan berfluktuasi naik turun seiring dengan pergerakan harga, membentuk sebuah saluran yang dinamis.

Ketika harga menembus garis stop loss, menunjukkan bahwa tren telah berbalik, strategi akan membuka posisi:

  • Strategi ini membuka posisi lebih tinggi ketika harga naik dari bawah dan menembus batas stop loss.
  • Strategi akan membuka posisi ketika harga melewati batas stop loss dari atas ke bawah

Setelah posisi dibuka, strategi akan menggunakan garis stop loss untuk melacak stop loss:

  • Garis stop loss multi-posisi adalah harga tertinggi dikurangi ATR dikali faktor
  • Stop loss untuk posisi kosong adalah harga minimum ditambah ATR dikali faktor

Ketika harga kembali menyentuh garis stop loss, strategi akan melakukan stop loss.

Dengan cara ini, strategi dapat berjalan dengan lancar, mengikuti pembalikan tren tepat waktu, dan menggunakan stop loss untuk mengendalikan risiko.

Analisis Keunggulan

Strategi ini memiliki keuntungan sebagai berikut:

  1. Ini adalah salah satu cara yang paling efektif untuk mengambil keuntungan dari perubahan tren dan menghindari kehilangan kesempatan.
  2. Menggunakan stop loss dinamis, Anda dapat menyesuaikan posisi stop loss sesuai dengan fluktuasi pasar, sehingga stop loss lebih masuk akal
  3. Posisi stop loss diperbarui seiring dengan pergerakan dan dapat memaksimalkan keuntungan yang terkunci
  4. Jika Anda menang dalam tren, Anda bisa mendapatkan keuntungan tren yang lebih besar.
  5. Mengontrol risiko dan menghindari kerugian yang berlebihan

Analisis risiko

Strategi ini juga memiliki beberapa risiko:

  1. Dalam situasi gempa bumi, kemungkinan terjadi situasi dimana stop loss sering dipicu.
  2. Anda perlu mengatur stop loss yang masuk akal, terlalu kecil akan terlalu sensitif, terlalu besar akan kehilangan arti stop loss.
  3. Efek dari biaya transaksi yang harus diperhatikan, karena sering terjadi transaksi yang memakan keuntungan.
  4. Mungkin kehilangan sebagian dari keuntungan awal tren
  5. Perhatian terhadap risiko yang ditimbulkan jika stop loss terlalu jauh dari harga

Tanggapan:

  1. Parameter optimal dapat ditemukan dengan mengevaluasi optimasi stop loss
  2. Memperpanjang siklus waktu perdagangan dengan tepat, mengurangi frekuensi perdagangan
  3. Filter filter filter dapat dipertimbangkan untuk menghindari terlalu sering transaksi
  4. Jarak stop loss line dapat dilepas, tetapi tidak terlalu jauh.

Arah optimasi

Strategi ini dapat dioptimalkan lebih lanjut dengan:

  1. Optimalkan Stop Loss Factor untuk menemukan kombinasi parameter yang optimal
  2. Menambahkan filter untuk menghindari terkurung dalam gempa
  3. Tergabung dengan beberapa periode waktu untuk verifikasi, meningkatkan kualitas sinyal
  4. Pengelolaan Posisi Optimasi, Posisi Peningkatan
  5. Pertimbangkan perubahan siklus waktu transaksi secara dinamis
  6. Menggunakan Pemilihan Saham Dasar untuk Mengatasi Tren Utama

Meringkaskan

Strategi stop-loss dinamis ini adalah strategi pelacakan tren yang sangat praktis secara keseluruhan. Strategi ini dapat menangkap peluang untuk membalikkan tren, dan menggunakan stop-loss dinamis untuk mengontrol risiko secara efektif. Jika parameter dioptimalkan dengan benar, keuntungan yang lebih baik dapat diperoleh dalam situasi tren. Tetapi strategi ini juga perlu diperhatikan beberapa masalah, seperti stop-loss yang terlalu sensitif, frekuensi perdagangan yang terlalu tinggi.

Kode Sumber Strategi
/*backtest
start: 2023-11-11 00:00:00
end: 2023-11-12 00:00:00
period: 3m
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/
//@version=4
strategy(shorttitle='Volatility Stop Strategy',title='Volatility Stop Strategy (by Coinrule)', overlay=true, initial_capital = 100, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type=strategy.commission.percent, commission_value=0.1)

// Works better on 3h, 1h, 2h, 4h
// Best time frame 2H

//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2021, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false       // create function "within window of time"

length = input(20, "Length", minval = 2)
src = input(close, "Source")
factor = input(3.0, "vStop Multiplier", minval = 0.25, step = 0.25)
volStop(src, atrlen, atrfactor) =>
    var max     = src
    var min     = src
    var uptrend = true
    var stop    = 0.0
    atrM        = nz(atr(atrlen) * atrfactor, tr)
    max         := max(max, src)
    min         := min(min, src)
    stop        := nz(uptrend ? max(stop, max - atrM) : min(stop, min + atrM), src)
    uptrend     := src - stop >= 0.0
    if uptrend != nz(uptrend[1], true)
        max    := src
        min    := src
        stop   := uptrend ? max - atrM : min + atrM
    [stop, uptrend]

[vStop, uptrend] = volStop(src, length, factor)


//Entry 


strategy.entry(id="long", long = true, when = crossover(close, vStop) and window())

//Exit
strategy.close("long", when = crossunder(close, vStop))

plot(vStop,"Vstop", color.black, linewidth=2)