Strategi dagangan pindah silang purata bergerak berganda dengan henti untung dan henti rugi dinamik

SMA TP SL
Tarikh penciptaan: 2024-06-21 14:02:56 Akhirnya diubah suai: 2024-06-21 14:02:56
Salin: 3 Bilangan klik: 584
1
fokus pada
1617
Pengikut

Strategi dagangan pindah silang purata bergerak berganda dengan henti untung dan henti rugi dinamik

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan automatik berdasarkan simpulan purata bergerak ((SMA) yang bercampur-campur, yang menggabungkan mekanisme berhenti dan kehilangan yang dinamik. Ia menggunakan dua SMA yang berbeza untuk menghasilkan isyarat beli dan jual melalui persimpangan mereka.

Prinsip Strategi

  1. Gunakan dua SMA: satu jangka pendek ((50 kitaran) dan satu jangka panjang ((100 kitaran) }}.
  2. Apabila SMA pendek di atas SMA panjang, ia menghasilkan isyarat beli; apabila SMA pendek di bawah SMA panjang, ia menghasilkan isyarat jual.
  3. Setiap kali anda membuka kedudukan, anda akan mengira tahap hentian dan kerugian anda berdasarkan harga semasa dan peratusan yang anda tentukan.
  4. Apabila harga mencapai tahap stop atau stop loss, ia akan melonggarkan kedudukan secara automatik.
  5. Strategi menandai isyarat beli dan jual pada carta, dan melukis garisan pelambatan dan pelambatan.

Kelebihan Strategik

  1. Sederhana dan mudah difahami: Crossover adalah kaedah analisis teknikal klasik yang mudah difahami dan dilaksanakan.
  2. Pengesanan Trend: Mengesan trend jangka menengah dan jangka panjang untuk mendapatkan faedah dari pasaran.
  3. Pengurusan risiko: Mengendalikan risiko setiap dagangan dengan berkesan dengan menetapkan stop loss secara dinamik.
  4. Automasi: Proses ini dilakukan secara automatik, mengurangkan campur tangan manusia dan kesan emosi.
  5. Visualisasi: Menandai isyarat perdagangan dan harga utama dengan jelas pada carta, untuk memudahkan analisis dan pengesanan.

Risiko Strategik

  1. Pasaran goyah tidak boleh digunakan: Dalam pasaran goyah yang mendatar, isyarat palsu mungkin sering dihasilkan, menyebabkan kerugian berturut-turut.
  2. Ketinggalan: SMA sendiri ketinggalan, mungkin terlepas titik kemasukan terbaik atau penundaan keluar.
  3. Risiko Persentase Tetap: Menggunakan Stop Loss Persentase Tetap mungkin tidak sesuai untuk semua keadaan pasaran.
  4. Kekurangan penunjuk pengesahan lain: bergantung kepada persilangan linear sahaja mungkin mengabaikan maklumat pasaran penting yang lain.
  5. Tidak mengambil kira kos urus niaga: Perdagangan yang kerap boleh menyebabkan kos urus niaga yang tinggi dan menjejaskan hasil akhir.

Arah pengoptimuman strategi

  1. Memperkenalkan penapis: boleh menambah jumlah lalu lintas, kadar turun naik atau petunjuk teknikal lain sebagai syarat penapisan, mengurangkan isyarat palsu.
  2. Siklus penyesuaian SMA dinamik: penyesuaian automatik panjang SMA mengikut turun naik pasaran untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.
  3. Mengoptimumkan Stop Loss: Pertimbangkan untuk menggunakan ATR (Average True Range) untuk menetapkan tahap Stop Loss yang dinamik, lebih sesuai dengan turun naik pasaran.
  4. Peningkatan pengesahan trend: meningkatkan kebolehpercayaan isyarat perdagangan, dalam kombinasi dengan penunjuk trend lain seperti MACD atau ADX.
  5. Menambah pengurusan kedudukan: saiz kedudukan setiap dagangan disesuaikan mengikut saiz akaun dan dinamik turun naik pasaran.
  6. Penapisan masa: Tambah had tetingkap masa dagangan untuk mengelakkan turun naik atau kekurangan kecairan.
  7. Kawalan penarikan balik: Tambah had penarikan balik maksimum dan hentikan dagangan apabila kerugian berterusan mencapai tahap tertentu.

ringkaskan

Strategi perdagangan yang berasaskan crossover binari ini menyediakan kerangka kerja yang mudah dan berkesan untuk pemula yang memulakan perdagangan automatik. Ia menggabungkan elemen trend tracking dan pengurusan risiko untuk melindungi dana dengan menetapkan stop loss secara dinamik. Walau bagaimanapun, lebih banyak pengoptimuman dan penyempurnaan diperlukan untuk mencapai kesan yang lebih baik dalam perdagangan sebenar.

Kod sumber strategi
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
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/
// © Pubgentleman

//@version=5
//@version=5
strategy("TSLA 1-Hour SMA Crossover Strategy with Buy/Sell Signals", overlay=true)

// Parameters
shortSmaLength = input.int(50, title="Short SMA Length")
longSmaLength = input.int(100, title="Long SMA Length")
takeProfitPerc = input.float(5.0, title="Take Profit Percentage", step=0.1) // 5.0% take profit
stopLossPerc = input.float(3.0, title="Stop Loss Percentage", step=0.1) // 3.0% stop loss

// Calculate SMAs
shortSma = ta.sma(close, shortSmaLength)
longSma = ta.sma(close, longSmaLength)

// Plot SMAs
plot(shortSma, color=color.blue, title="Short SMA")
plot(longSma, color=color.red, title="Long SMA")

// Entry Conditions
longCondition = ta.crossover(shortSma, longSma)
shortCondition = ta.crossunder(shortSma, longSma)

// Trade Management
var float entryPrice = na
var float takeProfitLevel = na
var float stopLossLevel = na

if (longCondition)
    entryPrice := close
    takeProfitLevel := entryPrice * (1 + takeProfitPerc / 100)
    stopLossLevel := entryPrice * (1 - stopLossPerc / 100)
    strategy.entry("Long", strategy.long)
    label.new(x=bar_index, y=low, text="Buy", style=label.style_label_up, color=color.green, textcolor=color.white)

if (shortCondition)
    entryPrice := close
    takeProfitLevel := entryPrice * (1 - takeProfitPerc / 100)
    stopLossLevel := entryPrice * (1 + stopLossPerc / 100)
    strategy.entry("Short", strategy.short)
    label.new(x=bar_index, y=high, text="Sell", style=label.style_label_down, color=color.red, textcolor=color.white)

// Exit Conditions
if (strategy.position_size > 0)
    if (close >= takeProfitLevel or close <= stopLossLevel)
        strategy.close("Long")

if (strategy.position_size < 0)
    if (close <= takeProfitLevel or close >= stopLossLevel)
        strategy.close("Short")

// Plot Take Profit and Stop Loss Levels
plot(strategy.position_size > 0 ? takeProfitLevel : na, title="Take Profit Level", color=color.green, style=plot.style_stepline)
plot(strategy.position_size > 0 ? stopLossLevel : na, title="Stop Loss Level", color=color.red, style=plot.style_stepline)
plot(strategy.position_size < 0 ? takeProfitLevel : na, title="Take Profit Level (Short)", color=color.green, style=plot.style_stepline)
plot(strategy.position_size < 0 ? stopLossLevel : na, title="Stop Loss Level (Short)", color=color.red, style=plot.style_stepline)