Strategi perdagangan rata-rata bergerak ganda intraday

Penulis:ChaoZhang, Tanggal: 2024-02-27 16:36:31
Tag:

img

Gambaran umum

Ini adalah strategi perdagangan intraday sederhana yang didasarkan pada rata-rata bergerak ganda. Ini menggunakan dua rata-rata bergerak sederhana dengan periode yang berbeda dan mengambil posisi panjang atau pendek ketika rata-rata bergerak bersilang. Posisi terbalik menggunakan kuantitas ganda ketika sinyal berubah. Semua posisi terbuka di kuadratkan ketika sesi intraday berakhir.

Logika Strategi

Strategi ini menggunakan rata-rata bergerak sederhana 10 hari dan 40 hari. Perdagangan hanya terjadi setelah sinyal rata-rata bergerak selama sesi intraday yang ditentukan. Posisi terbuka yang tersisa di kuadratkan ketika sesi berakhir.

Strategi ini terutama memanfaatkan kemampuan penangkapan perubahan harga yang lebih cepat dari rata-rata bergerak periode yang lebih pendek. Ketika SMA pendek melintasi di atas SMA panjang, itu menunjukkan tren kenaikan harga dalam jangka pendek sehingga pergi panjang dapat menangkap ini. Kebalikan menunjukkan tren penurunan jangka pendek. Masukannya yang terbalik dua kali lipat memperluas potensi keuntungan.

Keuntungan

  1. Logika strategi yang sederhana dan jelas, mudah dipahami dan diimplementasikan.
  2. Mengamati tren harga jangka pendek secara efektif dengan menggunakan crossover MA ganda.
  3. Menghindari risiko overnight dengan membatasi ke sesi intraday.
  4. Meningkatkan potensi keuntungan dengan menggunakan double quantity reverse trading.

Analisis Risiko

  1. Kemungkinan kesalahan perdagangan kebisingan sebagai strategi jangka pendek.
  2. Jumlah ganda dapat memperkuat kerugian.
  3. Pemberhentian yang dipaksakan berisiko kehilangan tren yang menguntungkan yang lebih lama.

Pengurangan Risiko:

  1. Mengoptimalkan parameter MA untuk mengurangi sinyal palsu.
  2. Tambahkan filter menggunakan indikator lain.
  3. Mengoptimalkan parameter kuantitas.
  4. Relaksasi durasi sesi intraday.

Peluang Peningkatan

  1. Mengoptimalkan parameter MA dengan menguji lebih banyak kombinasi untuk yang terbaik.

  2. Tambahkan filter seperti konfirmasi MACD untuk mengurangi sinyal palsu.

  3. Mengoptimalkan pengganda kuantitas entri terbalik melalui pengaturan parameter.

  4. Uji memperpanjang durasi sesi intraday untuk hasil yang lebih baik.

Kesimpulan

Strategi ini menangkap tren jangka pendek yang terbentuk dari sinyal crossover MA, memperluas keuntungan dengan menggunakan perdagangan terbalik kuantitas ganda dan membatasi risiko overnight dengan hanya berdagang dalam sesi intraday. Optimasi lebih lanjut pada parameter dan menambahkan filter dapat meningkatkan kinerja strategi. Secara keseluruhan, ini adalah strategi yang efektif yang cocok untuk perdagangan intraday.


/*backtest
start: 2024-02-19 00:00:00
end: 2024-02-26 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Pritesh-StocksDeveloper

//@version=4
strategy("Moving Average - Intraday", shorttitle = "MA - Intraday", 
     overlay=true, calc_on_every_tick = true)

// Used for intraday handling
// Session value should be from market start to the time you want to square-off 
// your intraday strategy
var i_marketSession = input(title="Market session", type=input.session, 
     defval="0915-1455", confirm=true)

// Short & Long moving avg. period
var int i_shortPeriod = input(title = "Short MA Period", type = input.integer, 
     defval = 10, minval = 2, maxval = 20, confirm=true)
var int i_longPeriod = input(title = "Long MA Period", type = input.integer, 
     defval = 40, minval = 3, maxval = 120, confirm=true)

// A function to check whether the bar is in intraday session
barInSession(sess) => time(timeframe.period, sess) != 0

// Calculate moving averages
shortAvg = sma(close, i_shortPeriod)
longAvg = sma(close, i_longPeriod)

// Plot moving averages
plot(series = shortAvg, color = color.red, title = "Short MA", 
     linewidth = 2)
plot(series = longAvg, color = color.blue, title = "Long MA", 
     linewidth = 2)

// Long/short condition
longCondition = crossover(shortAvg, longAvg)
shortCondition = crossunder(shortAvg, longAvg)

// See if intraday session is active
bool intradaySession = barInSession(i_marketSession)

// Trade only if intraday session is active

// Long position
strategy.entry(id = "Long", long = strategy.long, 
     when = longCondition and intradaySession)

// Short position
strategy.entry(id = "Short", long = strategy.short, 
     when = shortCondition and intradaySession)

// Square-off position (when session is over and position is open)
squareOff = (not intradaySession) and (strategy.position_size != 0)
strategy.close_all(when = squareOff, comment = "Square-off")

Lebih banyak