Strategi pembalikan crossover rata-rata bergerak ganda

Penulis:ChaoZhang, Tanggal: 2023-12-01 16:56:43
Tag:

img

Gambaran umum

Strategi Reversal Crossover Dual Moving Average adalah strategi perdagangan kuantitatif khas yang melacak tren. Strategi ini memanfaatkan sinyal crossover dari garis 9 hari dan garis 14 hari dalam indikator rata-rata bergerak ganda untuk membangun sinyal beli dan jual. Strategi ini membeli ketika garis 9 hari menerobos garis 14 hari dari bawah untuk membentuk salib emas, dan menjual ketika garis 9 hari menerobos garis 14 hari dari atas untuk membentuk salib kematian. Untuk menyaring sinyal palsu, strategi ini juga memperkenalkan indikator garis 50 hari untuk menentukan apakah harga menerobos.

Prinsip Strategi

Strategi ini terutama diperdagangkan berdasarkan sinyal golden cross dan death cross dari indikator moving average ganda. Dalam rata-rata bergerak ganda, garis 9 hari mewakili tren jangka pendek, garis 14 hari mewakili tren jangka menengah, dan persilangan mereka adalah indikator teknis yang efektif untuk menilai perubahan tren pasar. Ketika garis tren jangka pendek menembus garis tren jangka menengah dari bawah untuk membentuk salib emas, itu menunjukkan garis tren jangka pendek menguat, yang merupakan sinyal beli; ketika menembus dari atas untuk membentuk garis tren jangka pendek melemah, yang merupakan sinyal jual.

Selain itu, strategi ini juga memperkenalkan garis 50 hari untuk menyaring sinyal yang menyesatkan. Ini hanya menghasilkan pembelian ketika harga berada di atas garis 50 hari; dan hanya menghasilkan penjualan ketika harga berada di bawah garis 50 hari.

Logika inti adalah sebagai berikut:

// Buy condition: 9-day line crosses above 14-day line and close price is above 50-day line 
buyCondition = ta.crossover(sma9, sma14) and close > sma50 

// Sell condition: 9-day line crosses below 14-day line and close price is below 50-day line
sellCondition = ta.crossunder(sma9, sma14) and close < sma50

Analisis Keuntungan

Keuntungan dari strategi rata-rata bergerak ganda jelas:

  1. Mudah dimengerti dan diterapkan, cocok untuk pemula untuk belajar.
  2. Ikuti tren, hindari terjebak di pasar yang terbatas.
  3. Gunakan indikator jangka menengah hingga panjang untuk menyaring sinyal yang menyesatkan dan menghindari tertipu oleh kebisingan pasar jangka pendek.
  4. Dapat melacak tren pasar dan keuntungan secara efisien untuk jangka waktu yang lama.

Analisis Risiko

Strategi rata-rata bergerak ganda juga memiliki beberapa risiko:

  1. Dalam kondisi pasar yang ekstrim seperti jatuhnya pasar, dapat terjadi penarikan besar sebelum bentuk death cross.
  2. Di pasar yang berbeda, golden crosses dan death crosses bergantian, berulang kali membuka dan menghentikan posisi.

Untuk mengatasi risiko, optimasi seperti di bawah ini dapat dilakukan:

  1. Memperkenalkan indikator lain untuk cepat memotong kerugian dalam kondisi pasar yang jatuh.
  2. Tambahkan lebih banyak filter pembukaan untuk menghindari penyeberangan bergantian di berbagai pasar.

Arahan Optimasi

Strategi rata-rata bergerak ganda dapat dioptimalkan dalam beberapa aspek:

  1. Optimalisasi parameter, penyesuaian periode rata-rata bergerak, optimalisasi parameter indikator.
  2. Seleksi lebih lanjut sinyal pembukaan. memasukkan lebih banyak indikator untuk menilai kondisi pasar dan menghindari sinyal palsu.
  3. Memperkenalkan mekanisme stop loss, menggunakan stop loss bergerak, penetration stop loss dan metode stop lainnya.
  4. Gabungkan dengan strategi perdagangan lainnya seperti strategi volume dan volatilitas.
  5. Menggunakan pengaruh yang tepat untuk meningkatkan efisiensi operasional.

Ringkasan

Strategi rata-rata bergerak ganda umumnya merupakan strategi menghasilkan keuntungan yang efisien. Strategi ini dapat menghasilkan keuntungan dengan mengikuti tren secara terus menerus. Pada saat yang sama, strategi ini memiliki risiko tertentu dan perlu perbaikan lebih lanjut. Dengan mengoptimalkan parameter, metode stop dan kombinasi strategi, efek dari strategi ini dapat ditingkatkan lebih lanjut.


/*backtest
start: 2022-11-24 00:00:00
end: 2023-11-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("smaCrossReverse", shorttitle="smaCrossReverse", overlay=true)

// Define the length for the SMAs
sma9Length = input(9, title="SMA 9 Length")
sma14Length = input(14, title="SMA 14 Length")
sma50Length = input(50, title="SMA 50 Length")  // Add input for SMA 50

// Calculate SMAs
sma9 = ta.sma(close, sma9Length)
sma14 = ta.sma(close, sma14Length)
sma50 = ta.sma(close, sma50Length)  // Calculate SMA 50

// Buy condition: SMA 9 crosses above SMA 14 and current price is above SMA 50
buyCondition = ta.crossover(sma9, sma14) and close > sma50

// Sell condition: SMA 9 crosses below SMA 14 and current price is below SMA 50
sellCondition = ta.crossunder(sma9, sma14) and close < sma50

// Track the time since position was opened
var float timeElapsed = na
if (buyCondition)
    timeElapsed := 0
else
    timeElapsed := na(timeElapsed[1]) ? timeElapsed[1] : timeElapsed[1] + 1

// Close the buy position after 5 minutes
if (timeElapsed >= 5)
    strategy.close("Buy")

// Track the time since position was opened
var float timeElapsedSell = na
if (sellCondition)
    timeElapsedSell := 0
else
    timeElapsedSell := na(timeElapsedSell[1]) ? timeElapsedSell[1] : timeElapsedSell[1] + 1

// Close the sell position after 5 minutes
if (timeElapsedSell >= 5)
    strategy.close("Sell")

// Plot the SMAs on the chart
plot(sma9, title="SMA 9", color=color.blue)
plot(sma14, title="SMA 14", color=color.red)
plot(sma50, title="SMA 50", color=color.green)  // Plot SMA 50 on the chart

// Strategy entry and exit conditions using if statements
if (buyCondition)
    strategy.entry("Buy", strategy.long)

if (sellCondition)
    strategy.entry("Sell", strategy.short)


Lebih banyak