Strategi Dagangan Masa Parameter Suai Adaptif Berganda Bergerak Purata

SMA MA
Tarikh penciptaan: 2024-11-29 15:29:24 Akhirnya diubah suai: 2024-11-29 15:29:24
Salin: 0 Bilangan klik: 400
1
fokus pada
1617
Pengikut

Strategi Dagangan Masa Parameter Suai Adaptif Berganda Bergerak Purata

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan parameter yang menyesuaikan diri berdasarkan isyarat persilangan dua garis lurus. Isyarat perdagangan dihasilkan melalui persilangan purata bergerak cepat dan purata bergerak perlahan, dan digabungkan dengan parameter pengurusan risiko yang boleh disesuaikan seperti berhenti, hentikan dan mengesan hentikan, untuk pengurusan strategi perdagangan yang fleksibel.

Prinsip Strategi

Strategi ini menggunakan dua rata-rata bergerak cepat dan perlahan sebagai petunjuk utama. Apabila rata-rata bergerak cepat melintasi rata-rata bergerak perlahan ke atas, sistem menghasilkan banyak isyarat; Apabila rata-rata bergerak cepat melintasi rata-rata bergerak perlahan ke bawah, sistem menghasilkan isyarat kedudukan yang sama.

Kelebihan Strategik

  1. Fleksibiliti parameter yang kuat: strategi yang membolehkan peniaga menyesuaikan parameter utama seperti kitaran garis rata-rata dan nisbah hentian dan hentian kerugian mengikut keadaan pasaran, lebih mudah disesuaikan.
  2. Pengurusan risiko yang baik: dengan mekanisme perlindungan tiga (stop loss, stop loss, dan trace stop loss), risiko yang lebih rendah dapat dikawal dengan berkesan.
  3. Logik operasi yang jelas: isyarat dagangan yang berasaskan persimpangan linear adalah mudah difahami, mudah difahami dan dilaksanakan.
  4. Tingkat automasi yang tinggi: Strategi dapat dikendalikan secara automatik sepenuhnya, mengurangkan kesan emosi intervensi manusia.

Risiko Strategik

  1. Risiko pasaran goyah: Dalam pasaran goyah, isyarat persilangan rata-rata sering berlaku, yang boleh menyebabkan perdagangan berlebihan dan kerugian berterusan.
  2. Risiko tergelincir: Dalam keadaan pasaran yang bergelincir, harga transaksi sebenar mungkin menyimpang jauh dari harga isyarat.
  3. Risiko pengoptimuman parameter: Parameter pengoptimuman berlebihan boleh menyebabkan perbezaan yang besar antara prestasi strategi dalam permainan nyata dan hasil pengukuran semula.
  4. Risiko sistemik: Kejadian besar yang tidak dijangka di pasaran boleh menyebabkan harga melonjak dan melepasi kedudukan hentian.

Arah pengoptimuman strategi

  1. Menambah penapis trend pasaran: memperkenalkan penunjuk penilaian trend tambahan untuk mengelakkan perdagangan yang kerap di pasaran berhampiran.
  2. Cara mengoptimumkan penangguhan: Peratusan penangguhan yang disesuaikan secara dinamik boleh dipertimbangkan dalam kombinasi dengan indikator kadar turun naik.
  3. Memperkenalkan penunjuk kuantiti transaksi: Menggunakan kuantiti transaksi sebagai pengesahan tambahan kepada isyarat transaksi.
  4. Menambah penapis masa: Tetapkan tetingkap masa dagangan yang sesuai untuk mengelakkan pergerakan yang lebih besar.

ringkaskan

Strategi ini menggabungkan parameter pengurusan risiko yang fleksibel dengan penyeberangan dua garis sejajar, untuk membina sistem perdagangan yang dapat disesuaikan. Kelebihan strategi ini adalah parameternya dapat disesuaikan, kawalan risiko yang sempurna, tetapi juga perlu memperhatikan risiko yang dibawa oleh pasaran yang bergolak dan pengoptimuman parameter.

Kod sumber strategi
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © traderhub

//@version=5
strategy("Two Moving Averages Strategy with Adjustable Parameters", overlay=true)

// Adjustable parameters for fast and slow moving averages
fastLength = input.int(10, title="Fast Moving Average Length", minval=1, maxval=100)
slowLength = input.int(30, title="Slow Moving Average Length", minval=1, maxval=100)

// Risk management parameters
stopLossPerc = input.float(1, title="Stop Loss (%)", step=0.1) // Stop-loss percentage
takeProfitPerc = input.float(2, title="Take Profit (%)", step=0.1) // Take-profit percentage
trailStopPerc = input.float(1.5, title="Trailing Stop (%)", step=0.1) // Trailing stop percentage

// Calculate fast and slow moving averages
fastMA = ta.sma(close, fastLength)
slowMA = ta.sma(close, slowLength)

// Plot moving averages on the chart
plot(fastMA, color=color.blue, title="Fast Moving Average")
plot(slowMA, color=color.red, title="Slow Moving Average")

// Conditions for opening and closing positions
longCondition = ta.crossover(fastMA, slowMA) // Buy when fast moving average crosses above the slow moving average
shortCondition = ta.crossunder(fastMA, slowMA) // Sell when fast moving average crosses below the slow moving average

// Variables for stop-loss and take-profit levels
var float longStopLevel = na
var float longTakeProfitLevel = na

// Enter a long position
if (longCondition)
    longStopLevel := strategy.position_avg_price * (1 - stopLossPerc / 100)
    longTakeProfitLevel := strategy.position_avg_price * (1 + takeProfitPerc / 100)
    strategy.entry("Long", strategy.long)

// Manage stop-loss, take-profit, and trailing stop for long positions
if (strategy.position_size > 0)
    strategy.exit("Take Profit/Stop Loss", "Long", stop=longStopLevel, limit=longTakeProfitLevel, trail_offset=trailStopPerc)

// Close the long position and enter short when the condition is met
if (shortCondition)
    strategy.close("Long")
    strategy.entry("Short", strategy.short)