
Strategi perdagangan tren pelbagai bingkai masa adalah kaedah perdagangan kuantitatif yang menggabungkan analisis pasaran jangka pendek dan jangka panjang. Strategi ini menggabungkan teknik analisis bingkai masa dengan cerdik untuk menentukan masa masuk dengan mengkonfirmasi trend keseluruhan pasaran pada bingkai masa 15 minit dan mengenal pasti bentuk grafik tertentu (seperti bentuk penyerapan bullish) pada bingkai masa 1 minit. Di samping itu, strategi ini menggabungkan mekanisme penapisan masa yang ketat untuk mengelakkan perdagangan pada masa gelombang tinggi pada awal pasaran dan sebelum penutupan, dan memastikan tidak memegang kedudukan semalaman, untuk menguruskan risiko perdagangan dengan berkesan.
Logik teras strategi perdagangan kuantitatif ini dibina berdasarkan analisis pelbagai kerangka masa dan pengurusan masa perdagangan yang ketat. Secara khusus:
Pengenalan TrendMemerintah:request.securityFungsi ini mengambil data harga dalam jangka masa 15 minit untuk menentukan arah trend jangka panjang. Strategi ini dilakukan dengan membandingkan hubungan harga penutupan semasa dengan harga penutupan tempoh sebelumnya.trend_15m > trend_15m[1]Ia juga menunjukkan bahawa terdapat peningkatan dalam jumlah penduduk yang tinggal di Malaysia.
Pengiktirafan bentukDalam jangka masa 1 minit, strategi mengenal pasti bentuk pengalihan mata wang, iaitu harga penutupan K semasa lebih tinggi daripada harga penutupan (yang), dan harga penutupan K sebelumnya lebih tinggi daripada harga penutupan (yang), dan harga penutupan K semasa lebih tinggi daripada harga penutupan K sebelumnya. Syarat ini diluluskanbullish_engulfing = close > open and open[1] > close[1] and close > open[1]capai.
Penapisan masaIni adalah satu-satunya cara untuk menjana pendapatan yang lebih baik daripada yang lain.
Pengurusan RisikoStrategi: Setelah mengesahkan isyarat masuk, secara automatik menetapkan stop loss yang terletak pada titik terendah pada garis K sebelumnyastop_loss := low[1]), dan sasaran keuntungan yang dikira berdasarkan nisbah risiko-kebalasan 2:1take_profit := close + 2 * (close - stop_loss))。
Had dagangan dalam sehariStrategi: Memaksa semua pemegang saham ditutup pada akhir setiap hari perdagangan pada pukul 16:00, memastikan tidak ada pemegang saham yang bermalam, melaluistrategy.close_all()Fungsi dilaksanakan.
Analisis pasaran pelbagai peringkatDengan menggabungkan analisis 15 minit dan 1 minit, strategi ini dapat menangkap trend pertengahan dan peluang masuk jangka pendek pada masa yang sama, meningkatkan ketepatan dagangan dengan ketara. Trend pertengahan memberikan panduan ke arah keseluruhan pasaran, manakala bentuk jangka pendek memberikan masa masuk yang tepat.
Mekanisme penapisan masa yang berkesan: Mengelakkan masa-masa turun naik dan turun naik yang tinggi sebelum pembukaan dan penutupan pasaran, yang biasanya lebih bising dan kualiti isyarat yang lebih buruk, yang boleh menyebabkan pecah palsu atau penyebaran slippage.
Automasi pengurusan risikoStrategi ini mempunyai tetapan sasaran berhenti dan keuntungan yang jelas, menggunakan nisbah pulangan risiko 2: 1, standard kawalan risiko yang biasa digunakan oleh peniaga profesional, yang membantu keuntungan jangka panjang.
Strategi Dagangan HarianOleh memaksa penutupan sebelum penutupan, strategi ini mengelakkan risiko pegangan semalaman, termasuk kerugian yang tidak terkawal yang mungkin disebabkan oleh peristiwa yang tidak dijangka, terbang semalaman.
Kod ringkas dan cekapStruktur kod strategi jelas, logik padat, fungsi terbina dalam menggunakan bahasa PineScript seperti:request.securitydanstrategy.exitIa juga meningkatkan kecekapan pelaksanaan
Keterlambatan pelbagai kerangka masaPenggunaan:request.securityFungsi untuk mendapatkan data jangka masa yang lebih besar mungkin memperkenalkan beberapa keterlambatan, yang boleh menyebabkan kehilangan titik masuk atau penundaan keluar dalam pasaran yang berubah dengan cepat. Penyelesaian adalah untuk mempertimbangkan penggunaan jangka masa dinamik atau menambah indikator pengesahan trend segera.
Ketergantungan bentuk tunggalStrategi: hanya menggunakan bentuk penelan bullish sebagai isyarat masuk, yang boleh menyebabkan kehilangan peluang dagangan lain yang berkesan. Memperluas pengenalan bentuk kebarangkalian tinggi lain (seperti bintang salib, garisan kelinci, dan lain-lain) dapat meningkatkan frekuensi perdagangan.
Tetapan risiko dan ganjaran tetapMenggunakan nisbah ganjaran risiko 2: 1 yang tetap mungkin tidak cukup fleksibel dalam persekitaran kadar turun naik yang berbeza. Penyelesaian adalah dengan mempertimbangkan tahap berhenti dan keuntungan yang disesuaikan secara dinamik berdasarkan ATR (Average True Range).
Batasan penapisan masaWalaupun penapisan masa dapat mengelakkan masa-masa berisiko tinggi, peluang perdagangan yang berkualiti tinggi juga boleh dilewatkan, terutamanya pada hari-hari trend yang kuat yang dihasilkan oleh lompatan terbuka. Anda boleh mempertimbangkan untuk menambah syarat pengesahan tambahan dan bukannya mengelakkan masa-masa ini sepenuhnya.
Kurangnya kesesuaian keadaan pasaranStrategi tidak membezakan keadaan pasaran yang berbeza (seperti pasaran goyah, pasaran trend), dan mungkin tidak berfungsi dengan baik dalam keadaan pasaran tertentu. Pengenalan mekanisme pengenalan keadaan pasaran dapat meningkatkan daya serap strategi.
Penunjuk trend meningkat: Indikator teknikal seperti MACD, RSI, atau sistem purata bergerak boleh ditambah pada bingkai 15 minit untuk memberikan pengesahan trend yang lebih dipercayai. Sebagai contoh, menambahkan pengesahan arah MACD atau RSI dapat mengurangkan isyarat palsu.
Pengurusan risiko dinamikBergantung kepada kadar turun naik pasaran (seperti ATR), anda boleh menyesuaikan sasaran hentian dan keuntungan secara dinamik, dan bukannya menggunakan nisbah pulangan risiko yang tetap. Tetapkan hentian yang lebih longgar di pasaran yang bergolak tinggi dan hentian yang lebih ketat di pasaran yang bergolak rendah.
Tambah lebih banyak format kemasukanDi samping bentuk pengapukan mata, pengenalan bentuk grafik mata berkemungkinan tinggi yang lain boleh ditambah, seperti bentuk garis bintang mata, garis kelinci, dan lain-lain, untuk meningkatkan frekuensi dan kepelbagaian perdagangan.
Pengenalan pengesahan kuantitiMengintegrasikan analisis kuantiti urus niaga ke dalam logik strategi, hanya dengan mengukuhkan kuantiti urus niaga untuk mengesahkan corak penelan yang dapat meningkatkan kualiti isyarat.
Keadaan Pasaran BeradaptasiMenambah fungsi pengenalan keadaan pasaran, seperti membezakan pasaran yang sedang tren dan pasaran yang bergolak melalui indikator kadar turun naik (seperti ATR) atau indikator kekuatan trend (seperti ADX), dan menyesuaikan parameter strategi dengan sewajarnya.
Optimumkan penapis masaAnda boleh mempertimbangkan untuk menggunakan mekanisme penapisan masa yang lebih halus, seperti menentukan masa dagangan terbaik berdasarkan analisis data sejarah, dan bukannya hanya mengecualikan tempoh masa tetap.
Strategi perdagangan trend pengiktirafan pelbagai bingkai masa dengan corak grafik adalah sistem perdagangan komprehensif yang menggabungkan analisis trend jangka panjang dan jangka pendek dengan teknik masuk jangka pendek. Strategi ini dapat meningkatkan ketepatan masuk dengan cara mengkonfirmasi arah trend pasaran keseluruhan dalam jangka masa yang lebih besar (kira-kira 15 minit) dan melakukan perdagangan dengan mengiktiraf corak penelan spekulasi yang berkemungkinan tinggi dalam jangka masa yang lebih kecil (kira-kira 1 minit).
Satu lagi ciri utama strategi ini adalah pengintegrasian mekanisme penapisan masa yang ketat dan sistem pengurusan risiko, mengelakkan masa pasaran yang bergelombang tinggi, dan mengawal risiko melalui nisbah pulangan risiko yang tetap dan penutupan penutupan sebelum penutupan. Ciri-ciri ini menjadikan strategi ini sangat sesuai untuk peniaga hari yang mencari keuntungan yang mantap.
Walaupun strategi ini mempunyai logik yang jelas dan kawalan risiko yang ketat, terdapat banyak ruang untuk pengoptimuman, termasuk meningkatkan mekanisme pengakuan trend, memperkenalkan pengurusan risiko dinamik, menambah lebih banyak pengenalan bentuk masuk, analisis jumlah trafik yang bersepadu, dan pengembangan fungsi penyesuaian keadaan pasaran. Dengan pengoptimuman ini, strategi ini dijangka dapat mencapai prestasi yang lebih stabil dalam keadaan pasaran yang berbeza.
/*backtest
start: 2024-03-07 00:00:00
end: 2025-03-05 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Multi-Timeframe Strategy with Time Filters", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// Define the 15-minute trend (long-term trend)
trend_15m = request.security(syminfo.tickerid, "15", close)
// Identify Bullish Engulfing pattern on the 1-minute chart
bullish_engulfing = close > open and open[1] > close[1] and close > open[1]
// Define the entry condition: Bullish Engulfing on the 1-minute chart and uptrend on the 15-minute chart
long_condition = bullish_engulfing and trend_15m > trend_15m[1]
// Define the current time
current_hour = hour
current_minute = minute
// Check if it's within the first 45 minutes or last 60 minutes of the trading day
first_45_minutes = (current_hour == 9 and current_minute < 45) // First 45 minutes of the day (9:00 - 9:45 AM)
last_60_minutes = (current_hour == 15 and current_minute >= 0) or (current_hour == 16 and current_minute < 60) // Last 60 minutes (3:00 - 4:00 PM)
// Block trades if within the restricted time windows
time_restricted = first_45_minutes or last_60_minutes
// Execute the strategy logic for long entry only if not within restricted time window
if (long_condition and not time_restricted)
strategy.entry("Long", strategy.long)
// Initialize stop loss and take profit variables
var float stop_loss = na
var float take_profit = na
// Update stop loss and take profit values when a long entry is triggered
if (long_condition and not time_restricted)
stop_loss := low[1] // Set stop loss to the low of the previous candle
take_profit := close + 2 * (close - stop_loss) // Set take profit to 2:1 risk-to-reward ratio
// Set stop loss and take profit for the trade using strategy.exit
strategy.exit("Exit Long", "Long", stop=stop_loss, limit=take_profit)
// Close all positions at the end of the trading day (for example, at 16:00 EST)
end_of_day = (hour == 16 and minute == 0) // 16:00 EST is the end of the day for most US markets
if (end_of_day)
strategy.close_all() // Close all open positions at the end of the day