Strategi pembalikan berdasarkan rata-rata pergerakan, pola harga, dan volume


Tanggal Pembuatan: 2024-01-17 17:48:40 Akhirnya memodifikasi: 2024-01-17 17:48:40
menyalin: 0 Jumlah klik: 551
1
fokus pada
1617
Pengikut

Strategi pembalikan berdasarkan rata-rata pergerakan, pola harga, dan volume

Ringkasan

Strategi ini menggunakan kombinasi dari moving average, pola harga dan volume transaksi untuk mengidentifikasi titik balik pasar. Strategi ini akan melakukan lebih banyak ketika bergerak cepat di atas rata-rata bergerak cepat dan melintasi rata-rata bergerak lambat, dan ada beberapa bentuk penetrasi, melewati resistance, dan volume perdagangan meningkat. Sebaliknya, ketika bergerak cepat di bawah rata-rata bergerak melewati rata-rata bergerak cepat dan ada bentuk penetrasi kosong, dan jatuh dari level dukungan, dan volume perdagangan meningkat, strategi ini akan kosong.

Prinsip

Gagasan inti dari strategi ini adalah menggunakan kombinasi dari sistem linier, bentuk harga, dan kekuatan kuantitatif untuk mengidentifikasi titik balik potensial. Secara khusus, persimpangan emas dan persimpangan mati pada linier dapat menilai pergeseran tren. Dua bentuk harga, yang disebut multiheaded and empty headed, biasanya menandakan pergeseran jangka pendek.

Dari sudut pandang logika kode, pertama-tama menghitung rata-rata bergerak cepat dan rata-rata bergerak lambat. Kemudian mengatur kondisi penilaian untuk multiple sink dan sink kosong. Selain itu, juga mengatur kondisi untuk mendukung level perlawanan dan peningkatan volume transaksi.

Keunggulan

Keuntungan terbesar dari strategi ini adalah menggunakan kombinasi dari berbagai sinyal untuk mengidentifikasi reversal, yang dapat secara efektif mengurangi sinyal palsu. Secara khusus, sangat mudah untuk membuat sinyal perdagangan yang salah hanya dengan mengandalkan satu garis rata-rata, bentuk harga, atau kuantitas. Tetapi jika ketiga sinyal muncul secara bersamaan, maka tingkat keberhasilan memprediksi reversal akan meningkat secara signifikan.

Selain itu, strategi ini memanfaatkan dua faktor sekaligus yaitu trend dan reversal. Sebelum muncul sinyal reversal, trend harus ada. Dengan kata lain, strategi ini hanya akan mencari peluang reversal dalam konteks tren. Ini juga mengurangi keacakan dan meningkatkan probabilitas keuntungan.

Risiko

Risiko terbesar dari strategi ini adalah kegagalan pembalikan, yaitu harga terus turun setelah beberapa sinyal; atau harga terus naik setelah sinyal take-off. Ini biasanya disebabkan oleh kesalahan penilaian, dan sinyal pembalikan hanya palsu, atau hanya penyesuaian jangka pendek, dan kemudian melanjutkan tren aslinya.

Solusinya adalah dengan menyesuaikan parameter garis rata-rata, mengidentifikasi tren siklus yang lebih panjang; dan pada saat yang sama meningkatkan stop loss dengan tepat, menghentikan kerugian tepat waktu setelah kegagalan reversal. Selain itu, Anda juga dapat menggabungkan lebih banyak faktor untuk mengkonfirmasi reversal, seperti bentuk harga dalam siklus besar, dll.

Pengoptimalan

Strategi ini dapat dioptimalkan dengan beberapa cara:

  1. Sesuaikan parameter garis rata-rata untuk mengidentifikasi periode yang lebih cocok.

  2. Pengujian algoritma bit resistor pendukung yang berbeda, seperti bit resistor pendukung Pareto.

  3. Cobalah berbagai indikator volume transaksi, seperti indikator energy tide, indikator swing volume transaksi, dan lain-lain.

  4. Menambahkan lebih banyak sinyal yang mengkonfirmasi pembalikan, seperti pola harga jangka panjang, peningkatan volume transaksi yang drastis, dan sebagainya.

  5. Kombinasi dengan indeks saham berjangka untuk melakukan konfirmasi lintas pasar, menggunakan indeks saham berjangka untuk mengkonfirmasi pembalikan saham individu.

Dengan menguji kombinasi parameter yang berbeda, strategi ini dapat dioptimalkan lebih lanjut, sehingga meningkatkan profitabilitas dan tingkat kemenangan.

Meringkaskan

Strategi ini mengintegrasikan tiga faktor untuk mengidentifikasi reversal, yaitu sistem garis rata, pola harga, dan volume transaksi. Strategi ini memungkinkan kombinasi efektif dari berbagai sinyal. Strategi ini hanya mencari peluang reversal dalam konteks tren dan menghindari perdagangan acak.

Kode Sumber Strategi
/*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)