Strategi Crossover Rata-rata Bergerak

MA SMA
Tanggal Pembuatan: 2024-04-30 17:33:09 Akhirnya memodifikasi: 2024-04-30 17:33:09
menyalin: 1 Jumlah klik: 644
1
fokus pada
1617
Pengikut

Strategi Crossover Rata-rata Bergerak

Ringkasan

Strategi ini menggunakan dua rata-rata bergerak (((MA) untuk menghasilkan sinyal perdagangan. Ketika MA dengan periode yang lebih pendek melintasi MA dengan periode yang lebih panjang dari bawah ke atas, menghasilkan sinyal beli; Ketika MA dengan periode yang lebih pendek melintasi MA dengan periode yang lebih panjang dari atas ke bawah, menghasilkan sinyal jual. Strategi ini mengatur periode perdagangan (((8-20 UTC) dan titik berhenti (((150 poin) sekaligus.

Prinsip Strategi

  1. Hitung rata-rata bergerak dari dua periode yang berbeda (default adalah 5 periode dan 20 periode).
  2. Perhitungan apakah MA periode pendek naik / turun melalui MA periode panjang, sebagai sinyal beli / jual.
  3. Setel waktu perdagangan untuk 8-20 UTC, dan lakukan perdagangan hanya dalam waktu tersebut.
  4. Tentukan apakah 4 garis K terakhir ditutup di atas / di bawah MA untuk mengkonfirmasi tren.
  5. Jika memenuhi kondisi buy/sell, maka buka posisi dan atur stop loss 150 poin.

Keunggulan Strategis

  1. Menggunakan dua periode MA yang berbeda dapat secara efektif menangkap tren, yang berlaku untuk pasar yang sedang tren.
  2. Pengaturan periode perdagangan dapat menghindari perdagangan pada saat likuiditas rendah dan mengurangi risiko.
  3. Dengan menilai apakah 4 garis K terakhir ditutup di atas / di bawah MA, tren dapat dikonfirmasi dan meningkatkan keandalan sinyal.
  4. Tetapkan titik tolak yang tetap untuk mengunci keuntungan dan mengendalikan risiko.

Risiko Strategis

  1. Dalam pasar yang bergejolak, strategi ini mungkin sering kali memberikan sinyal yang salah dan mengakibatkan kerugian.
  2. Fixed stop point dapat membatasi ruang untuk strategi untuk menghasilkan uang.
  3. Strategi ini tidak menetapkan stop loss, yang mungkin berisiko lebih besar jika pasar berbalik dengan cepat.

Arah optimasi strategi

  1. Lebih banyak indikator teknis seperti RSI, MACD dan lain-lain dapat dipertimbangkan untuk meningkatkan keandalan sinyal.
  2. Anda dapat mengoptimalkan pengaturan stop loss, seperti stop loss yang dinamis atau stop loss berbasis ATR.
  3. Anda dapat menggabungkan informasi tentang struktur mikro pasar, seperti arus pesanan, untuk mengkonfirmasi kedua sinyal perdagangan.
  4. Adaptivitas strategi dapat ditingkatkan dengan pengaturan parameter yang berbeda untuk kondisi pasar yang berbeda (trend/shake).

Meringkaskan

Strategi ini didasarkan pada persilangan rata-rata bergerak dari dua periode yang berbeda untuk menghasilkan sinyal perdagangan, dan berlaku untuk pasar yang sedang tren. Dengan mengatur periode perdagangan dan titik berhenti tetap, risiko dapat dikendalikan sampai batas tertentu. Namun, strategi ini mungkin tidak berkinerja baik di pasar yang bergoyang, dan titik berhenti tetap dapat membatasi ruang keuntungan strategi.

Kode Sumber Strategi
/*backtest
start: 2024-03-01 00:00:00
end: 2024-03-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

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

// User-defined moving average periods
ma1Periods = input(5, title="First Moving Average Periods")
ma2Periods = input(20, title="Second Moving Average Periods")

// Calculate moving averages
ma1 = sma(close, ma1Periods)
ma2 = sma(close, ma2Periods)

// Plot moving averages
plot(ma1, color=color.red, linewidth=2, title="First Moving Average")
plot(ma2, color=color.blue, linewidth=2, title="Second Moving Average")

// Detect crossovers and crossunders
bullishCross = crossover(ma1, ma2)
bearishCross = crossunder(ma1, ma2)

// Define trading hours (8 AM to 2 PM UTC)
startHour = 8
endHour = 20
utcHour = hour(time, "UTC")
isMarketOpen = true

// Define profit target
profitTarget = 150

// Check if the price has closed above/below the MA for the past 4 bars
aboveMa = close[4] > ma1[4] and close[3] > ma1[3] and close[2] > ma1[2] and close[1] > ma1[1]
belowMa = close[4] < ma1[4] and close[3] < ma1[3] and close[2] < ma1[2] and close[1] < ma1[1]

// Create buy and sell signals
if (bullishCross and isMarketOpen and aboveMa)
    strategy.entry("Buy", strategy.long)
    strategy.exit("Sell", "Buy", profit=profitTarget)
if (bearishCross and isMarketOpen and belowMa)
    strategy.entry("Sell", strategy.short)
    strategy.exit("Cover", "Sell", profit=profitTarget)

// Plot shapes on crossovers
plotshape(series=bullishCross and isMarketOpen and aboveMa, location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(series=bearishCross and isMarketOpen and belowMa, location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")