Strategi ini bernamaStrategi Pelacakan Tren Berdasarkan SMA dan ATR.
Strategi ini menggunakan indikator SMA untuk menentukan arah tren harga dan menetapkan posisi stop loss dengan indikator ATR untuk melacak tren.
(1) Pergi panjang ketika harga penutupan naik dan lebih tinggi dari SMA.
(2) Pergi short ketika harga penutupan turun dan lebih rendah dari SMA.
Gunakan nilai indikator ATR
Setelah setiap bar ditutup, periksa posisi stop loss dan perbarui ke nilai stop loss yang lebih dekat dengan harga saat ini.
Aktifkan stop loss saat harga menyentuh stop loss line.
Pengaturan stop loss dinamis dari indikator ATR memungkinkan pelacakan otomatis tren.
Aturan stop loss yang ketat membantu mengontrol penarikan maksimum per perdagangan.
Hanya 3 parameter membuat penyesuaian dan optimasi mudah.
Jika stop loss multiple diatur terlalu tinggi, posisi stop loss mungkin terlalu longgar, sehingga meningkatkan drawdown.
Penembusan harga yang salah dapat menyebabkan kehilangan arah tren. indikator lain harus digunakan untuk menyaring sinyal.
ketergantungan yang berlebihan pada optimasi parameter dapat menyebabkan fit kurva. stabilitas parameter harus dievaluasi dengan hati-hati.
Jenis algoritma stop loss lainnya dapat diuji, seperti stop loss bergerak, stop loss proporsional, dll.
Indikator lain dapat ditambahkan untuk menyaring breakout palsu.
Sejarah pengujian back-end untuk mengevaluasi parameter
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")