
Strategi ini adalah sistem perdagangan berbilang ruang berdasarkan penunjuk MACD, direka khas untuk carta K 15 minit. Ia menggunakan persilangan garisan MACD dengan garisan isyarat untuk menghasilkan isyarat perdagangan, dan mengehadkan masa perdagangan dalam tempoh tertentu ketika pasaran dibuka. Strategi ini menggunakan kaedah pengurusan risiko peratusan tetap, menyesuaikan risiko setiap perdagangan berdasarkan skala akaun yang dinamik.
Pengiraan penunjuk MACD: Tetapan MACD standard yang menggunakan garis cepat 12 kitaran, garis perlahan 26 kitaran dan garis isyarat 9 kitaran.
Sinyal dagangan dihasilkan:
Had masa dagangan: hanya berdagang semasa pasaran London (08:00-17:00 GMT) dan pasaran New York (13:30-20:00 GMT) dibuka.
Pengurusan Risiko:
Pelaksanaan perdagangan: Masuk dengan harga pasaran, dan tetapkan pesanan berhenti dan berhenti.
Penangkapan dinamik pasaran: Indeks MACD berkesan menangkap perubahan dinamik pasaran, membantu mengenal pasti potensi titik perubahan trend.
Kawalan risiko: Kaedah pengurusan risiko peratusan tetap memastikan bahawa risiko setiap perdagangan sesuai dengan saiz akaun, yang membantu pertumbuhan dana jangka panjang.
Penapisan masa: Mengehadkan masa dagangan dapat mengelakkan isyarat palsu pada masa likuiditi rendah dan meningkatkan kualiti dagangan.
Kemudahan menyesuaikan diri: Strategi ini dapat menyesuaikan saiz dagangan secara automatik mengikut saiz akaun untuk peniaga dengan jumlah dana yang berbeza.
Peraturan masuk dan keluar yang jelas: Logik penjanaan isyarat yang jelas dan tetapan stop loss yang tetap, mengurangkan keperluan campur tangan manusia.
Risiko pasaran bergolak: Dalam pasaran bergolak, MACD mungkin menghasilkan isyarat silang yang kerap, yang menyebabkan perdagangan berlebihan dan kerugian berturut-turut.
Risiko tergelincir: Penggunaan harga pasaran boleh menghadapi tergelincir, terutamanya dalam pasaran pantas.
Risiko Hentian Tetap: Hentian dengan nilai tetap mungkin tidak fleksibel dalam tempoh yang bergelombang tinggi, menyebabkan hentian terlalu awal.
Melewatkan Tren Besar: Tetapan penangguhan yang ketat boleh menyebabkan sebahagian besar keuntungan yang terlepas dari Tren Besar.
Pembatasan tetingkap masa: Perdagangan hanya pada tempoh masa tertentu mungkin terlepas peluang yang berpotensi pada tempoh masa lain.
Pengesahan pelbagai kitaran: memperkenalkan tempoh masa yang lebih lama (seperti 1 jam atau 4 jam) untuk pengesahan trend, meningkatkan kebolehpercayaan isyarat perdagangan.
Hentian dinamik: Pertimbangkan untuk menggunakan ATR (Average True Range) untuk menetapkan hentian dinamik untuk menyesuaikan diri dengan perubahan dalam turun naik pasaran.
Memperkenalkan petunjuk teknikal lain: seperti RSI (indikator yang agak kuat) atau purata bergerak, berfungsi sebagai penapis untuk isyarat MACD, mengurangkan isyarat palsu.
Mengoptimumkan tetingkap masa dagangan: Mengenali tempoh masa dagangan yang optimum melalui analisis tindak balas, yang mungkin memerlukan penyesuaian bermusim mengikut keadaan pasaran yang berbeza.
Meningkatkan strategi stop-loss: melaksanakan mekanisme perlindungan stop-loss atau sebahagian keuntungan yang dikesan untuk mengunci sebahagian keuntungan semasa menangkap trend besar.
Penyesuaian turun naik: menyesuaikan saiz dagangan dan tahap penutupan kerugian mengikut dinamik turun naik pasaran, mengurangkan risiko dalam tempoh turun naik yang tinggi.
Menambah penapis asas: Mengambil kira kesan kepada pasaran apabila data ekonomi penting dikeluarkan, dan menangguhkan perdagangan sebelum dan selepas data penting dikeluarkan.
Strategi silang dinamik pasaran berkala adalah sistem perdagangan yang beradaptasi berdasarkan indikator MACD yang meningkatkan kualiti perdagangan dengan masa perdagangan yang terhad dan pengurusan risiko yang ketat. Kelebihan utama strategi ini adalah logik penjanaan isyarat yang jelas dan kaedah pengurusan risiko yang dinamik, menjadikannya sesuai untuk akaun perdagangan yang berbeza. Walau bagaimanapun, strategi ini juga menghadapi risiko seperti perdagangan berlebihan dan kehilangan trend besar di pasaran yang bergolak.
Strategi ini mempunyai potensi untuk meningkatkan lagi prestasi dan kestabilan dengan memperkenalkan pengesahan pelbagai kitaran, hentian dinamik dan penunjuk teknikal tambahan. Secara khusus, penambahan strategi penangguhan yang disesuaikan dengan turun naik dan penambahbaikan dapat membantu strategi menyesuaikan diri dengan lebih baik dengan keadaan pasaran yang berbeza.
Secara keseluruhannya, strategi ini memberikan pedagang dengan kerangka kerja yang kukuh, di mana mereka boleh membuat penyesuaian dan pengoptimuman yang diperibadikan untuk memenuhi keutamaan risiko dan matlamat perdagangan tertentu. Ujian semula dan pengujian dalam talian yang berterusan akan menjadi kunci untuk memastikan keberkesanan strategi dalam jangka panjang.
/*backtest
start: 2024-06-28 00:00:00
end: 2024-07-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("交易霸傑15掏金策略", overlay=true)
// 設置參數
fastLength = input.int(12, title="MACD 快線長度")
slowLength = input.int(26, title="MACD 慢線長度")
signalSmoothing = input.int(9, title="MACD 信號線平滑")
riskPercentage = input.float(2, title="每筆交易的風險比例 (%)")
stopLossPoints = 10
takeProfitPoints = 15
// 設置倫敦和紐約市場的開盤時間
londonOpen = timestamp("GMT+0", year, month, dayofmonth, 8, 0)
londonClose = timestamp("GMT+0", year, month, dayofmonth, 17, 0)
nyOpen = timestamp("GMT+0", year, month, dayofmonth, 13, 30)
nyClose = timestamp("GMT+0", year, month, dayofmonth, 20, 0)
// 計算MACD
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing)
macdHist = macdLine - signalLine
// 畫出MACD線
hline(0, "0軸", color=color.gray)
plot(macdLine, color=color.blue, title="MACD 快線")
plot(signalLine, color=color.red, title="MACD 慢線")
plot(macdHist, color=color.green, style=plot.style_histogram, title="MACD Histogram")
// 動態計算每筆交易的風險和止損、止盈點數
capital = strategy.equity
riskAmount = capital * (riskPercentage / 100)
contracts = 1
stopLossValue = stopLossPoints * syminfo.mintick
takeProfitValue = takeProfitPoints * syminfo.mintick
// 確定是否在交易時段內
isLondonOpen = (time >= londonOpen and time <= londonClose)
isNyOpen = (time >= nyOpen and time <= nyClose)
// 偏空進場條件
shortCondition = ta.crossover(signalLine, macdLine) and macdLine > 0 and (isLondonOpen or isNyOpen)
if (shortCondition)
strategy.entry("Short", strategy.short, qty=contracts)
strategy.exit("Take Profit/Stop Loss", "Short", limit=close - takeProfitValue, stop=close + stopLossValue)
// 偏多進場條件
longCondition = ta.crossunder(signalLine, macdLine) and macdLine < 0 and (isLondonOpen or isNyOpen)
if (longCondition)
strategy.entry("Long", strategy.long, qty=contracts)
strategy.exit("Take Profit/Stop Loss", "Long", limit=close + takeProfitValue, stop=close - stopLossValue)