Sumber dimuat naik... memuat...

Strategi penyelaman purata bergerak ATR Stop Loss dan Take Profit

Penulis:ChaoZhang, Tarikh: 2024-05-29 17:19:21
Tag:SMAATRMA

img

Ringkasan

Strategi ini adalah strategi perdagangan kuantitatif berdasarkan crossover purata bergerak dan stop loss dan mengambil keuntungan ATR dinamik. Strategi ini menggunakan dua purata bergerak mudah (SMA) dengan tempoh yang berbeza untuk menjana isyarat perdagangan sambil menggunakan Julat Benar Purata (ATR) untuk menetapkan stop loss secara dinamik dan mengambil tahap keuntungan untuk kawalan risiko yang lebih baik. Di samping itu, strategi ini menapis isyarat perdagangan berdasarkan sesi perdagangan yang berbeza untuk meningkatkan ketahanan.

Prinsip Strategi

Prinsip teras strategi ini adalah untuk menangkap perubahan dalam trend harga menggunakan persimpangan purata bergerak. Apabila purata bergerak pantas melintasi di atas purata bergerak perlahan, isyarat beli dihasilkan; sebaliknya, apabila purata bergerak pantas melintasi di bawah purata bergerak perlahan, isyarat jual dihasilkan. Pada masa yang sama, strategi menggunakan ATR untuk menetapkan stop loss dan mengambil keuntungan secara dinamik.

Kelebihan Strategi

  1. Kesederhanaan: Strategi menggunakan penunjuk teknikal biasa seperti purata bergerak mudah dan ATR, menjadikannya mudah difahami dan dilaksanakan.
  2. Kawalan risiko dinamik: Dengan menetapkan stop loss secara dinamik dan mengambil tahap keuntungan, strategi dapat mengawal risiko secara adaptif berdasarkan turun naik pasaran.
  3. Penapisan masa: Dengan mengehadkan sesi dagangan, strategi dapat mengelakkan dagangan semasa tempoh kecairan yang rendah, meningkatkan ketahanan.

Risiko Strategi

  1. Risiko pengoptimuman parameter: Prestasi strategi bergantung pada pemilihan tempoh purata bergerak dan tempoh pengiraan ATR. Tetapan parameter yang berbeza boleh menyebabkan perbezaan yang ketara dalam prestasi strategi, menimbulkan risiko pengoptimuman parameter.
  2. Risiko pengiktirafan trend: Strategi silang purata bergerak boleh menghasilkan banyak isyarat palsu dalam pasaran yang bergelombang, yang mengakibatkan prestasi yang lemah.
  3. Risiko Stop Loss: Walaupun strategi menetapkan tahap stop loss dinamik, kerugian yang ketara masih boleh berlaku semasa turun naik pasaran yang teruk.

Arahan Pengoptimuman Strategi

  1. Penapisan isyarat: Pertimbangkan untuk memperkenalkan penunjuk teknikal lain atau penunjuk sentimen pasaran untuk menapis isyarat perdagangan dan meningkatkan kualiti isyarat.
  2. Pengoptimuman parameter dinamik: Gunakan pembelajaran mesin atau algoritma adaptif untuk menyesuaikan parameter strategi secara dinamik untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.
  3. Pengoptimuman pengurusan risiko: Menggabungkan teknik pengurusan risiko yang lebih maju, seperti penyesuaian turun naik dan peruntukan modal dinamik, untuk mengawal lagi risiko strategi.

Ringkasan

Strategi ini adalah strategi trend-mengikuti yang mudah dan mudah difahami yang menangkap trend harga menggunakan persimpangan purata bergerak sambil mengawal risiko dengan ATR. Walaupun strategi ini mempunyai risiko tertentu, ia boleh ditingkatkan lagi melalui pengoptimuman parameter, penapisan isyarat, dan peningkatan pengurusan risiko.


/*backtest
start: 2024-04-01 00:00:00
end: 2024-04-30 23:59:59
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Enhanced Moving Average Crossover Strategy", overlay=true)

// Input parameters
fastLength = input(10, title="Fast MA Length")
slowLength = input(50, title="Slow MA Length")
atrLength = input(14, title="ATR Length")
riskPerTrade = input(1, title="Risk Per Trade (%)") / 100

// Time-based conditions
isLondonSession = hour >= 8 and hour <= 15
isAsianSession = hour >= 0 and hour <= 7
isEuropeanSession = hour >= 7 and hour <= 14

// Moving Averages
fastMA = ta.sma(close, fastLength)
slowMA = ta.sma(close, slowLength)

// Average True Range (ATR) for dynamic stop loss and take profit
atr = ta.atr(atrLength)

// Buy and Sell Conditions
buySignal = ta.crossover(fastMA, slowMA)
sellSignal = ta.crossunder(fastMA, slowMA)

// Dynamic stop loss and take profit
stopLoss = close - atr * 1.5
takeProfit = close + atr * 3

// Strategy Logic
if (buySignal and isEuropeanSession)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Take Profit/Stop Loss", "Buy", limit=takeProfit, stop=stopLoss)

if (sellSignal and isEuropeanSession)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Take Profit/Stop Loss", "Sell", limit=takeProfit, stop=stopLoss)

// Plotting
plot(fastMA, color=color.blue, title="Fast MA")
plot(slowMA, color=color.red, title="Slow MA")
plotshape(series=buySignal, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(series=sellSignal, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")


Berkaitan

Lebih lanjut