Artikel ini memperkenalkan strategi perdagangan kuantitatif yang menggabungkan analisis fraktal dan corak lilin. Dengan mengesan titik pembalikan utama dan corak lilin pembalikan bullish / bearish, strategi ini membolehkan perdagangan automatik berisiko rendah dengan pulangan tinggi.
Strategi ini berdasarkan analisis tindakan harga terperinci, menggunakan gabungan analisis fraktal dan pengenalan corak candlestick untuk menentukan logik kemasukan dan hentian kerugian yang jelas untuk menangkap trend.
Secara khusus, syarat kemasukan adalah: harga pecah di atas paras tertinggi 2 bar sebelumnya, dan pecah fraktal atau menelan bullish atau corak tukul berlaku. Gabungan ini dengan kukuh mengesahkan isyarat panjang. Logik stop loss yang menentukan keluar pada harga pecah di bawah paras rendah 2 bar sebelumnya memastikan berhenti yang cepat dan berkesan.
Untuk pengesanan corak, strategi ini menggunakan teori fraktal yang biasa digunakan untuk mengenal pasti titik pembalikan utama, serta algoritma untuk mengesan 3 corak pembalikan lilin klasik.
Pengekodan dilakukan dalam skrip Pine. Fraktal tinggi / rendah dikenal pasti apabila harga membuat 3 bar tinggi / rendah baru, dan peraturan ketat mengenai harga terbuka / dekat digunakan untuk corak menelan.
Kelebihan utama strategi ini:
Masih ada risiko yang perlu diperhatikan:
Kaedah seperti berhenti yang dioptimumkan, penapisan trend dan analisis berjalan maju dapat membantu mengawal risiko di atas.
Kawasan untuk penambahbaikan lanjut:
Peningkatan ini akan meningkatkan lagi kestabilan dan keuntungan strategi ini.
Artikel ini merangkumi secara menyeluruh strategi perdagangan tindakan harga yang menggabungkan fraktal dan corak lilin. Dengan isyarat yang tepat, pelaksanaan yang mudah dan trend yang berkesan, strategi ini dapat sangat memberi manfaat kepada peniaga sistematik dan peniaga pertimbangan. Penambahbaikan dan pengesahan berterusan akan meningkatkan prestasi untuk perdagangan praktikal.
/*backtest start: 2023-02-12 00:00:00 end: 2024-02-18 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Fractal & Pattern Entry/Exit Strategy", overlay=true) // Fractal calculation fractalHigh = high == highest(3) fractalLow = low == lowest(3) // Pattern detection bullishEngulfing = open < close[1] and close > open[1] and close > open + (open[1] - close[1]) * 2 and low < min(open, close) and high > max(open, close) and open[1] > close[1] bearishEngulfing = open > close[1] and close < open[1] and open > close + (close[1] - open[1]) * 2 and high > max(open, close) and low < min(open, close) and open[1] < close[1] hammer = open < close and close > (high + low + open * 2) / 4 and close - open > (high - low) * 0.6 and high - close < (high - low) * 0.1 and open - low < (high - low) * 0.1 hangingMan = open > close and open < (high + low + close * 2) / 4 and open - close > (high - low) * 0.6 and high - open < (high - low) * 0.1 and close - low < (high - low) * 0.1 // Entry condition longCondition = crossover(close, highest(2)[1]) and (fractalHigh or bullishEngulfing or hammer) shortCondition = crossunder(close, lowest(2)[1]) and (fractalLow or bearishEngulfing or hangingMan) // Exit condition exitLongCondition = crossunder(close, lowest(2)[1]) exitShortCondition = crossover(close, highest(2)[1]) // Entry and exit orders if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short) if (exitLongCondition) strategy.close("Long") if (exitShortCondition) strategy.close("Short") // Plot fractals plotshape(fractalHigh, title="Fractal High", style=shape.triangledown, location=location.abovebar, color=color.green, size=size.small) plotshape(fractalLow, title="Fractal Low", style=shape.triangleup, location=location.belowbar, color=color.red, size=size.small) // Plot patterns plotshape(bullishEngulfing, title="Bullish Engulfing", style=shape.arrowup, location=location.belowbar, color=color.green, size=size.small) plotshape(bearishEngulfing, title="Bearish Engulfing", style=shape.arrowdown, location=location.abovebar, color=color.red, size=size.small) plotshape(hammer, title="Hammer", style=shape.arrowup, location=location.belowbar, color=color.green, size=size.small) plotshape(hangingMan, title="Hanging Man", style=shape.arrowdown, location=location.abovebar, color=color.red, size=size.small)