Sistem perdagangan level dukungan dinamis kerangka waktu ganda

SMA EMA
Tanggal Pembuatan: 2024-12-05 16:44:56 Akhirnya memodifikasi: 2024-12-05 16:44:56
menyalin: 0 Jumlah klik: 366
1
fokus pada
1617
Pengikut

Sistem perdagangan level dukungan dinamis kerangka waktu ganda

Ringkasan

Strategi ini adalah sistem perdagangan posisi dukungan dinamis yang didasarkan pada dua frame waktu, yang diperdagangkan dengan sinyal silang yang menggabungkan SMA dan EMA rata-rata pada frame waktu horisontal dan horisontal. Sistem ini memanfaatkan dukungan yang terbentuk antara rata-rata untuk mengidentifikasi tren pasar dan peluang perdagangan, meningkatkan akurasi perdagangan dengan mengkonfirmasi sinyal dari dua periode waktu yang berbeda. Strategi ini menggunakan manajemen posisi persentase dan mempertimbangkan biaya perdagangan dan faktor slippage.

Prinsip Strategi

Prinsip inti dari strategi ini adalah untuk menentukan sinyal perdagangan dengan memantau hubungan antara persimpangan dan posisi garis rata-rata dalam dua periode waktu:

  1. Periode panjang (periodic line) menggunakan 20 minggu SMA dan 21 minggu EMA, periode pendek (periodic line) menggunakan 50 hari SMA dan 51 hari EMA
  2. Pada periode yang panjang, EMA menghasilkan sinyal plus saat melintasi SMA ke atas dan sinyal plus saat melintasi SMA ke bawah
  3. Dalam periode pendek, sinyal multiply dihasilkan ketika EMA naik melewati SMA dan EMA periode pendek berada di atas EMA periode panjang
  4. Ketika sinyal short-periodic short-off atau long-periodic mean-line cross-down muncul, sistem akan meratakan semua polynomial
  5. Strategi berjalan dalam jangka waktu yang ditentukan, di luar jangkauan posisi otomatis

Keunggulan Strategis

  1. Mekanisme multi-konfirmasi: Konfirmasi sinyal melalui dua periode waktu, mengurangi pengaruh sinyal palsu
  2. Sabuk dukungan dinamis: Sabuk dukungan yang terbentuk di antara garis rata dapat secara dinamis beradaptasi dengan perubahan pasar
  3. Pengelolaan risiko yang baik: termasuk pertimbangan biaya transaksi dan slippage, menggunakan manajemen persentase posisi
  4. Adaptif: Bantalan beradaptasi dengan pergerakan pasar
  5. Aturan Operasi Jelas: Kondisi Masuk dan Keluar Jelas, Mudah Dieksekusi dan Diukur

Risiko Strategis

  1. Risiko pasar bergoyang: sinyal palsu yang mungkin sering terjadi dalam pasar bergoyang
  2. Risiko keterbelakangan: Indikator garis rata-rata sendiri memiliki keterbelakangan, mungkin melewatkan titik masuk terbaik
  3. Sensitivitas parameter: pilihan periode rata-rata memiliki pengaruh yang lebih besar terhadap kinerja strategi
  4. Ketergantungan pada kondisi pasar: strategi yang bekerja dengan baik di pasar tren, tetapi mungkin kurang baik di pasar yang sangat bergejolak
  5. Risiko manajemen dana: Posisi persentase tetap mungkin terlalu berisiko dalam kondisi pasar tertentu

Arah optimasi strategi

  1. Memperkenalkan indikator volatilitas: Pertimbangkan untuk menambahkan indikator volatilitas seperti ATR untuk menyesuaikan ukuran posisi secara dinamis
  2. Pilihan parameter optimasi: kinerja sistem dapat dioptimalkan dengan mengukur parameter garis rata-rata dari periode waktu yang berbeda
  3. Menambahkan filter kondisi pasar: Menambahkan indikator kekuatan tren untuk menyaring kondisi pasar yang tidak sesuai
  4. Perbaikan mekanisme stop loss: Pertimbangkan untuk menambahkan stop loss bergerak atau stop loss tetap untuk mengendalikan risiko lebih lanjut
  5. Optimalkan manajemen posisi: ukuran posisi dapat disesuaikan secara dinamis berdasarkan intensitas sinyal dan fluktuasi pasar

