
Strategi perdagangan rata-rata rata-rata tiga putaran adalah sistem pengesanan trend berdasarkan carta Heikin-Ashi yang mengenal pasti trend pasaran berturut-turut dan memasuki perdagangan selepas pengesahan dinamik. Idea utamanya adalah dengan melihat tiga bentuk putaran Heikin-Ashi berturut-turut dengan warna yang sama, dan kemudian menunggu putaran balik muncul dan memasuki pasaran ketika titik tinggi atau rendah dari putaran balik itu.
Pusat strategi ini adalah teknik Heikin-Ashi, sebuah grafik yang diperbaiki yang berasal dari Jepun, yang meratakan turun naik harga dengan mengira nilai rata-rata harga pembukaan, harga penutupan, harga tertinggi dan terendah. Berbeza dengan garis K tradisional, Heikin-Ashi dapat menunjukkan arah trend dengan lebih jelas dan mengurangkan kesan bunyi pasaran.
Strategi ini berfungsi seperti berikut:
Pengiraan nilai Heikin-Ashi:
Logik kemasukan berbilang:
Logik berbilang pemain:
Logik kemasukan kosong:
Logik keluar kosong:
Reka bentuk ini memastikan peniaga memasuki pasaran hanya selepas mereka mengesahkan pergerakan trend, meningkatkan kemungkinan kejayaan perdagangan.
Dengan menganalisis kod secara mendalam, strategi ini mempunyai kelebihan yang ketara:
Penapis bunyiTeknologi Heikin-Ashi merampingkan data harga, mengurangkan kesan bunyi pasaran dan isyarat palsu, dan menjadikan arah trend lebih jelas.
Pengesahan kuasaStrategi ini memerlukan tiga putaran berturut-turut yang sama dan memerlukan penembusan tahap harga kritikal untuk mencetuskan isyarat, mekanisme pengesahan ganda ini meningkatkan kebolehpercayaan isyarat.
Waktu masuk yang tepatDengan menunggu harga untuk menembusi tahap kritikal, strategi memastikan bahawa anda memasuki pasaran hanya selepas pergerakan trend jelas, dan mengelakkan risiko masuk terlalu awal dan mengalami kecenderungan palsu.
Peraturan keluar yang jelasStrategi ini menetapkan syarat-syarat berhenti yang jelas dan keluar secara automatik apabila pasaran membentuk reversal dan menembusi tahap kritikalnya, yang mengurangkan risiko pegangan dan melindungi keuntungan.
Maklum balas visualStrategi menyediakan isyarat visual yang jelas, termasuk penanda grafik isyarat perdagangan dan penglihatan titik tinggi dan rendah Heikin-Ashi, yang membolehkan peniaga memahami keadaan pasaran secara intuitif.
Sistem amaran yang fleksibelTerbina dalam keadaan amaran boleh membantu peniaga untuk mendapatkan peluang perdagangan yang berpotensi dan meningkatkan kecekapan operasi.
Sangat boleh menyesuaikan diriWalaupun tidak ada parameter yang jelas dalam kod, logik asas strategi dapat dengan mudah disesuaikan dengan tempoh masa dan keadaan pasaran yang berbeza, meningkatkan kegunaannya.
Walaupun terdapat banyak kelebihan, strategi ini mempunyai risiko dan batasan yang berpotensi:
PenyelesaianIa boleh digabungkan dengan penunjuk teknikal yang lebih sensitif seperti RSI atau MACD untuk mengenal pasti isyarat pembalikan yang berpotensi lebih awal.
Penyelesaian: Tambah logik penilaian struktur pasaran, seperti menggunakan penunjuk ADX untuk menyaring persekitaran turun naik yang rendah, atau menghentikan strategi sementara di pasaran yang bergolak.
PenyelesaianParameterisasi kuantiti tembaga berturut-turut membolehkan penyesuaian mengikut pasaran dan kitaran masa yang berbeza.
Penyelesaian: Tambah mekanisme hentian berdasarkan ATR atau peratusan tetap, mengehadkan kerugian maksimum dalam satu transaksi.
PenyelesaianPengujian semula dalam kitaran masa dan keadaan pasaran yang berbeza untuk memastikan strategi yang stabil.
Berdasarkan analisis yang mendalam mengenai kod, berikut adalah beberapa arah pengoptimuman yang mungkin:
Optimumkan parameter: Menetapkan jumlah pengesahan berturut-turut sebagai parameter yang boleh disesuaikan dan bukannya tiga akar tetap. Jumlah pengesahan yang berbeza mungkin diperlukan oleh pasaran dan tempoh masa yang berbeza, dan pengesahan dapat dioptimumkan mengikut kelas aset tertentu. Manfaat untuk melakukan ini adalah untuk meningkatkan kebolehpasaran strategi, yang membolehkan ia berfungsi dengan baik dalam pelbagai keadaan pasaran.
Tambah penapis kadar turun naik: Mengintegrasikan indikator ATR (Average True Range) untuk menilai turun naik pasaran dan menyesuaikan syarat kemasukan dengan sewajarnya. Pengesahan yang lebih ketat mungkin diperlukan dalam persekitaran turun naik yang tinggi, sementara syarat yang sesuai dapat dilonggarkan dalam persekitaran turun naik yang rendah.
Menambah penapis trend: Pengenalan ADX ((Average Directional Index) atau sistem purata bergerak untuk mengesahkan arah trend pasaran keseluruhan, hanya mengambil kira isyarat jika trend jelas. Sebagai contoh, hanya mengambil kira perdagangan trend apabila ADX> 25, yang dapat meningkatkan prestasi strategi dalam pasaran yang sedang tren.
Peningkatan kawalan kerugian: Menambah berhenti dinamik berasaskan ATR, atau memperkenalkan fungsi berhenti jejak, menjadikan perlindungan keuntungan lebih fleksibel. Sebagai contoh, anda boleh menetapkan berhenti awal sebagai 1.5 kali jarak ATR dari harga masuk, dan menyesuaikan tahap berhenti dengan harga bergerak ke arah yang menguntungkan.
Memastikan jumlah transaksi: Memerlukan penembusan isyarat disertai dengan peningkatan jumlah transaksi untuk meningkatkan kebolehpercayaan isyarat. Pengesahan jumlah transaksi dapat membantu membezakan antara penembusan sebenar dan palsu, meningkatkan ketepatan masuk.
Pengoptimuman pengurusan risiko: Menambah fungsi pengurusan kedudukan, yang secara automatik mengira saiz dagangan yang sesuai berdasarkan turun naik pasaran dan saiz akaun. Ini boleh dicapai dengan menetapkan risiko setiap perdagangan tidak melebihi 1-2% akaun, mengawal penarikan balik dengan berkesan.
Analisis kitaran masa: Pengesahan trend yang digabungkan dengan tempoh masa yang lebih lama, hanya masuk apabila terdapat kecenderungan jangka masa yang sama. Sebagai contoh, masuk hanya dipertimbangkan apabila garis hari dan 4 jam menunjukkan kecenderungan yang sama, yang dapat meningkatkan peluang kemenangan.
Strategi perdagangan rata-rata rata-rata yang merata tiga kali berturut-turut adalah satu sistem perdagangan yang menggabungkan teknik perapisan Heikin-Ashi dengan konsep trend break. Ia memberikan isyarat perdagangan yang berkualiti dengan mengenal pasti tiga corak yang sama secara berturut-turut dan menunggu harga untuk melangkaui tahap kritikal untuk mengesahkan pergerakan trend.
Walau bagaimanapun, strategi juga mempunyai beberapa risiko yang berpotensi, seperti ketinggalan Heikin-Ashi, prestasi pasaran yang tidak baik, kekurangan parameter penyesuaian diri, dan sebagainya. Dengan menambah penapis trend, penyesuaian kadar turun naik, memperbaiki mekanisme penangguhan kerugian, dan menambah langkah-langkah pengoptimuman seperti pengesahan kuantitatif, prestasi dan ketahanan strategi dapat ditingkatkan lagi.
Secara keseluruhannya, ini adalah sistem pengesanan trend yang direka dengan baik, yang sangat sesuai untuk digunakan oleh peniaga jangka menengah dan panjang. Dengan pengoptimuman parameter dan pengurusan risiko yang munasabah, strategi ini dapat memberikan peluang perdagangan yang stabil dalam pelbagai persekitaran pasaran.
/*backtest
start: 2024-04-03 00:00:00
end: 2025-04-02 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BNB_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © YashEzio
//@version=6
strategy("Heikin-Ashu Strategy", overlay=true)
// Calculate Heikin-Ashi values
var float ha_open = na
var float ha_close = na
var float ha_high = na
var float ha_low = na
ha_close := (open + high + low + close) / 4
ha_open := na(ha_open[1]) ? (open + close) / 2 : (ha_open[1] + ha_close[1]) / 2
ha_high := math.max(high, math.max(ha_open, ha_close))
ha_low := math.min(low, math.min(ha_open, ha_close))
//---------------- Long Logic ----------------//
// Identify red/green Heikin-Ashi candles
ha_red = ha_close < ha_open
ha_green = ha_close > ha_open
// Long entry: three consecutive red candles followed by a green candle
consecutive_red = ha_red[3] and ha_red[2] and ha_red[1] and ha_green
// Capture the high of the first green candle after the red streak
var float first_green_high = na
first_green_high := consecutive_red ? ha_high : nz(first_green_high)
// Trigger long entry AFTER the next candle breaks the high of that green candle
long_breakout = not na(first_green_high) and ha_high[1] == first_green_high and high > first_green_high
// Long exit: after a long entry, exit when a red candle forms and its low is broken
var float first_red_low = na
first_red_low := long_breakout ? na : (ha_red and na(first_red_low) ? ha_low : first_red_low)
var bool long_active = false
long_active := long_breakout ? true : long_active
long_exit = long_active and not na(first_red_low) and low < first_red_low
long_active := long_exit ? false : long_active
//---------------- Short Logic ----------------//
// Short entry: three consecutive green candles followed by a red candle
consecutive_green = ha_green[3] and ha_green[2] and ha_green[1] and ha_red
// Capture the low of the first red candle after the green streak
var float first_red_entry_low = na
first_red_entry_low := consecutive_green ? ha_low : nz(first_red_entry_low)
// Trigger short entry AFTER the next candle breaks the low of that red candle
short_breakout_entry = not na(first_red_entry_low) and ha_low[1] == first_red_entry_low and low < first_red_entry_low
// Short exit: after a short entry, exit when a green candle forms and its high is broken
var float first_green_exit_high = na
first_green_exit_high := short_breakout_entry ? na : (ha_green and na(first_green_exit_high) ? ha_high : first_green_exit_high)
var bool short_active = false
short_active := short_breakout_entry ? true : short_active
short_exit = short_active and not na(first_green_exit_high) and high > first_green_exit_high
short_active := short_exit ? false : short_active
//---------------- Strategy Orders ----------------//
if (long_breakout)
strategy.entry("Long", strategy.long)
if (long_exit)
strategy.close("Long")
if (short_breakout_entry)
strategy.entry("Short", strategy.short)
if (short_exit)
strategy.close("Short")
//---------------- Visualization ----------------//
plot(ha_high, color=color.new(color.green, 80), title="HA High")
plot(ha_low, color=color.new(color.red, 80), title="HA Low")
// Mark long signals (buy and sell)
plotshape(long_breakout, location=location.belowbar, color=color.green, style=shape.triangleup, title="Buy Signal", size=size.small, offset=-1)
plotshape(long_exit, location=location.abovebar, color=color.red, style=shape.triangledown, title="Sell Signal", size=size.small, offset=-1)
// Mark short signals (short entry and cover)
plotshape(short_breakout_entry, location=location.abovebar, color=color.red, style=shape.triangledown, title="Short Sell Signal", size=size.small, offset=-1)
plotshape(short_exit, location=location.belowbar, color=color.green, style=shape.triangleup, title="Cover Signal", size=size.small, offset=-1)
//---------------- Alerts ----------------//
alertcondition(long_breakout, title="Long Entry", message="Heikin-Ashi Long Breakout Signal")
alertcondition(long_exit, title="Long Exit", message="Heikin-Ashi Long Exit Signal")
alertcondition(short_breakout_entry, title="Short Entry", message="Heikin-Ashi Short Entry Signal")
alertcondition(short_exit, title="Short Exit", message="Heikin-Ashi Short Exit Signal")