Penjejakan arah aliran purata bergerak berganda dan strategi kawalan risiko

EMA
Tarikh penciptaan: 2024-12-20 14:30:29 Akhirnya diubah suai: 2024-12-20 14:30:29
Salin: 1 Bilangan klik: 371
1
fokus pada
1617
Pengikut

Penjejakan arah aliran purata bergerak berganda dan strategi kawalan risiko

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan pengesanan trend berdasarkan 110 hari dan 200 hari indeks bergerak rata-rata ((EMA) bersilang. Strategi ini menilai trend pasaran dengan melihat EMA jangka pendek berbanding EMA jangka panjang, dan menggabungkan mekanisme hentian kerugian untuk mengawal risiko. Sistem ini secara automatik melakukan operasi perdagangan terbuka yang sesuai setelah mengesahkan isyarat trend, sambil memantau risiko memegang kedudukan dalam masa nyata.

Prinsip Strategi

Logik teras strategi adalah berdasarkan ciri-ciri kesinambungan trend harga, menangkap isyarat peralihan trend melalui persilangan EMA110 dan EMA200. Apabila garis purata jangka pendek (EMA110) melintasi garis purata jangka panjang (EMA200), menunjukkan pembentukan trend naik, sistem mengeluarkan banyak isyarat; apabila garis purata jangka pendek melintasi garis purata jangka panjang (EMA200) menunjukkan pembentukan trend menurun, sistem mengeluarkan isyarat kosong. Untuk mengawal risiko, strategi akan menetapkan stop loss 1% dan stop loss 0.5% pada setiap pembukaan kedudukan, untuk melindungi keuntungan dan mengehadkan kemungkinan kerugian.

Kelebihan Strategik

  1. Keupayaan menangkap trend yang kuat: menangkap trend jangka panjang dan sederhana dengan penyambungan dua garis rata, menapis bunyi pasaran jangka pendek dengan berkesan
  2. Pengendalian risiko yang sempurna: Pemasangan mekanisme penangguhan kerugian terintegrasi untuk mengawal risiko perdagangan tunggal
  3. Logik pelaksanaan yang ketat: secara automatik akan meratakan kedudukan terbalik sebelum membuka kedudukan baru, untuk mengelakkan pembinaan semula kedudukan
  4. Petua isyarat jelas: menunjukkan isyarat perdagangan secara langsung melalui jadual isyarat isyarat di sudut kanan atas antara muka
  5. Tetapan parameter yang munasabah: Pilih 110 dan 200 hari sebagai kitaran rata-rata, yang dapat mengimbangi sensitiviti dan kestabilan

Risiko Strategik

  1. Risiko pasaran goyah: Perdagangan yang kerap dalam pasaran goyah boleh menyebabkan kerugian
  2. Risiko tergelincir: kemungkinan tergelincir dalam pasaran yang bergolak
  3. Risiko trend reversal: Stop loss mungkin tidak tepat pada masanya apabila trend berbalik secara tiba-tiba
  4. Risiko pengoptimuman parameter: Pengoptimuman parameter yang berlebihan boleh menyebabkan keterlaluan strategi
  5. Risiko sistemik: mungkin menghadapi risiko sistemik semasa turun naik pasaran yang kuat

Arah pengoptimuman strategi

  1. Memperkenalkan penunjuk kuantiti: menggabungkan analisis kuantiti untuk mengesahkan keberkesanan trend
  2. Mekanisme penangguhan yang dioptimumkan: penangguhan bergerak atau penangguhan dinamik ATR boleh dipertimbangkan
  3. Tambah penapis trend: tambahkan penunjuk kekuatan trend untuk menapis isyarat trend lemah
  4. Pengurusan kedudukan yang lebih baik: penyesuaian saiz pegangan mengikut kekuatan trend secara dinamik
  5. Menambah kawalan penarikan balik: Tetapkan had penarikan balik maksimum dan hentikan dagangan apabila paras paras paras terendah dicapai

ringkaskan

Strategi ini menguruskan risiko dengan menangkap trend silang sejajar, dan menggabungkan mekanisme hentian hentian, reka bentuk keseluruhan adalah munasabah, logiknya ketat. Walaupun mungkin tidak berfungsi dengan baik dalam pasaran yang bergolak, tetapi dengan arah pengoptimuman yang disyorkan, kestabilan dan keuntungan strategi dapat ditingkatkan lagi.

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

//@version=5
strategy("EMA110/200 Cross with Stop-Loss and Take-Profit", overlay=true)

// 定义EMA110和EMA200
ema110 = ta.ema(close, 110)
ema200 = ta.ema(close, 250)

// 画出EMA
plot(ema110, color=color.blue, title="EMA110")
plot(ema200, color=color.red, title="EMA200")

// 计算交叉信号
longCondition = ta.crossover(ema110, ema200)  // EMA110上穿EMA200,做多
shortCondition = ta.crossunder(ema110, ema200)  // EMA110下穿EMA200,做空

// 设置止损和止盈
stopLoss = 0.01  // 止损1%
takeProfit = 0.005  // 止盈0.5%

// 判断是否已有仓位
isLong = strategy.position_size > 0  // 当前是否为多头仓位
isShort = strategy.position_size < 0  // 当前是否为空头仓位

// 执行策略:做多时平空,做空时平多
if (longCondition and not isLong)  // 如果满足做多条件并且当前没有多头仓位
    if (isShort)  // 如果当前是空头仓位,先平空
        strategy.close("Short")
    strategy.entry("Long", strategy.long)  // 执行做多
    strategy.exit("Take Profit/Stop Loss", "Long", stop=close * (1 - stopLoss), limit=close * (1 + takeProfit))

if (shortCondition and not isShort)  // 如果满足做空条件并且当前没有空头仓位
    if (isLong)  // 如果当前是多头仓位,先平多
        strategy.close("Long")
    strategy.entry("Short", strategy.short)  // 执行做空
    strategy.exit("Take Profit/Stop Loss", "Short", stop=close * (1 + stopLoss), limit=close * (1 - takeProfit))

// 在表格中显示信号
var table myTable = table.new(position.top_right, 1, 1)
if (longCondition and not isLong)
    table.cell(myTable, 0, 0, "Buy Signal", text_color=color.green)
if (shortCondition and not isShort)
    table.cell(myTable, 0, 0, "Sell Signal", text_color=color.red)