
Strategi ini adalah sistem perdagangan pelacakan tren yang menggabungkan Saluran Donchian dan 200 siklus SMA. Strategi ini mengidentifikasi peluang potensial untuk melakukan over dan under dengan melihat harga menerobos Saluran Donchian dan menggabungkan pergerakan SMA. Strategi ini juga merancang mekanisme stop loss dinamis berdasarkan garis tengah Saluran untuk mengendalikan risiko.
Logika inti dari strategi ini didasarkan pada elemen-elemen kunci berikut:
Saran pengendalian risiko:
Optimasi Sinyal:
Optimalisasi Stop Loss:
Optimalisasi manajemen posisi:
Optimasi waktu:
Strategi ini menggunakan kombinasi dari saluran klasik dan indikator rata-rata bergerak untuk membangun sistem pelacakan tren yang jelas secara logis dan dapat dikendalikan dengan risiko. Keuntungan utama dari strategi ini adalah bahwa sinyal jelas dan kontrol risiko masuk akal, tetapi kinerja dalam pasar yang bergoyang mungkin kurang baik. Strategi ini memiliki ruang untuk pengoptimalan yang lebih besar dengan cara menambahkan konfirmasi volume, mengoptimalkan mekanisme stop loss dan memperkenalkan manajemen posisi dinamis.
/*backtest
start: 2024-02-21 00:00:00
end: 2024-03-18 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ardhankurniawan
//@version=5
strategy("Donchian Channel Strategy with SMA 200 and Custom SL", overlay=true)
// Parameters
length = 20
smaLength = 200 // Changed SMA to 200
// Calculate Donchian Channel
upper = ta.highest(high, length)
lower = ta.lowest(low, length)
mid = (upper + lower) / 2 // Mid Line
// Calculate SMA 200
sma200 = ta.sma(close, smaLength)
// Plot Donchian Channel, SMA 200, and Mid Line
plot(upper, color=color.green, linewidth=2, title="Upper Line")
plot(lower, color=color.red, linewidth=2, title="Lower Line")
plot(mid, color=color.orange, linewidth=1, title="Mid Line")
plot(sma200, color=color.blue, linewidth=2, title="SMA 200")
// Long and Short logic based on SMA 200
longCondition = upper > ta.highest(upper[1], length) and close > sma200
shortCondition = lower < ta.lowest(lower[1], length) and close < sma200
// Calculate Stop Loss for Long and Short based on new conditions
longSL = mid - 0.45 * (mid - lower) // SL for Long when price crosses down mid line
shortSL = mid + 0.45 * (upper - mid) // SL for Short when price crosses up mid line
// Enter Long or Short position
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)
// Place Stop Loss
strategy.exit("Exit Long", from_entry="Long", stop=longSL)
strategy.exit("Exit Short", from_entry="Short", stop=shortSL)