Artikel ini memperkenalkan strategi perdagangan kuantitatif yang menggabungkan analisis fraktal dan pola candlestick. Dengan mendeteksi titik pembalikan kunci dan pola candlestick pembalikan bullish / bearish, strategi ini memungkinkan perdagangan otomatis berisiko rendah dengan pengembalian tinggi.
Strategi ini didasarkan pada analisis aksi harga yang terperinci, menggunakan kombinasi analisis fraktal dan pengenalan pola candlestick untuk mendefinisikan masuk yang jelas dan logika stop loss untuk menangkap tren.
Secara khusus, kondisi masuknya adalah: harga pecah di atas level tertinggi dari 2 bar sebelumnya, dan terjadi breakout fraktal atau bullish engulfing atau pola palu. Kombinasi ini dengan kuat mengkonfirmasi sinyal panjang. Logika stop loss yang mendefinisikan exit pada harga pecah di bawah level terendah dari 2 bar sebelumnya memastikan stop cepat dan efektif.
Untuk mendeteksi pola, strategi ini menggunakan teori fraktal yang umum digunakan untuk mengidentifikasi titik pembalikan kunci, serta algoritma untuk mendeteksi 3 pola pembalikan lilin klasik.
Fraktal high/low diidentifikasi ketika harga membuat 3-bar baru tinggi/rendah, dan aturan ketat pada harga terbuka/tutup digunakan untuk pola engulfing.
Keuntungan utama dari strategi ini:
Masih ada risiko yang perlu dicatat:
Metode seperti berhenti yang dioptimalkan, penyaringan tren dan analisis berjalan maju dapat membantu mengendalikan risiko di atas.
Daerah untuk peningkatan lebih lanjut:
Peningkatan ini akan lebih memperkuat stabilitas dan profitabilitas strategi.
Artikel ini secara menyeluruh mencakup strategi perdagangan aksi harga yang menggabungkan fraktal dan pola lilin. Dengan sinyal yang akurat, penerapan yang mudah dan mengikuti tren yang efektif, strategi ini dapat sangat menguntungkan pedagang sistematis dan pedagang discretionary.
/*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)