
Strategi ini adalah strategi perdagangan dalam hari yang berdasarkan corak corak pagi, terutamanya menggunakan titik tinggi dan rendah pada 11:00 pagi corak untuk menilai pergerakan pasaran. Gagasan utama strategi ini adalah melakukan lebih banyak apabila harga menembusi titik tinggi pagi, melakukan kosong apabila ia menembusi titik rendah, sambil menetapkan syarat-syarat berhenti yang sesuai.
Strategi ini berfungsi seperti berikut:
Menentukan harga kritikal: Strategi pertama mengenal pasti titik tertinggi dan terendah pada jam 11:00 pagi, dan mengambil kedua-dua harga sebagai tahap rujukan kritikal.
Isyarat masuk:
Tetapan Stop Loss:
Mekanisme untuk keluar:
Had masa dagangan: Strategi tidak membuka dagangan baru selepas 15:15 untuk mengelakkan turun naik yang luar biasa sebelum penutupan.
Peraturan perdagangan yang jelas: strategi berdasarkan logik penembusan dan pembalikan harga yang jelas, mudah difahami dan dilaksanakan.
Kawalan risiko: Kawalan risiko yang berkesan dalam setiap perdagangan dengan menetapkan titik berhenti tetap.
Kebolehan untuk menyesuaikan diri dengan keadaan pasaran: strategi ini dapat menyesuaikan diri dengan keadaan pasaran yang berbeza berdasarkan julat harga yang terbentuk pada waktu pagi.
Automasi pelaksanaan: Strategi boleh diprogramkan untuk mencapai transaksi yang sepenuhnya automatik, mengurangkan campur tangan manusia dan kesan emosi.
Dagangan dalam hari: Mengelakkan risiko memegang kedudukan semalam dengan meletakkan kedudukan sebelum penutupan hari.
Fleksibiliti: Strategi boleh dioptimumkan mengikut pasaran dan jenis perdagangan yang berbeza.
Risiko penembusan palsu: Pasaran mungkin mengalami penembusan palsu, yang menyebabkan seringnya penangguhan kerugian.
Batasan Ketinggian Fluktuasi: Dalam tempoh fluktuasi yang rendah, strategi mungkin sukar untuk mencetuskan isyarat perdagangan atau menghasilkan keuntungan yang berkesan.
Kerangka masa tunggal: Bergantung pada saluran 11:00 sahaja mungkin mengabaikan maklumat pasaran penting untuk tempoh masa yang lain.
Kurangnya trend-tracking: Strategi tidak menetapkan syarat-syarat untuk menghentikan dan mungkin tidak dapat memahami trend-trend besar.
Hentian tetap: Dalam pasaran yang bergelombang tinggi, hentian tetap mungkin terlalu dekat, yang menyebabkan keluar dari pasaran yang menguntungkan.
Kos urus niaga: Kemasukan dan keluar yang kerap mungkin membawa kepada kos urus niaga yang lebih tinggi, yang menjejaskan hasil keseluruhan.
Memperkenalkan analisis pelbagai kerangka masa: penilaian trend yang lebih lama, meningkatkan ketepatan dagangan.
Hentian dinamik: Tetapkan hentian dinamik menggunakan kaedah seperti penunjuk ATR untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.
Menyertai mekanisme penangguhan: menetapkan syarat penangguhan berdasarkan nisbah risiko dan ganjaran, meningkatkan nisbah keuntungan dan kerugian strategi.
Analisis Volume: Menambah analisis kuantiti lalu lintas untuk meningkatkan kebolehpercayaan isyarat terobosan.
Penapisan keadaan pasaran: memperkenalkan penunjuk turun naik seperti ATR, mengurangkan frekuensi perdagangan pada masa turun naik rendah.
Optimumkan masa masuk: Pertimbangkan untuk menggunakan indikator seperti RSI untuk berdagang terbalik di kawasan yang lebih banyak dibeli dan dijual.
Tambah elemen pengesanan trend: pertimbangkan untuk menggunakan stop loss bergerak untuk mengesan trend apabila terdapat penembusan yang kuat.
Retesting dan Optimasi Parameter: Retest kombinasi parameter yang berbeza untuk mencari tetapan parameter yang optimum.
Strategi penembusan dan pembalikan jam subuh adalah sistem perdagangan dalam hari berdasarkan penembusan harga utama. Ia menggunakan titik tinggi dan rendah jam 11:00 pagi sebagai rujukan penting untuk menangkap trend jangka pendek melalui penembusan harga. Kelebihan strategi adalah jelasnya peraturan, boleh dikawal risiko, sesuai untuk pelaksanaan automatik.
/*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