Strategi ini adalah strategi perdagangan intraday yang didasarkan pada bentuk grafik pagi hari, terutama menggunakan titik tinggi dan rendah di garis kurva 11:00 pagi untuk menilai pergerakan pasar. Gagasan inti dari strategi ini adalah melakukan lebih banyak ketika harga menerobos titik tinggi pagi hari, melakukan kosong ketika harga menerobos titik rendah, sambil mengatur kondisi stop loss yang sesuai.
Strategi ini bekerja sebagai berikut:
Menentukan harga kunci: Strategi pertama mengidentifikasi titik tertinggi dan terendah pada jam 11:00 pagi dan menggunakan kedua harga tersebut sebagai level acuan kunci.
Sinyal masuk:
Pengaturan Stop Loss:
Mekanisme keluar:
Pembatasan waktu perdagangan: Strategi tidak membuka perdagangan baru setelah 15:15 untuk menghindari fluktuasi yang tidak biasa sebelum penutupan.
Aturan perdagangan yang jelas: Strategi didasarkan pada logika terobosan dan pembalikan harga yang jelas, mudah dipahami dan diterapkan.
Kontrol risiko: Mengontrol risiko setiap transaksi dengan cara mengatur titik stop loss yang tetap.
Adaptasi terhadap kondisi pasar: Strategi dapat beradaptasi dengan berbagai kondisi pasar yang bergejolak berdasarkan kisaran harga yang terbentuk di pagi hari.
Eksekusi otomatis: Strategi dapat diprogram untuk melakukan transaksi yang sepenuhnya otomatis, mengurangi intervensi manusia dan pengaruh emosional.
Dagang dalam sehari: Menghindari risiko memegang posisi di malam hari dengan menutup posisi sebelum hari ditutup.
Fleksibilitas: Strategi dapat dioptimalkan parameter sesuai dengan pasar yang berbeda dan varietas perdagangan.
Risiko False Breakthrough: Pasar dapat mengalami false breakthrough, yang menyebabkan seringnya stop loss.
Pembatasan volatilitas: Pada periode rendah volatilitas, strategi mungkin sulit untuk memicu sinyal perdagangan atau menghasilkan keuntungan yang efektif.
Single Time Frame: Bergantung pada 11am saja mungkin mengabaikan informasi pasar penting dari periode waktu lainnya.
Kurangnya pelacakan tren: Strategi tidak memiliki kondisi penghentian yang ditetapkan, dan mungkin tidak dapat sepenuhnya memahami tren besar.
Stop loss tetap: Dalam pasar yang bergejolak tinggi, stop loss tetap dapat terlalu dekat, yang menyebabkan keluar prematur dari posisi menguntungkan.
Biaya transaksi: sering masuk dan keluar dapat menyebabkan biaya transaksi yang lebih tinggi, yang mempengaruhi pendapatan keseluruhan.
Memperkenalkan analisis multi-frame time: Pengertian tren yang lebih akurat dalam kombinasi dengan periode waktu yang lebih panjang.
Stop loss dinamis: Menggunakan metode seperti indikator ATR untuk mengatur stop loss dinamis untuk menyesuaikan dengan berbagai kondisi pasar yang bergejolak.
Menambahkan mekanisme stop-loss: mengatur kondisi stop-loss berdasarkan risiko-keuntungan rasio, meningkatkan rasio untung-rugi dari strategi.
Analisis Volume: Menambahkan analisis volume transaksi untuk meningkatkan keandalan sinyal terobosan.
Penyaringan kondisi pasar: memperkenalkan indikator volatilitas seperti ATR, mengurangi frekuensi perdagangan pada periode fluktuasi rendah.
Optimalkan waktu masuk: Pertimbangkan untuk menggunakan indikator seperti RSI untuk melakukan perdagangan terbalik di zona overbought dan oversold.
Tambahkan elemen pelacakan tren: Pertimbangkan untuk menggunakan stop loss bergerak untuk melacak tren saat terjadi terobosan kuat.
Retesting dan optimasi parameter: melakukan retesting terhadap kombinasi parameter yang berbeda untuk menemukan pengaturan parameter yang optimal.
Strategi breakout dan reversal di pagi hari adalah sistem perdagangan intraday yang didasarkan pada breakout harga kunci. Ini menggunakan titik tinggi dan rendah di jam 11:00 pagi sebagai referensi penting untuk menangkap tren jangka pendek melalui breakout harga. Keuntungan dari strategi adalah bahwa aturannya jelas, risikonya dapat dikendalikan, dan cocok untuk pelaksanaan otomatis. Namun, strategi ini juga menghadapi risiko potensial seperti penetapan dan penghentian kerugian palsu.
/*backtest
start: 2024-06-30 00:00:00
end: 2024-07-30 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Custom Strategy Nifty 50", overlay=true)
// Define the time variables
var bool morningCandleFound = false
var float morningHigh = na
var float morningLow = na
var bool inTrade = false
var int tradeDirection = 0 // 0: No trade, 1: Buy Call, -1: Buy Put
var bool noNewTrades = false // To prevent new trades after 15:15
// Identify the high and low of the 11:00 morning candle
if (hour == 11 and minute == 0)
morningHigh := high
morningLow := low
morningCandleFound := true
// Plot the high and low of the 11:00 morning candle
plot(morningHigh, title="11:00 morning High", color=color.green, linewidth=2)
plot(morningLow, title="11:00 morning Low", color=color.red, linewidth=2)
// Conditions for Buy Call and Buy Put signals
var bool buyCallCondition = false
var bool buyPutCondition = false
if (morningCandleFound and (hour > 11 or (hour == 11 and minute > 0)) and not noNewTrades)
// Check for Buy Call condition
if (close[1] > morningHigh and close > morningHigh)
if (not inTrade or tradeDirection != 1)
strategy.entry("Buy Call", strategy.long, stop=morningLow)
buyCallCondition := true
inTrade := true
tradeDirection := 1
label.new(bar_index, high, "Buy Call", color=color.green)
alert("Buy Call: Price crossed morning high", alert.freq_once_per_bar_close)
else if (close[1] <= morningHigh)
buyCallCondition := false
// Check for Buy Put condition
if (close[1] < morningLow and close < morningLow)
if (not inTrade or tradeDirection != -1)
strategy.entry("Buy Put", strategy.short, stop=morningHigh)
buyPutCondition := true
inTrade := true
tradeDirection := -1
label.new(bar_index, low, "Buy Put", color=color.red)
alert("Buy Put: Price crossed morning low", alert.freq_once_per_bar_close)
else if (close[1] >= morningLow)
buyPutCondition := false
// Exit conditions
if (inTrade)
if (tradeDirection == 1 and low <= morningLow)
strategy.close("Buy Call")
label.new(bar_index, low, "Exit Call", color=color.red)
alert("Exit Call: Price fell below stop", alert.freq_once_per_bar_close)
buyCallCondition := false
inTrade := false
tradeDirection := 0
if (tradeDirection == -1 and high >= morningHigh)
strategy.close("Buy Put")
label.new(bar_index, high, "Exit Put", color=color.green)
alert("Exit Put: Price rose above stop", alert.freq_once_per_bar_close)
buyPutCondition := false
inTrade := false
tradeDirection := 0
// Close all positions at 15:15 and prevent new trades for the rest of the day
if (hour == 15 and minute == 15)
strategy.close_all()
inTrade := false
tradeDirection := 0
noNewTrades := true
alert("Close All Positions at 15:15", alert.freq_once_per_bar_close)
// Reset noNewTrades at the start of a new day
if (hour == 11 and minute == 0)
noNewTrades := false