Strategi Breakout Tren Intraday

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

Gambaran umum

Ini adalah tren intraday jangka pendek yang mengikuti strategi berdasarkan indikator Supertrend. Pengguna dapat menentukan sesi perdagangan intraday di mana strategi akan berjalan.

Strategi ini membalikkan posisi dengan menggunakan jumlah ganda ketika sinyal berubah.

Logika Strategi

  1. Menghitung indikator Supertrend berdasarkan pengganda yang ditentukan pengguna dan periode ATR.

  2. Gambarkan garis Supertrend sebagai support dan resistance.

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

  4. Periksa apakah bar saat ini berada dalam sesi intraday yang ditentukan oleh pengguna.

  5. Menerbitkan sinyal panjang/pendek hanya ketika sesi intraday aktif dan kondisi panjang/pendek terpenuhi.

  6. Posisi terbalik dengan mengambil perdagangan berlawanan dengan jumlah ganda ketika arah Supertrend berubah.

  7. Perempatkan posisi terbuka ketika arah Supertrend tidak berubah dan sesi intraday berakhir.

Analisis Keuntungan

  1. Supertrend mengidentifikasi tren dan mengurangi sinyal palsu.

  2. Mengkombinasikan Supertrend dengan harga dekat menghindari dihentikan lebih awal.

  3. Membalik posisi tepat waktu mengurangi kerugian.

  4. Sesi intraday menghindari risiko overnight.

  5. Keluar paksa menghindari risiko lupa untuk mengikat.

Analisis Risiko

  1. Parameter Supertrend yang tidak tepat dapat menyebabkan kinerja strategi yang buruk.

  2. Membalik posisi meningkatkan frekuensi perdagangan dan biaya.

  3. Keluar paksa di akhir sesi dapat menyebabkan kerugian.

  • Risiko 1 dapat dikurangi melalui optimasi parameter.

  • Risiko 2 dapat dikendalikan melalui stop loss.

  • Risiko 3 dapat dihindari dengan menggunakan stop loss atau filter tren.

Peluang Peningkatan

  1. Uji indikator tren yang berbeda seperti MA, KDJ dll.

  2. Tambahkan logika stop loss.

  3. Tambahkan filter tren untuk menghindari kerugian keluar paksa.

  4. Mengoptimalkan parameter perkalian dan periode ATR.

  5. Uji pada instrumen yang berbeda.

Kesimpulan

Strategi ini menggabungkan Supertrend dan manajemen sesi intraday untuk memanfaatkan pemutusan tren jangka pendek. pembalikan posisi dan keluar paksa secara efektif mengendalikan risiko. perbaikan lebih lanjut dapat dilakukan melalui optimasi parameter, stop loss dan penyaringan tren.


/*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 banyak