
Strategi untuk mengesan trend berdasarkan petunjuk SuperTrend. Strategi ini menggunakan petunjuk SuperTrend untuk menentukan arah trend, dan digabungkan dengan petunjuk ATR untuk menetapkan stop loss, untuk mengesan trend berisiko rendah.
Indikator utama strategi ini ialah SuperTrend, yang dikombinasikan dengan ATR untuk menentukan arah trend berdasarkan harga yang terganggu. Kaedah pengiraan khusus adalah sebagai berikut:
Garis atas: Garis atas = harga semasa - ((ATR kali ganda) Garis bawah: Garis bawah = harga semasa + ((ATR kali ganda))
Apabila harga lebih tinggi daripada garisan atas, ia adalah kecenderungan menaik; apabila harga lebih rendah daripada garisan bawah, ia adalah kecenderungan menurun.
Strategi ini berdasarkan petunjuk SuperTrend untuk menentukan arah trend, melakukan lebih banyak ketika tren bullish, dan melakukan kosong ketika tren bullish. Pada masa yang sama, strategi menggunakan julat turun naik rata-rata indikator ATR untuk menetapkan kedudukan hentian hentian, mengawal risiko.
Penyelesaian risiko: 1) Uji semula kualiti trend secara manual, mengelakkan operasi pembalikan pada penembusan palsu 2) Mengurangkan titik hentian yang sesuai untuk mengelakkan sedikit hentian dalam pergerakan normal
Ringkasan: Strategi ini menggunakan petunjuk SuperTrend untuk menentukan arah trend, penunjuk ATR menetapkan stop loss, mewujudkan perdagangan trend yang berisiko rendah. Idea strategi jelas dan mudah difahami, parameter boleh disesuaikan mengikut keutamaan risiko anda sendiri, merupakan strategi penjejakan trend jenis umum. Tetapi strategi itu sendiri tidak dapat menentukan kualiti trend, disyorkan untuk digunakan bersama dengan petunjuk atau model lain, untuk mengurangkan risiko kesalahan operasi.
/*backtest
start: 2022-12-05 00:00:00
end: 2023-12-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Advanced Trend Strategy", overlay=true)
// Input parameters
length = input(14, title="ATR Length")
multiplier = input(1.5, title="Multiplier")
src = close
// Calculate ATR
atr_value = ta.atr(length)
// Calculate Supertrend
upst = src - multiplier * atr_value
downst = src + multiplier * atr_value
var float supertrend = na
var float trend_direction = na
if (na(supertrend))
supertrend := upst
if (src > supertrend)
supertrend := upst
if (src < supertrend)
supertrend := downst
// Buy and Sell conditions
buyCondition = ta.crossover(src, supertrend)
sellCondition = ta.crossunder(src, supertrend)
// Execute Buy and Sell orders
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.close("Buy") // Close the long position
if (sellCondition)
strategy.entry("Sell", strategy.short)
if (buyCondition)
strategy.close("Sell") // Close the short position
// Plot Supertrend
plot(supertrend, color=color.blue, title="Supertrend")
// Highlight bars based on trend direction
bgcolor(src > supertrend ? color.new(color.green, 95) : src < supertrend ? color.new(color.red, 95) : na)
// Plot ATR for reference
plot(atr_value, color=color.gray, title="ATR", linewidth=2)
// Plot arrows for buy and sell signals
plotshape(buyCondition, color=color.green, style=shape.triangleup, location=location.belowbar, size=size.small, title="Buy Signal")
plotshape(sellCondition, color=color.red, style=shape.triangledown, location=location.abovebar, size=size.small, title="Sell Signal")