Meringkaskan

Strategi ini membangun sistem perdagangan yang relatif stabil dengan menggabungkan sinyal cross-line yang sama dari periode waktu yang berbeda. Strategi ini mengidentifikasi tren pasar melalui konsep support band, dan menggunakan mekanisme konfirmasi ganda untuk meningkatkan akurasi perdagangan. Strategi ini dirancang dengan mempertimbangkan berbagai faktor dalam perdagangan aktual, termasuk biaya perdagangan, slippage, dan manajemen waktu.

Kode Sumber Strategi
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-04 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Demo GPT - Bull Market Support Band", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_value=0.1, slippage=3)

start_date = input(timestamp("2018-01-01 00:00 +0000"), title="Start Date")
end_date = input(timestamp("2069-12-31 00:00 +0000"), title="End Date")

lsmaLength = input.int(20, title="Long SMA Length", minval=1)
lemaLength = input.int(21, title="Long EMA Length", minval=1)
customLongTimeframe = input.timeframe("W", title="Long Timeframe")  // Khung thời gian dài
ssmaLength = input.int(50, title="Short SMA Length", minval=1)
semaLength = input.int(51, title="Short EMA Length", minval=1)
customShortTimeframe = input.timeframe("D", title="Short Timeframe")  // Khung thời gian ngắn

source = close

// Tính toán SMA và EMA cho khung thời gian dài
smaLong = ta.sma(source, lsmaLength)
emaLong = ta.ema(source, lemaLength)
outSmaLong = request.security(syminfo.tickerid, customLongTimeframe, smaLong)
outEmaLong = request.security(syminfo.tickerid, customLongTimeframe, emaLong)

// Tính toán SMA và EMA cho khung thời gian ngắn
smaShort = ta.sma(source, ssmaLength)
emaShort = ta.ema(source, semaLength)
outSmaShort = request.security(syminfo.tickerid, customShortTimeframe, smaShort)
outEmaShort = request.security(syminfo.tickerid, customShortTimeframe, emaShort)

// Plot các chỉ báo trên biểu đồ
smaPlotLong = plot(outSmaLong, color=color.new(color.red, 0), title='20w SMA (Long)')
emaPlotLong = plot(outEmaLong, color=color.new(color.green, 0), title='21w EMA (Long)')
smaPlotShort = plot(outSmaShort, color=color.new(color.red, 0), title='20d SMA (Short)')
emaPlotShort = plot(outEmaShort, color=color.new(color.green, 0), title='21d EMA (Short)')

// Fill vùng giữa các đường SMA và EMA
fill(smaPlotLong, emaPlotLong, color=color.new(color.orange, 75), fillgaps=true)
fill(smaPlotShort, emaPlotShort, color=color.new(color.orange, 75), fillgaps=true)

// Điều kiện long và short cho khung thời gian dài
longConditionLong = ta.crossover(outEmaLong, outSmaLong)
shortConditionLong = ta.crossunder(outEmaLong, outSmaLong)

// Điều kiện long và short cho khung thời gian ngắn
longConditionShort = ta.crossover(outEmaShort, outSmaShort) and (outEmaShort > outEmaLong)
shortConditionShort = ta.crossunder(outEmaShort, outSmaShort) and (outEmaShort > outEmaLong) // Điều kiện short khi EMA ngắn hạn cắt xuống dưới SMA ngắn hạn và EMA ngắn hạn cao hơn EMA dài hạn

// Kiểm tra điều kiện trong khoảng thời gian được chỉ định
inDateRange = true

// Nếu khung ngắn hạn xuất hiện tín hiệu short, ưu tiên đóng tất cả các lệnh Long
if shortConditionShort and inDateRange
    strategy.close_all()

// Nếu khung dài có tín hiệu short, đóng tất cả các lệnh Long
if shortConditionLong and inDateRange
    strategy.close_all()

// Nếu khung ngắn hạn có tín hiệu long và không có tín hiệu short từ khung dài, vào lệnh Long
if longConditionShort and not shortConditionLong and not shortConditionShort and inDateRange
    strategy.entry("Long", strategy.long)

// Đóng tất cả các lệnh khi không trong khoảng thời gian được chọn
if not inDateRange
    strategy.close_all()