Perbedaan Rata-rata Gerak Strategi Zero Cross

Penulis:ChaoZhang, Tanggal: 2024-01-26 15:45:03
Tag:

img

Gambaran umum

Prinsip Strategi

  1. Menghitung 8-periode eksponensial rata-rata bergerak EMA dan rata-rata bergerak terendah selama 8 hari terakhir
  2. Menghitung perbedaan antara harga dan rata-rata bergerak saat ini
  3. Gabungkan nilai numerik dari perbedaan untuk membandingkan penurunan maksimum selama seminggu terakhir untuk menghasilkan sinyal perdagangan

Analisis Keuntungan

  1. Menggunakan sistem rata-rata bergerak ganda dapat secara efektif menyaring terobosan palsu
  2. Menerapkan teori harga minimum untuk menemukan sinyal bawah
  3. Perbandingan numerik untuk menilai kondisi oversold dan overbought, menghindari mengejar tinggi dan membunuh rendah

Analisis Risiko

  1. Strategi rata-rata bergerak ganda rentan terhadap efek whipsaw
  2. Kebutuhan untuk memperhatikan masalah frekuensi perdagangan yang berlebihan

Arahan Optimasi

  1. Sesuaikan parameter periode rata-rata bergerak untuk menyesuaikan dengan siklus yang berbeda
  2. Tingkatkan indikator volume untuk menyaring sinyal terobosan palsu
  3. Gabungkan indikator stokastik untuk menghindari kondisi oversold dan overbought

Ringkasan

Strategi ini mengintegrasikan metode selisih rata-rata bergerak dan sistem crossover sumbu nol untuk meningkatkan akurasi deteksi titik beli dan jual. Namun, pengoptimalan lebih lanjut dari pengaturan parameter dan kombinasi dengan indikator lain untuk menyaring sinyal masih diperlukan. Secara umum, strategi indikator sederhana ini memiliki efektivitas yang cukup besar dan dapat digunakan sebagai strategi dasar untuk perdagangan langsung.


/*backtest
start: 2023-01-19 00:00:00
end: 2024-01-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title = "Estratégia diferença menor preço de 8")

// Configuração da Média Móvel
emaPeriod = 8

ema= ema(close, emaPeriod)
ema1= ema(close[1], emaPeriod)
lowestEMA = lowest(ema, 8)

// Calcula a diferença entre o preço e a média móvel
diff = close - ema
diff1 = close[1] - ema1
diffLow = ema - lowestEMA

//Condições
diffZero = diff < 0
diffUnder = diff < diffLow
diffUm = diff > 0
Low0 = diffLow == 0




// Sinais de entrada
buy_signal = diffUnder and crossover(diff, diff1) 
sell_signal = diffUm and diffUnder and crossunder(diff, diff1)

// Executa as operações de compra/venda
if buy_signal
    strategy.entry("Buy", strategy.long)
if sell_signal
    strategy.exit("Buy")

// Plota as linhas
plot(0, title="Linha Zero", color=color.gray)
plot(diff, title="Diferença", color=color.blue, linewidth=2)

plot(diffLow, title="Diferença", color=color.red, linewidth=2)


Lebih banyak