Strategi Penembusan Trend Intraday

Penulis:ChaoZhang, Tarikh: 2023-09-18 13:11:51
Tag:

Ringkasan

Ini adalah trend jangka pendek intraday mengikut strategi berdasarkan penunjuk Supertrend. Pengguna boleh menentukan sesi dagangan intraday di mana strategi akan dijalankan.

Strategi ini membalikkan kedudukan menggunakan kuantiti ganda apabila isyarat berubah.

Logika Strategi

  1. Mengira penunjuk Supertrend berdasarkan pengganda yang ditakrifkan pengguna dan tempoh ATR.

  2. Menggambar garis Supertrend sebagai sokongan dan rintangan.

  3. Tentukan keadaan panjang/pendek. Tutup di atas garis Supertrend adalah keadaan panjang. Tutup di bawah garis Supertrend adalah keadaan pendek.

  4. Periksa sama ada bar semasa adalah dalam sesi intraday yang ditakrifkan oleh pengguna.

  5. Mengeluarkan isyarat panjang/pendek hanya apabila sesi intraday aktif dan syarat panjang/pendek dipenuhi.

  6. Posisi terbalik dengan mengambil perdagangan bertentangan dengan kuantiti berganda apabila arah Supertrend berubah.

  7. Perempatkan kedudukan terbuka apabila arah Supertrend tidak berubah dan sesi intraday berakhir.

Analisis Kelebihan

  1. Supertrend mengenal pasti trend dan mengurangkan isyarat palsu.

  2. Menggabungkan Supertrend dengan harga dekat mengelakkan berhenti terlalu awal.

  3. Mengubah kedudukan tepat pada masanya mengurangkan kerugian.

  4. Sesi intraday mengelakkan risiko semalam.

  5. Keluar paksa mengelakkan risiko lupa untuk berpusing.

Analisis Risiko

  1. Parameter Supertrend yang tidak betul boleh menyebabkan prestasi strategi yang buruk.

  2. Peralihan kedudukan meningkatkan kekerapan perdagangan dan kos.

  3. Keluar paksa pada akhir sesi boleh menyebabkan kerugian.

  • Risiko 1 boleh dikurangkan melalui optimalisasi parameter.

  • Risiko 2 boleh dikawal melalui stop loss.

  • Risiko 3 boleh dielakkan dengan menggunakan stop loss atau penapis trend.

Peluang Peningkatan

  1. Uji penunjuk trend yang berbeza seperti MA, KDJ dll.

  2. Tambah logik stop loss.

  3. Tambah penapis trend untuk mengelakkan kerugian keluar paksa.

  4. Mengoptimumkan parameter pengganda dan tempoh ATR.

  5. Ujian pada instrumen yang berbeza.

Kesimpulan

Strategi ini menggabungkan Supertrend dan pengurusan sesi intraday untuk memanfaatkan gangguan trend jangka pendek. pembalikan kedudukan dan keluar paksa berkesan mengawal risiko. Penambahbaikan lanjut boleh dibuat melalui pengoptimuman parameter, stop loss dan penapisan trend.


/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 1h
basePeriod: 15m
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("Supertrend - Intraday", overlay=true, calc_on_every_tick = true)

// ********** Strategy inputs - Start **********

// Used for intraday handling
// Session value should be from market start to the time you want to square-off 
// your intraday strategy
// Important: The end time should be at least 2 minutes before the intraday
// square-off time set by your broker
var i_marketSession = input(title="Market session", type=input.session, 
     defval="0915-1455", confirm=true)

var float i_multiplier = input(title = "Multiplier", type = input.float, 
     defval = 4, confirm=true)

var int i_atrPeriod = input(title = "ATR Period", type = input.integer, 
     defval = 14, confirm=true)

// ********** Strategy inputs - End **********


// ********** Supporting functions - Start **********

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

// ********** Supporting functions - End **********


// ********** Strategy - Start **********

[superTrend, dir] = supertrend(i_multiplier, i_atrPeriod)

colResistance = dir == 1 and dir == dir[1] ? color.new(color.red, 0) : color.new(color.red, 100)
colSupport = dir == -1 and dir == dir[1] ? color.new(color.green, 0) : color.new(color.green, 100)

plot(superTrend, color = colResistance, linewidth=2)
plot(superTrend, color = colSupport, linewidth=2)

// Long/short condition
longCondition = close > superTrend
shortCondition = close < superTrend

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

// Trade only if intraday session is active
 
// Long position
// When longCondition and intradaySession both are true
strategy.entry(id = "Long", long = strategy.long, 
     when = longCondition and intradaySession)
 
// Short position
// When shortCondition and intradaySession both are true
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")

// ********** Strategy - End **********

Lebih lanjut