Strategi ini menggabungkan rata-rata bergerak, pola harga dan volume untuk mengidentifikasi titik pembalikan tren potensial di pasar. Ini menjadi panjang ketika rata-rata bergerak cepat melintasi di atas rata-rata bergerak lambat, pola engulfing bullish muncul, tingkat resistensi pecah, dan volume perdagangan melonjak. Ini menjadi pendek ketika kondisi sebaliknya terjadi.
Ide inti dari strategi ini adalah menggunakan kombinasi rata-rata bergerak, pola tindakan harga dan volume sebagai sinyal untuk pembalikan yang akan datang. Secara khusus, salib emas dan salib kematian rata-rata bergerak dapat menunjukkan pergeseran tren. Pola bullish / bearish engulfing biasanya menyiratkan pembalikan jangka pendek di depan. lonjakan dalam volume perdagangan juga sering menandakan pembalikan tren. Dengan menggabungkan ketiga jenis sinyal, strategi ini bertujuan untuk dengan akurat menangkap titik balik pembalikan.
Dalam hal logika, strategi pertama menghitung rata-rata bergerak cepat dan lambat. Kemudian mendefinisikan kondisi untuk mengidentifikasi pola bullish / bearish engulfing. Tingkat dukungan dan resistensi dimasukkan bersama dengan ekspansi volume sebagai kondisi tambahan. Sinyal beli dipicu ketika MA cepat melintasi di atas MA lambat, pola bullish muncul, resistensi pecah, dan lonjakan volume. Kondisi sebaliknya memicu sinyal jual.
Keuntungan terbesar dari strategi ini adalah menggunakan kombinasi beberapa sinyal untuk mengkonfirmasi pembalikan, yang membantu menghindari sinyal palsu. Bergantung hanya pada satu indikator seperti moving average atau pola lilin cenderung menghasilkan perdagangan yang salah. Dengan membutuhkan keselarasan dari ketiga faktor, kemungkinan menangkap pembalikan dengan akurat meningkat secara signifikan.
Selain itu, strategi ini menggunakan konsep tren dan pembalikan. Pembalikan hanya dicari setelah tren yang ada. Dengan kata lain, strategi hanya mencari retracements kontra-tren di dalam pasar tren. Ini membantu mengurangi keacakan dan meningkatkan profitabilitas.
Risiko terbesar dari strategi ini adalah pembalikan yang gagal, di mana harga terus bergerak melawan arah perdagangan setelah sinyal masuk.
Solusinya meliputi penyesuaian periode rata-rata bergerak untuk mendefinisikan tren yang lebih baik, menggunakan stop loss yang lebih luas, dan menggabungkan lebih banyak faktor konfirmasi sebelum perdagangan sinyal pembalikan.
Cara optimasi yang mungkin untuk strategi ini meliputi:
Penyesuaian periode rata-rata bergerak untuk mengidentifikasi tren jangka panjang/pendek yang optimal.
Memeriksa metode perhitungan dukungan / resistensi yang berbeda seperti Pivot Points.
Mencoba indikator volume lainnya seperti aliran uang Chaikin, Volume Oscillator.
Menggabungkan lebih banyak faktor konfirmasi pembalikan seperti pola grafik jangka panjang, lonjakan volume besar dll.
Menggunakan indeks saham berjangka untuk verifikasi silang sinyal di pasar.
Melalui pengujian kombinasi parameter yang ketat, peningkatan kinerja lebih lanjut dapat dicapai.
Strategi ini menggabungkan rata-rata bergerak, aksi harga dan volume dengan baik untuk membalikkan perdagangan hanya di pasar tren. Dengan mengoptimalkan parameter dan menambahkan lebih banyak konfirmasi sinyal, ini dapat menjadi sistem yang kuat untuk perdagangan kontra-tren jangka pendek.
/*backtest start: 2023-01-10 00:00:00 end: 2024-01-16 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Profit Table Strategy", overlay=true) // Input parameters fastLength = input(10, title="Fast MA Length") slowLength = input(20, title="Slow MA Length") takeProfitPercent = input(1, title="Take Profit (%)") / 100 stopLossPercent = input(1, title="Stop Loss (%)") / 100 trailingStopPercent = input(1, title="Trailing Stop (%)") / 100 // Price action conditions bullishEngulfing = close > open and close > open[1] and open < close[1] and open[1] > close[1] bearishEngulfing = close < open and close < open[1] and open > close[1] and open[1] < close[1] // Support and resistance levels supportLevel = input(100, title="Support Level") resistanceLevel = input(200, title="Resistance Level") // Volume conditions volumeCondition = volume > ta.sma(volume, 20) // Calculate moving averages fastMA = ta.sma(close, fastLength) slowMA = ta.sma(close, slowLength) // Buy condition buyCondition = (fastMA > slowMA) and (close > resistanceLevel) and bullishEngulfing and volumeCondition // Sell condition sellCondition = (fastMA < slowMA) and (close < supportLevel) and bearishEngulfing and volumeCondition // Strategy logic strategy.entry("Buy", strategy.long, when=buyCondition) strategy.close("Buy", when=sellCondition) // Calculate take profit, stop loss, and trailing stop levels takeProfitLevel = strategy.position_avg_price * (1 + takeProfitPercent) stopLossLevel = strategy.position_avg_price * (1 - stopLossPercent) trailingStopLevel = strategy.position_avg_price * (1 - trailingStopPercent) // Plotting levels on the chart plot(supportLevel, color=color.blue, style=plot.style_line, linewidth=2, title="Support Level") plot(resistanceLevel, color=color.purple, style=plot.style_line, linewidth=2, title="Resistance Level") plot(takeProfitLevel, color=color.green, style=plot.style_line, linewidth=2, title="Take Profit Level") plot(stopLossLevel, color=color.red, style=plot.style_line, linewidth=2, title="Stop Loss Level") plot(trailingStopLevel, color=color.orange, style=plot.style_line, linewidth=2, title="Trailing Stop Level") // Plotting buy and sell signals on the chart plotshape(series=buyCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar) plotshape(series=sellCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)