Strategi henti untung dan henti rugi dinamik penyesuaian berdasarkan pada silang SMA dan penapisan volum

SMA
Tarikh penciptaan: 2024-07-31 11:20:39 Akhirnya diubah suai: 2024-07-31 11:20:39
Salin: 0 Bilangan klik: 483
1
fokus pada
1617
Pengikut

Strategi henti untung dan henti rugi dinamik penyesuaian berdasarkan pada silang SMA dan penapisan volum

Gambaran keseluruhan

Strategi ini adalah sistem perdagangan automatik berdasarkan simpulan purata bergerak ((SMA) bersalin dan penapisan kuantiti bersalin. Ia menggunakan persilangan SMA cepat dan lambat untuk menghasilkan isyarat masuk, sambil menggabungkan penunjuk kuantiti untuk mengesahkan kekuatan trend.

Prinsip Strategi

Prinsip-prinsip utama strategi ini adalah berdasarkan beberapa komponen utama:

  1. Isyarat silang SMA:

    • Purata bergerak mudah menggunakan dua kitaran yang berbeza (SMA cepat dan SMA perlahan)
    • Apabila SMA pantas melintasi SMA perlahan di bawah, ia menghasilkan isyarat ganda
    • Apabila SMA pantas melintasi SMA perlahan dari atas, ia menghasilkan isyarat pengalihan
  2. Penapis kuantiti:

    • Pengiraan purata bergerak sederhana untuk jumlah transaksi
    • Melakukan banyak isyarat memerlukan jumlah transaksi semasa lebih tinggi daripada jumlah transaksi SMA
    • Isyarat kosong memerlukan jumlah transaksi semasa yang lebih rendah daripada jumlah transaksi SMA
  3. Penangguhan dan penghentian dinamik:

    • Tetapkan paras stop loss dan stop loss berdasarkan peratusan harga kemasukan
    • Tahap henti dan henti boleh disesuaikan dengan parameter input
  4. Pengeluaran berdasarkan masa:

    • Tetapkan masa pegangan maksimum ((dihitung dengan K baris)
    • Penutupan automatik melebihi tempoh memegang kedudukan maksimum untuk mengelakkan kedudukan yang tidak menguntungkan dalam jangka masa panjang
  5. Tetapan semasa pengesanan:

    • Membolehkan pengguna untuk menentukan jangka masa pengesanan tertentu
    • Memastikan strategi hanya berjalan dalam tempoh sejarah yang ditetapkan

Kelebihan Strategik

  1. Pengesanan trend digabungkan dengan momentum: Dengan menggabungkan penyaringan SMA dan jumlah transaksi, strategi ini dapat menangkap trend yang kuat dan mengelakkan perdagangan yang kerap di pasaran lemah.

  2. Pengurusan risiko yang fleksibel: Mekanisme hentian dan hentian dinamik membolehkan strategi menyesuaikan pendedahan risiko secara automatik mengikut turun naik pasaran, membantu melindungi keuntungan dan mengehadkan potensi kerugian.

  3. Mencegah Penyimpanan Terlalu Besar: Had masa memegang maksimum membantu mengelakkan strategi memegang kedudukan yang merugikan untuk jangka panjang dalam keadaan pasaran yang tidak menguntungkan, dan menggalakkan penggunaan dana yang berkesan.

  4. Kemampuan untuk menyesuaikan diri: Pelbagai parameter yang boleh disesuaikan (seperti kitaran SMA, peratusan stop loss, tempoh memegang maksimum, dan lain-lain) membolehkan strategi dapat dioptimumkan mengikut gaya pasaran dan perdagangan yang berbeza.

  5. Sokongan visual: Strategi ini memetakan garisan SMA dan isyarat perdagangan pada carta untuk memudahkan pemahaman dan analisis prestasi strategi secara visual.

Risiko Strategik

  1. Ketinggalan zaman: Indeks SMA secara semula jadi terbelakang, yang boleh menyebabkan kelewatan masuk atau kehilangan peluang dalam pasaran yang berbalik dengan cepat.

  2. Beranda “ Berita Semasa ” Berita Semasa: Dalam pasaran setapak, persilangan SMA boleh menghasilkan isyarat pecah palsu yang kerap, yang menyebabkan perdagangan berlebihan dan meningkatkan kos perdagangan.

  3. Jumlah penghantaran bergantung kepada: Terlalu banyak bergantung pada metrik jumlah transaksi boleh mengelirukan strategi di bawah keadaan pasaran tertentu, terutamanya semasa turun naik atau jumlah transaksi yang luar biasa.

  4. Peratusan Tetap Stop Loss / Stop Stop: Menggunakan peratusan yang tetap untuk menghentikan dan menghentikan mungkin tidak sesuai untuk semua keadaan pasaran, terutamanya pada masa-masa yang sangat berubah-ubah.

  5. Keterbatasan untuk keluar berdasarkan masa: Tempoh maksimum pegangan tetap boleh menyebabkan pelepasan terlalu awal semasa trend yang menguntungkan belum berakhir, menjejaskan potensi keuntungan.

Arah pengoptimuman strategi

  1. Pengaturan parameter dinamik: Membuat pengesuaian dinamik bagi kitaran SMA, peratusan stop loss dan tempoh memegang maksimum untuk menyesuaikan diri dengan kitaran dan turun naik pasaran yang berbeza.

  2. incorporate penapis tambahan: Pengenalan petunjuk teknikal lain (seperti RSI, MACD, dan lain-lain) sebagai syarat penapisan tambahan untuk meningkatkan ketepatan isyarat perdagangan.

  3. Pengurangan jumlah penghantaran: Membangunkan mekanisme penurunan nilai dagangan yang disesuaikan secara dinamik untuk menyesuaikan diri dengan ciri-ciri dagangan pada peringkat pasaran yang berbeza.

  4. Peningkatan mekanisme penarikan diri: Meneroka mekanisme penarikan pintar berdasarkan struktur pasaran atau penunjuk momentum, menggantikan penarikan masa tetap, meningkatkan fleksibiliti strategi.

  5. Pengubahsuaian Volatiliti: Membuat penyesuaian tahap stop loss dan stop loss yang dinamik berdasarkan turun naik pasaran untuk menguruskan risiko dan menangkap keuntungan dengan lebih baik.

  6. Analisis pelbagai kerangka masa: Mengintegrasikan analisis data dari pelbagai bingkai masa untuk meningkatkan keupayaan strategi untuk mengenal pasti trend dan pembalikan pasaran.

  7. Pembelajaran Mesin yang dioptimumkan: Menggunakan algoritma pembelajaran mesin untuk mengoptimumkan parameter strategi secara dinamik untuk meningkatkan prestasi strategi dalam keadaan pasaran yang berbeza.

ringkaskan

“Strategi Stop Loss Dinamik Adaptif Dengan Penyaringan Selang dan Penyaringan Transaksi SMA” adalah sistem perdagangan komprehensif yang menggabungkan trend tracking, analisis transaksi dan pengurusan risiko. Dengan menggunakan penyaringan Selang dan Transaksi SMA, strategi ini bertujuan untuk menangkap trend pasaran yang kuat, sementara mekanisme Stop Loss Dinamis dan fungsi Keluar berdasarkan masa menyediakan kawalan risiko yang fleksibel. Walaupun terdapat beberapa batasan yang wujud, seperti lag isyarat dan kebergantungan pada parameter tetap, strategi ini menawarkan beberapa arah yang boleh dioptimumkan, termasuk penyesuaian dinamik parameter, pengenalan penunjuk teknikal tambahan dan memanfaatkan teknik pembelajaran mesin.

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

//@version=5
strategy("Simple_CrossOver_Bot_V1_EBO", overlay=true)

// INPUTS
dateStart_Year = input.int(2018, title="Start Year", minval=2000)
dateStart_Month = input.int(1, title="Start Month", minval=1, maxval=12)
dateStart_Day = input.int(1, title="Start Day", minval=1, maxval=31)
dateEnd_Year = input.int(2019, title="End Year", minval=2000)
dateEnd_Month = input.int(1, title="End Month", minval=1, maxval=12)
dateEnd_Day = input.int(1, title="End Day", minval=1, maxval=31)

fast_SMA_input = input.int(7, title="SMA Fast")
slow_SMA_input = input.int(25, title="SMA Slow")
volume_SMA_input = input.int(20, title="Volume SMA")
stop_loss_percent = input.float(1.0, title="Stop Loss (%)", step=0.1) / 100
take_profit_percent = input.float(2.0, title="Take Profit (%)", step=0.1) / 100
max_bars_in_trade = input.int(50, title="Max Bars in Trade", minval=1)

// INDICATORS
fast_SMA = ta.sma(close, fast_SMA_input)
slow_SMA = ta.sma(close, slow_SMA_input)
volume_SMA = ta.sma(volume, volume_SMA_input)

// STRATEGY
LONG = ta.crossover(fast_SMA, slow_SMA) and fast_SMA > slow_SMA and volume > volume_SMA
SHORT = ta.crossunder(fast_SMA, slow_SMA) and fast_SMA < slow_SMA and volume < volume_SMA

// TRIGGERS
testPeriodStart = timestamp(dateStart_Year, dateStart_Month, dateStart_Day)
testPeriodEnd = timestamp(dateEnd_Year, dateEnd_Month, dateEnd_Day)
timecondition = true

// Track bar index for entries
var int long_entry_bar_index = na
var int short_entry_bar_index = na

if timecondition
    if LONG
        strategy.entry(id="LONG", direction=strategy.long)
        long_entry_bar_index := bar_index
    if SHORT
        strategy.entry(id="SHORT", direction=strategy.short)
        short_entry_bar_index := bar_index

    // Exit conditions for LONG
    if not na(long_entry_bar_index) and bar_index - long_entry_bar_index >= max_bars_in_trade
        strategy.close("LONG")
        long_entry_bar_index := na
    
    // Exit conditions for SHORT
    if not na(short_entry_bar_index) and bar_index - short_entry_bar_index >= max_bars_in_trade
        strategy.close("SHORT")
        short_entry_bar_index := na

    // Standard exits
    if LONG
        strategy.exit("Exit LONG", from_entry="LONG", stop=close * (1 - stop_loss_percent), limit=close * (1 + take_profit_percent))
    if SHORT
        strategy.exit("Exit SHORT", from_entry="SHORT", stop=close * (1 + stop_loss_percent), limit=close * (1 - take_profit_percent))

// PLOTS
plot(fast_SMA, color=color.green, linewidth=1, title="Fast SMA")
plot(slow_SMA, color=color.yellow, linewidth=1, title="Slow SMA")
plot(volume_SMA, color=color.blue, linewidth=1, title="Volume SMA")
plotshape(series=LONG, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", size=size.small)
plotshape(series=SHORT, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", size=size.small)

// Uncomment the following lines for alerts
// alertcondition(LONG, title="LONG")
// alertcondition(SHORT, title="SHORT")