Sumber daya yang dimuat... Pemuatan...

Strategi Pelacakan Tren Berdasarkan SMA dan ATR

Penulis:ChaoZhang, Tanggal: 2024-01-18 16:04:51
Tag:

img

I. Nama Strategi

Strategi ini bernamaStrategi Pelacakan Tren Berdasarkan SMA dan ATR.

II. Ringkasan Strategi

Strategi ini menggunakan indikator SMA untuk menentukan arah tren harga dan menetapkan posisi stop loss dengan indikator ATR untuk melacak tren.

III. Prinsip Strategi

1. Sinyal Masuk

(1) Pergi panjang ketika harga penutupan naik dan lebih tinggi dari SMA.
(2) Pergi short ketika harga penutupan turun dan lebih rendah dari SMA.

2. Hentikan Pengaturan Kerugian

Gunakan nilai indikator ATR dikalikan dengan kelipatan stop loss yang ditetapkan sebagai posisi stop loss.

3. Hentikan Pembaruan Kerugian

Setelah setiap bar ditutup, periksa posisi stop loss dan perbarui ke nilai stop loss yang lebih dekat dengan harga saat ini.

4. Sinyal Keluar

Aktifkan stop loss saat harga menyentuh stop loss line.

IV. Keuntungan dari Strategi

1. Kemampuan Pelacakan Tren yang Kuat

Pengaturan stop loss dinamis dari indikator ATR memungkinkan pelacakan otomatis tren.

2. Mengontrol Pengurangan

Aturan stop loss yang ketat membantu mengontrol penarikan maksimum per perdagangan.

3. Pengaturan Parameter Sederhana

Hanya 3 parameter membuat penyesuaian dan optimasi mudah.

V. Risiko Strategi

1. Risiko Stop Loss terlalu longgar

Jika stop loss multiple diatur terlalu tinggi, posisi stop loss mungkin terlalu longgar, sehingga meningkatkan drawdown.

2. Resiko Pencegahan Kebohongan

Penembusan harga yang salah dapat menyebabkan kehilangan arah tren. indikator lain harus digunakan untuk menyaring sinyal.

3. Risiko Optimasi Parameter

ketergantungan yang berlebihan pada optimasi parameter dapat menyebabkan fit kurva. stabilitas parameter harus dievaluasi dengan hati-hati.

VI. Arah Optimasi Strategi

1. Mengoptimalkan Algoritma Stop Loss

Jenis algoritma stop loss lainnya dapat diuji, seperti stop loss bergerak, stop loss proporsional, dll.

2. Menambahkan Sinyal Filter

Indikator lain dapat ditambahkan untuk menyaring breakout palsu.

3. Mengevaluasi Stabilitas Parameter

Sejarah pengujian back-end untuk mengevaluasi parameter kemampuan beradaptasi dengan produk dan kerangka waktu yang berbeda.

VII. Ringkasan

Ide keseluruhan dari strategi ini jelas. Ini menilai arah tren melalui SMA dan menggunakan ATR untuk melacak tren dengan kontrol penarikan yang baik. Ini cocok untuk perdagangan tren jangka menengah dan panjang. Tetapi parameter masih perlu penyesuaian yang tepat dalam perdagangan langsung, dan risiko terlalu optimasi harus dicegah.


/*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")


Lebih banyak