Strategi mengikut aliran berdasarkan SMA dan ATR


Tarikh penciptaan: 2024-01-18 16:04:51 Akhirnya diubah suai: 2024-01-18 16:04:51
Salin: 0 Bilangan klik: 637
1
fokus pada
1617
Pengikut

Strategi mengikut aliran berdasarkan SMA dan ATR

1. Nama strategi

Strategi ini dinamakanStrategi mengikut aliran berdasarkan SMA dan ATR

Kedua, gambaran strategi

Strategi ini menggunakan indikator SMA untuk menentukan arah trend harga, dan menggunakan indikator ATR untuk menetapkan kedudukan stop loss untuk menjejaki trend. Buat short apabila harga melanggar trend kenaikan, dan buat lebih banyak apabila harga melanggar trend penurunan, untuk mencapai perdagangan trend.

Ketiga, asas strategi

1. isyarat masuk

(1) Melakukan lebih banyak apabila harga penutupan meningkat dan lebih tinggi daripada SMA (2) Melepaskan diri apabila harga penutupan jatuh dan berada di bawah SMA

2. Tetapan Stop Loss

Menggunakan nilai indikator ATR kalikan dengan kelipatan henti yang ditetapkan sebagai kedudukan henti.

3. Kemas kini berhenti

Setiap K baris ditutup, periksa kedudukan hentian dan kemas kini kepada nilai hentian yang lebih dekat dengan harga semasa.

4. isyarat keluar

Harga menyentuh garisan stop loss dan berhenti secara aktif.

Keunggulan Strategi

1. Keupayaan untuk mengesan trend

Tetapan hentian dinamik menggunakan penunjuk ATR membolehkan trend dijejaki secara automatik.

2. Kemampuan untuk menarik balik kawalan

Peraturan berhenti rugi yang ketat membantu mengawal jumlah maksimum yang boleh ditarik balik dalam satu transaksi.

3. Tetapan parameter mudah

Hanya 3 parameter untuk penyesuaian dan pengoptimuman.

Lima, Risiko Strategik

1. Kemungkinan terlalu melonggarkan stop loss

Jika penggandaan hentian terlalu besar, ia boleh menyebabkan kedudukan hentian terlalu longgar, yang meningkatkan penarikan balik.

2. Risiko Pelanggaran Palsu

Apabila harga berlaku pecah palsu, ia boleh menyebabkan arah trend yang salah, dan ia harus digabungkan dengan isyarat penapis indikator lain.

3. Parameter pengoptimuman risiko

Pengoptimuman parameter yang terlalu bergantung boleh menyebabkan pengoptimuman kurva. Kestabilan parameter harus dinilai dengan berhati-hati.

Keenam, Strategi Optimasi

1. Mengoptimumkan algoritma henti rugi

Jenis algoritma penghentian yang lain boleh diuji, seperti penghentian bergerak, penghentian peratusan, dan sebagainya.

2. Tambah isyarat penapisan

Penembusan palsu penapis boleh ditambah dengan penunjuk lain.

3. Penilaian kestabilan parameter

Parameter penilaian kesesuaian untuk pelbagai jenis dan kitaran melalui pengesanan semula sejarah.

VII

Strategi ini mempunyai pemikiran keseluruhan yang jelas, menilai arah trend melalui SMA, dan menggunakan ATR untuk menjejaki trend, kawalan pengunduran yang baik, sesuai untuk perdagangan trend garis panjang dan tengah. Namun, parameter masih perlu disesuaikan dengan betul di pasaran nyata, dan mencegah risiko terlalu optimum.

Kod sumber strategi
/*backtest
start: 2024-01-16 00:00:00
end: 2024-01-16 17:00:00
period: 1m
basePeriod: 1m
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/
// © omererkan

//@version=5
strategy(title="SMA with ATR", overlay=true)

smaLen = input.int(100, title="SMA Length")

atrLen     = input.int(10, title="ATR Length")
stopOffset = input.float(4, title="Stop Offset Multiple", step=0.25)


smaValue  = ta.sma(close, smaLen)
stopValue = ta.atr(atrLen) * stopOffset


lowerCloses = close < close[1] and 
     close[1] < close[2] and
     close[2] < close[3]

enterLong = close > smaValue and 
     lowerCloses


longStop = 0.0
longStop := if enterLong and strategy.position_size < 1
    close - stopValue
else
    math.max(close - stopValue, longStop[1])


higherCloses = close > close[1] and 
     close[1] > close[2] and
     close[2] > close[3]

enterShort = close < smaValue and 
     higherCloses


shortStop = 0.0
shortStop := if enterShort and strategy.position_size > -1
    close + stopValue
else
    math.min(close + stopValue, shortStop[1])


plot(smaValue, color=#4169e1, linewidth=2, title="SMA")

plot(strategy.position_size > 0 ? longStop : na, color=color.lime,
     style=plot.style_linebr, title="Long stop", linewidth=2)

plot(strategy.position_size < 0 ? shortStop : na, color=color.red,
     style=plot.style_linebr, title="Short stop", linewidth=2)


if enterLong
    strategy.entry("EL", strategy.long)

if enterShort
    strategy.entry("ES", strategy.short)


if strategy.position_size > 0
    strategy.exit("SL Long", from_entry="EL", stop=longStop)

if strategy.position_size < 0
    strategy.exit("SL Short", from_entry="ES", stop=shortStop)


if enterLong
    strategy.cancel("Exit Short")

if enterShort
    strategy.cancel("Exit Long")