Sistem strategi volume persilangan rata-rata pergerakan multi-periode

EMA SMA WMA VOL
Tanggal Pembuatan: 2024-11-27 15:08:39 Akhirnya memodifikasi: 2024-11-27 15:08:39
menyalin: 2 Jumlah klik: 463
1
fokus pada
1617
Pengikut

Sistem strategi volume persilangan rata-rata pergerakan multi-periode

Ringkasan

Ini adalah sistem strategi perdagangan kuantitatif yang didasarkan pada analisa crossover rata-rata dan kuantitatif. Strategi ini mengambil keputusan perdagangan melalui sinyal crossover dari berbagai jenis rata-rata bergerak (termasuk EMA, SMA, dan WMA) yang dikombinasikan dengan indikator kuantitatif. Sistem ini mendukung jenis dan parameter crossover yang dikonfigurasi secara fleksibel, dan pada saat yang sama memperkenalkan analisis kuantitatif sebagai syarat konfirmasi perdagangan, meningkatkan keandalan perdagangan.

Prinsip Strategi

Strategi ini menggunakan sistem silang dua rata-rata sebagai sinyal perdagangan inti, menggabungkan analisis kuantitatif sebagai penilaian tambahan. Secara khusus:

  1. Menggunakan moving average dengan dua periode yang berbeda (MA1 dan MA2), mendukung pertukaran bebas antara SMA, EMA, dan WMA.
  2. Volume SMA diperkenalkan sebagai standar referensi volume.
  3. Menggunakan 200 siklus EMA sebagai dasar untuk menilai tren jangka panjang.
  4. Ketika kecepatan rata-rata melintasi kecepatan rata-rata ke atas, dan volume lalu lintas saat ini lebih besar dari volume rata-rata lalu lintas, sistem mengeluarkan sinyal ganda.
  5. Ketika kecepatan rata-rata melintasi kecepatan rata-rata ke bawah, dan volume transaksi saat ini lebih besar dari volume transaksi rata-rata, sistem mengeluarkan sinyal kosong.

Keunggulan Strategis

  1. Fleksibilitas: Mendukung berbagai jenis pergeseran rata-rata untuk memenuhi kebutuhan gaya perdagangan yang berbeda.
  2. Keandalan sinyal: meningkatkan kualitas sinyal perdagangan dengan mengkonfirmasi volume transaksi.
  3. Pelacakan tren: Masukkan EMA jangka panjang untuk menilai tren besar dan hindari perdagangan berlawanan.
  4. Parameter dapat disesuaikan: Parameter seperti siklus garis rata-rata, siklus volume transaksi dapat disesuaikan secara fleksibel sesuai dengan karakteristik pasar.
  5. Operasi sistematis: aturan transaksi jelas, tidak terganggu oleh faktor subjektif.

Risiko Strategis

  1. Risiko pasar yang bergoyang: Dalam situasi yang bergoyang, sinyal penembusan palsu dapat sering terjadi.
  2. Risiko keterlambatan: Rata-rata bergerak sendiri memiliki keterlambatan dan mungkin kehilangan waktu terbaik untuk masuk.
  3. Risiko biaya: Terlalu sering melakukan transaksi dapat menyebabkan biaya transaksi yang lebih tinggi.
  4. Ketergantungan pada kondisi pasar: Efektivitas strategi dipengaruhi oleh kekuatan tren pasar.

Arah optimasi strategi

  1. Memperkenalkan Indikator Kekuatan Tren: Indikator Kekuatan Tren seperti ADX dapat ditambahkan untuk membuka perdagangan hanya dalam situasi tren yang kuat.
  2. Optimalkan mekanisme stop loss: Disarankan untuk menambahkan stop loss mobile atau stop loss tetap untuk mengendalikan risiko.
  3. Peningkatan penilaian siklus pasar: Dapat dikombinasikan dengan indikator volatilitas pasar, menggunakan kombinasi parameter yang berbeda dalam siklus pasar yang berbeda.
  4. Analisis energi kuantitatif: dapat meningkatkan pengenalan bentuk energi kuantitatif, meningkatkan kualitas sinyal.
  5. Tambahkan modul pengendalian risiko: Tetapkan batas maksimum kepemilikan dan batas stop loss harian.

Meringkaskan

Ini adalah strategi perdagangan kuantitatif yang menggabungkan teori klasik analisis teknis untuk membangun sistem perdagangan melalui analisis silang rata-rata dan kuantitatif. Strategi ini dirancang secara rasional, memiliki kegunaan dan skalabilitas yang kuat. Dengan optimasi parameter dan perbaikan modul, stabilitas dan profitabilitas strategi dapat ditingkatkan lebih lanjut.

Kode Sumber Strategi
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-25 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Cruzamento de Médias com Volume ☾︎ 𝔇𝔞𝔯𝔎 ✞︎ 𝔗𝔯𝔞𝔡𝔢𝔯 ☽︎", overlay=true)

// Criação de opções no editor para selecionar o tipo de média móvel
maType1 = input.string(title="Tipo de Média Móvel 1", defval="EMA", options=["SMA", "EMA", "WMA"])
maType2 = input.string(title="Tipo de Média Móvel 2", defval="EMA", options=["SMA", "EMA", "WMA"])

// Função para selecionar a média móvel de acordo com o tipo escolhido
getMovingAverage(maType, src, length) =>
    if maType == "SMA"
        ta.sma(src, length)
    else if maType == "EMA"
        ta.ema(src, length)
    else if maType == "WMA"
        ta.wma(src, length)
    else
        na

// Parâmetros para o cálculo das médias móveis
length1 = input.int(9, title="Período da Média 1")
length2 = input.int(21, title="Período da Média 2")

// Cálculo das médias móveis escolhidas
ma1 = getMovingAverage(maType1, close, length1)
ma2 = getMovingAverage(maType2, close, length2)

// Parâmetro editável para o período da média de volume
volLength = input.int(20, title="Período da Média de Volume")

// Cálculo da média móvel do volume com período ajustável
volSMA = ta.sma(volume, volLength)  // Média móvel simples do volume

// Cálculo da EMA de 200 períodos para visualizar a tendência primária
ema200 = ta.ema(close, 200)

// Condições para compra: ma1 cruza acima da ma2 + Volume acima da média de volume ajustável
longCondition = ta.crossover(ma1, ma2) and volume > volSMA

// Condições para venda: ma1 cruza abaixo da ma2 + Volume acima da média de volume ajustável
shortCondition = ta.crossunder(ma1, ma2) and volume > volSMA

// Executa a operação de compra
if (longCondition)
    strategy.entry("Compra", strategy.long)

// Executa a operação de venda
if (shortCondition)
    strategy.entry("Venda", strategy.short)

// Plotando as médias móveis no gráfico de preços
plot(ma1, color=color.green, title="Média Móvel 1", linewidth=2)
plot(ma2, color=color.red, title="Média Móvel 2", linewidth=2)

// Plotando a EMA de 200 períodos para visualização da tendência de longo prazo
plot(ema200, color=color.orange, title="EMA 200", linewidth=2)

// Plotando a média de volume para visualização no painel inferior
plot(volSMA, color=color.blue, title="Média de Volume", linewidth=2)