Strategi Pembalikan Tren Berdasarkan Rata-rata Bergerak, Pola Harga dan Volume

Penulis:ChaoZhang, Tanggal: 2024-01-17 17:48:40
Tag:

img

Gambaran umum

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.

Prinsip-prinsip

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

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

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.

Peningkatan

Cara optimasi yang mungkin untuk strategi ini meliputi:

  1. Penyesuaian periode rata-rata bergerak untuk mengidentifikasi tren jangka panjang/pendek yang optimal.

  2. Memeriksa metode perhitungan dukungan / resistensi yang berbeda seperti Pivot Points.

  3. Mencoba indikator volume lainnya seperti aliran uang Chaikin, Volume Oscillator.

  4. Menggabungkan lebih banyak faktor konfirmasi pembalikan seperti pola grafik jangka panjang, lonjakan volume besar dll.

  5. Menggunakan indeks saham berjangka untuk verifikasi silang sinyal di pasar.

Melalui pengujian kombinasi parameter yang ketat, peningkatan kinerja lebih lanjut dapat dicapai.

Kesimpulan

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)


Lebih banyak