Strategi Dagangan Purata Bergerak Dua Hari

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

img

Ringkasan

Ini adalah strategi dagangan intraday yang mudah berdasarkan purata bergerak berganda. Ia menggunakan dua purata bergerak mudah dengan tempoh yang berbeza dan mengambil kedudukan panjang atau pendek apabila purata bergerak bersilang. Posisi terbalik menggunakan kuantiti ganda apabila isyarat berubah. Semua kedudukan terbuka di kuadratkan apabila sesi intraday berakhir.

Logika Strategi

Strategi ini menggunakan purata bergerak mudah 10 hari dan 40 hari. Ia pergi lama apabila purata bergerak jangka pendek melintasi di atas satu tempoh panjang dan pergi pendek apabila persilangan terbalik berlaku. Apabila isyarat berubah, kedudukan ditutup menggunakan kuantiti berganda dan kedudukan terbalik dimulakan. Dagangan hanya berlaku mengikuti isyarat purata bergerak semasa sesi intraday yang ditentukan.

Strategi ini terutamanya menggunakan keupayaan penangkapan perubahan harga yang lebih cepat dari purata bergerak tempoh yang lebih pendek. Apabila SMA pendek melintasi di atas SMA panjang, ia menunjukkan trend kenaikan harga dalam jangka pendek oleh itu pergi panjang dapat menangkap ini. Kebalikan menunjukkan trend penurunan jangka pendek. Masukan invers kuantiti berganda memperluaskan potensi keuntungan.

Kelebihan

  1. Logik strategi yang mudah dan jelas, mudah difahami dan dilaksanakan.
  2. Mengambil secara berkesan trend harga jangka pendek menggunakan silang MA berganda.
  3. Mengelakkan risiko semalam dengan mengehadkan sesi intraday.
  4. Memperluas potensi keuntungan menggunakan perdagangan balik kuantiti berganda.

Analisis Risiko

  1. Cenderung kepada kesilapan perdagangan bunyi bising sebagai strategi jangka pendek.
  2. Jumlah dua kali ganda boleh memperkuat kerugian.
  3. Risiko yang dipaksa untuk kehilangan trend yang lebih menguntungkan.

Pengurangan Risiko:

  1. Mengoptimumkan parameter MA untuk mengurangkan isyarat palsu.
  2. Tambah penapis menggunakan penunjuk lain.
  3. Mengoptimumkan parameter kuantiti.
  4. Relaksasi tempoh sesi intraday.

Peluang Peningkatan

  1. Mengoptimumkan parameter MA dengan menguji lebih banyak kombinasi untuk kesesuaian terbaik.

  2. Tambah penapis seperti pengesahan MACD untuk mengurangkan isyarat palsu.

  3. Mengoptimumkan pengganda kuantiti masuk terbalik melalui penyesuaian parameter.

  4. Uji jangka masa sesi intraday untuk pulangan yang lebih baik.

Kesimpulan

Strategi ini menangkap trend jangka pendek yang terbentuk dari isyarat silang MA, memperluaskan keuntungan menggunakan perdagangan terbalik kuantiti berganda dan mengehadkan risiko semalaman dengan hanya berdagang dalam sesi intraday. Pengoptimuman lebih lanjut pada parameter dan menambah penapis dapat meningkatkan prestasi strategi. Secara keseluruhan, ia adalah strategi yang berkesan yang sesuai 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 lanjut