Berdasarkan strategi pindah silang purata bergerak dinamik


Tarikh penciptaan: 2024-02-01 10:42:53 Akhirnya diubah suai: 2024-02-01 10:42:53
Salin: 0 Bilangan klik: 543
1
fokus pada
1617
Pengikut

Berdasarkan strategi pindah silang purata bergerak dinamik

Gambaran keseluruhan

Strategi Crossover Rata-rata Bergerak Dinamik adalah strategi trend yang biasa. Strategi ini menghasilkan isyarat beli dan jual dengan mengira purata bergerak cepat (Fast MA) dan purata bergerak perlahan (Slow MA) dan menangkap titik-titik perubahan trend pasaran ketika mereka bersilang.

Prinsip Strategi

Logik teras strategi ini ialah: apabila purata bergerak cepat melintasi purata bergerak perlahan dari bawah, menghasilkan isyarat beli; apabila purata bergerak cepat melintasi purata bergerak perlahan dari atas ke bawah, menghasilkan isyarat jual.

Rata-rata bergerak dengan cepat lebih sensitif dan dapat menangkap perubahan trend; Rata-rata bergerak perlahan lebih stabil dan dapat menghapuskan kesan turun naik jangka pendek. Apabila garisan rata-rata yang cepat berlaku (berjalan dari bawah ke atas), pasar masuk ke dalam keadaan berbilang kepala; Apabila garisan mati berlaku (berjalan dari atas ke bawah), ia masuk ke dalam keadaan kosong.

Strategi ini akan segera mengeluarkan isyarat perdagangan apabila merentasi garis rata, mengambil strategi mengikuti trend, mengikuti trend pasaran untuk mendapatkan keuntungan yang lebih besar. Pada masa yang sama, strategi ini akan menetapkan titik berhenti dan titik berhenti, mengawal risiko dengan ketat.

Analisis kelebihan

  • Kaedah pengesanan semula yang baik, trend-following untuk menangkap trend yang lebih besar
  • Penyelesaian linear menghasilkan isyarat yang jelas dan mudah dilaksanakan
  • Tetapkan Stop Loss Stop, mengawal risiko dengan ketat

Analisis risiko

  • Kesilapan perdagangan isyarat yang boleh menyebabkan kerugian besar
  • Perdagangan yang kerap, jangka masa yang singkat
  • Parameter yang perlu ditetapkan

Ia boleh diperbaiki dengan cara seperti mengoptimumkan parameter, menyesuaikan panjang kitaran purata, atau menambah syarat penapisan.

Arah pengoptimuman

  • Menyesuaikan parameter garis rata-rata untuk mencari kombinasi parameter terbaik
  • Penambahan penapis seperti penunjuk tenaga kuantitatif untuk mengurangkan isyarat salah
  • Pengaturan Stop Loss Optimis
  • Menentukan arah trend dalam kombinasi dengan petunjuk lain

ringkaskan

Strategi persilangan linear dinamik mempunyai kesan keseluruhan yang baik, dengan menyesuaikan parameter pengoptimuman dapat meningkatkan prestasi strategi. Strategi ini mudah dilaksanakan, sesuai untuk latihan praktikal pemula. Tetapi juga perlu berhati-hati terhadap risiko menghasilkan isyarat yang salah, yang perlu dibantu dengan indikator lain untuk menilai keberkesanan.

Kod sumber strategi
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Simple Moving Average Crossover", shorttitle="SMAC", overlay=true)

// Define input parameters
fast_length = input.int(9, title="Fast MA Length")
slow_length = input.int(21, title="Slow MA Length")
stop_loss = input.float(1, title="Stop Loss (%)", minval=0, maxval=100)
take_profit = input.float(2, title="Take Profit (%)", minval=0, maxval=100)

// Calculate moving averages
fast_ma = ta.sma(close, fast_length)
slow_ma = ta.sma(close, slow_length)

// Define conditions for long and short signals
long_condition = ta.crossover(fast_ma, slow_ma)
short_condition = ta.crossunder(fast_ma, slow_ma)

// Plot moving averages on the chart
plot(fast_ma, title="Fast MA", color=color.blue)
plot(slow_ma, title="Slow MA", color=color.red)

// Execute long and short trades
if (long_condition)
    strategy.entry("Long", strategy.long)
if (short_condition)
    strategy.entry("Short", strategy.short)

// Set stop loss and take profit levels
stop_loss_price = close * (1 - stop_loss / 100)
take_profit_price = close * (1 + take_profit / 100)
strategy.exit("Take Profit/Stop Loss", stop=stop_loss_price, limit=take_profit_price)

// Plot signals on the chart
plotshape(series=long_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=short_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)