
Strategi bukaan harga kitaran jam adalah sistem perdagangan kuantitatif berdasarkan analisis tingkah laku harga yang memberi tumpuan kepada menangkap perubahan dinamik antara harga pembukaan pasaran dan harga penutupan kitaran sebelumnya. Strategi ini mengenal pasti trend kenaikan harga yang berpotensi dengan membandingkan harga pembukaan kitaran semasa dengan harga penutupan kitaran sebelumnya, dan membina kedudukan multihead apabila syarat-syarat tertentu dipenuhi.
Prinsip-prinsip utama dalam strategi pintu terbuka harga kitaran jam adalah berdasarkan kepada tingkah laku harga pasaran dan teori dinamik. Secara khusus, strategi ini mengikuti proses logik berikut:
Keputusan syarat beli: Strategi pertama memeriksa sama ada harga pembukaan kitaran semasa lebih tinggi daripada harga penutupan kitaran sebelumnya[1]), dan juga memastikan bahawa tidak ada kedudukan yang sedang dipegang ((strategy.position_size == 0). Apabila kedua-dua syarat ini dipenuhi, sistem mengenal pasti sebagai isyarat beli.
Pelaksanaan pesanan beli: Apabila syarat beli dipenuhi, sistem melaksanakan kemasukan berganda melalui arahan strategy.entry ((“Buy”, strategy.long)). Pada masa yang sama, tanda titik beli pada carta harga, menunjukkan harga beli tertentu.
Tetapkan sasaran keuntungan: Setelah masuk, sistem segera mengira harga sasaran keuntungan, yang ditetapkan sebagai 103% daripada harga beli ((targetPrice = strategy.position_avg_price * 1.03), bersamaan dengan tahap hentian 3%.
Pemantauan keadaan kedudukan rendah: strategi terus memantau harga pasaran semasa, apabila harga penutupan mencapai atau melebihi harga sasaran (close > = targetPrice), dan memegang kedudukan berbilang kepala (strategy.position_size > 0), sistem secara automatik melakukan operasi kedudukan rendah.
Perdagangan visual: Strategi memetakan isyarat membeli dan menjual pada carta untuk menunjukkan aktiviti perdagangan secara intuitif, yang membolehkan peniaga menjejaki pelaksanaan strategi dengan jelas.
Strategi ini menggunakan prinsip kesinambungan pergerakan harga, apabila harga pembukaan lebih tinggi daripada harga penutupan pada kitaran sebelumnya, ia sering bermakna bahawa terdapat tenaga pergerakan di pasaran, yang mungkin akan berterusan dalam jangka pendek, dan dengan itu membawa peluang untuk membuat keuntungan.
Analisis mendalam mengenai pelaksanaan kod strategi ini dapat disimpulkan sebagai kelebihan yang ketara:
Logik kemasukan yang ringkas dan jelas: Strategi menggunakan perbandingan harga yang mudah dan mudah difahami sebagai isyarat kemasukan, tanpa bergantung pada penunjuk atau parameter yang rumit, mengurangkan risiko kecocokan berlebihan.
Sasaran keuntungan yang jelas: Tetapan stop loss tetap 3% memberikan jangkaan keuntungan yang jelas dan membantu mengekalkan nisbah risiko-pengembalian yang baik.
Automasi pelaksanaan: Strategi sepenuhnya automatik, dari pengenalan isyarat hingga masuk ke kedudukan kosong, mengurangkan kesan intervensi manusia dan keputusan emosi.
Integrasi pengurusan wang: mempermudah pengurusan wang dengan menetapkan parameter default_qty_type=strategy.percent_of_equity dan default_qty_value=100, strategi melabur 100% daripada jumlah nilai akaun dalam setiap transaksi.
Rekod dagangan visual: Dengan menandai titik pembelian dan penjualan di carta, peniaga dapat mengkaji prestasi strategi secara intuitif, yang membantu analisis dan penyesuaian strategi berikutnya.
Mencegah kemasukan semula: Dengan memeriksa status pegangan semasa (strategy.position_size == 0), strategi memastikan bahawa kemasukan semula tidak akan berlaku jika ada pegangan, mengelakkan pengumpulan risiko yang tidak perlu.
Sesuai untuk pasaran yang tinggi kecairan: strategi beroperasi pada satu jam timeframe, terutamanya sesuai untuk persekitaran pasaran yang tinggi kecairan, memastikan kebolehpercayaan isyarat perdagangan.
Walaupun strategi ini direka dengan ringkas, terdapat beberapa risiko yang berpotensi:
Kekurangan mekanisme berhenti: Strategi semasa hanya menetapkan syarat berhenti dan tidak mempunyai mekanisme berhenti yang jelas. Jika pasaran bergerak ke arah yang tidak baik, ia boleh menyebabkan kerugian yang lebih besar. Disyorkan untuk menambah syarat berhenti, seperti penempatan berhenti berdasarkan masa atau harga.
Batasan sasaran peratusan tetap: Sasaran penangguhan tetap 3% mungkin tidak sesuai dengan keadaan dan turun naik pasaran yang berbeza. Mungkin terlalu tinggi di pasaran turun naik rendah dan mungkin terlalu rendah di pasaran turun naik tinggi.
Kerentanan syarat kemasukan tunggal: hanya bergantung pada perbandingan harga pembukaan dengan harga penutup tempoh sebelumnya sebagai isyarat kemasukan, yang boleh menyebabkan isyarat yang mengelirukan apabila terdapat bunyi bising di pasaran.
Kurangnya penapis trend: Strategi tidak mengambil kira keadaan trend pasaran yang lebih luas, dan mungkin menghantar isyarat beli dalam trend menurun, meningkatkan risiko perdagangan berlawanan.
Risiko Pengurusan Wang: Secara lalai menggunakan 100% kepentingan akaun untuk berdagang, tanpa menyesuaikan saiz kedudukan mengikut turun naik pasaran atau tahap risiko, yang boleh menyebabkan kepekatan risiko yang berlebihan.
Ketergantungan pada jangka masa: Strategi ini memberi tumpuan kepada kitaran jam dan mungkin tidak dapat menangkap turun naik harga dalam jangka masa yang lebih pendek atau trend pasaran yang lebih lama.
Risiko penyimpangan pelacakan: Menggunakan harga penutupan sebagai syarat untuk mencetuskan kedudukan rata boleh menyebabkan tergelincir pelaksanaan dalam perdagangan sebenar, kerana dalam praktiknya mungkin perlu menunggu pengesahan harga penutupan untuk dilaksanakan.
Berdasarkan analisis mendalam mengenai kod strategi, kami boleh mencadangkan arah pengoptimuman berikut:
Memperkenalkan mekanisme hentian kerugian: Tambah syarat hentian berdasarkan masa atau harga, seperti menetapkan masa maksimum untuk memegang kedudukan atau tahap hentian kerugian berdasarkan ATR, untuk mengehadkan kerugian maksimum dalam satu perdagangan.
Matlamat keuntungan dinamik: mengubah sasaran 3% yang tetap menjadi sasaran dinamik berdasarkan turun naik pasaran, contohnya menggunakan kelipatan ATR sebagai asas untuk mengira harga sasaran.
Menambah syarat penapisan masuk: menggabungkan petunjuk teknikal lain (seperti purata bergerak, RSI atau MACD) sebagai isyarat pengesahan, meningkatkan kualiti dan kebolehpercayaan isyarat masuk.
Menambah penapis arah trend: memperkenalkan purata bergerak jangka panjang atau penunjuk trend lain untuk memastikan kemasukan hanya jika arah trend keseluruhan konsisten.
Pengurusan dana yang optimum: pelaksanaan pengurusan kedudukan yang dinamik, menyesuaikan perkadaran dana untuk setiap urus niaga mengikut keadaan pasaran, kepentingan akaun dan tahap risiko.
Analisis jangka masa berbilang: mengintegrasikan hasil analisis pasaran pada jangka masa yang lebih tinggi, dan melakukan perdagangan hanya jika trend pada jangka masa yang lebih tinggi atau lebih rendah konsisten.
Memperkenalkan penapis masa: Tambah sekatan pada tetingkap masa dagangan untuk mengelakkan pergerakan pasaran yang terlalu rendah atau terlalu tinggi.
Mengoptimumkan logik pelaksanaan: Pertimbangkan untuk melaksanakan urus niaga menggunakan harga had dan bukan harga pasaran, mengurangkan titik tergelincir dan kos pelaksanaan.
Pelaksanaan arah pengoptimuman ini akan membantu meningkatkan kestabilan dan kesesuaian strategi, yang membolehkan ia mengekalkan prestasi yang stabil dalam pelbagai keadaan pasaran.
Strategi pembukaan harga kitaran jam adalah sistem perdagangan yang ringkas dan praktikal untuk menangkap pergerakan harga jangka pendek dengan menggunakan hubungan antara harga pembukaan dan harga penutupan kitaran sebelumnya. Strategi ini, dengan logiknya yang mudah dan peraturan pelaksanaannya yang jelas, menyediakan cara perdagangan yang mudah difahami dan dilaksanakan oleh peniaga. Walaupun terdapat beberapa risiko yang berpotensi, seperti kekurangan mekanisme penghentian kerugian dan keterbatasan syarat kemasukan tunggal, langkah-langkah pengoptimuman seperti pengenalan strategi penurunan kerugian, penetapan sasaran keuntungan dinamik dan syarat penyaringan tempat tambahan dapat meningkatkan kestabilan strategi dan potensi keuntungan.
Strategi ini sangat sesuai untuk peniaga jangka pendek dan peniaga harian, terutamanya dalam persekitaran pasaran yang tidak stabil. Dengan pengesanan dan pengoptimuman yang berterusan, peniaga dapat menyesuaikan parameter mengikut pasaran tertentu dan preferensi risiko peribadi, meningkatkan lagi prestasi strategi. Akhirnya, strategi bukaan harga jam menunjukkan potensi dan nilai kaedah perdagangan kuantitatif berdasarkan analisis tingkah laku harga, sama ada sebagai sistem perdagangan berasingan atau sebagai sebahagian daripada strategi perdagangan yang lebih kompleks.
/*backtest
start: 2025-03-02 00:00:00
end: 2025-04-01 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BNB_USDT"}]
*/
//@version=6
strategy("1 Hour Open vs Close Buy Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// Define the buy condition: current open is higher than the previous close
buyCondition = open > close[1] and strategy.position_size == 0 // Only buy if there is no active position
// Execute the buy order and plot buy price
if (buyCondition)
strategy.entry("Buy", strategy.long)
label.new(x=bar_index, y=low, text="Buy at: " + str.tostring(open), style=label.style_label_up, color=color.green, size=size.normal, textcolor=color.white)
// Define the sell condition based on 3% profit target from the buy price
targetPrice = strategy.position_avg_price * 1.03
// Check if the current price has reached the target price and close the position
if (strategy.position_size > 0 and close >= targetPrice)
strategy.close("Buy")
label.new(x=bar_index, y=high, text="Sell at: " + str.tostring(close), style=label.style_label_down, color=color.red, size=size.normal, textcolor=color.white)
// Plotting to visualize entries and exits on the chart
plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="Buy")
plotshape(series=(strategy.position_size > 0 and close >= targetPrice), location=location.abovebar, color=color.red, style=shape.labeldown, text="Sell")