Rata-rata pergerakan ganda EMA, stop loss risiko tetap dan take profit

EMA SMA BTC
Tanggal Pembuatan: 2024-05-14 15:48:48 Akhirnya memodifikasi: 2024-05-14 15:48:48
menyalin: 0 Jumlah klik: 547
1
fokus pada
1617
Pengikut

Rata-rata pergerakan ganda EMA, stop loss risiko tetap dan take profit

Ringkasan

Strategi ini menggunakan crossover rata-rata dua EMA sebagai sinyal perdagangan, dengan siklus garis cepat 65, dan siklus garis lambat 240. Selain itu, menggunakan volume transaksi sebagai kondisi penyaringan, dan hanya akan melakukan perdagangan jika volume transaksi saat ini lebih besar dari nilai terendah yang ditentukan. Strategi ini menetapkan jumlah risiko tetap untuk setiap transaksi (~ $ 10) dan secara dinamis menghitung ukuran posisi berdasarkan jumlah risiko.

Prinsip Strategi

  1. Hitung dua garis EMA rata-rata, garis cepat (ema_fast) dengan periode 65, dan garis lambat (ema_slow) dengan periode 240.
  2. Perhitungan apakah terjadi crossover bullish atau crossover bearish.
  3. Tetapkan ambang batas volume (volume_threshold), dan hanya bertransaksi jika volume transaksi saat ini lebih besar dari ambang batas tersebut.
  4. Setel jumlah risiko tetap untuk setiap perdagangan (risk_per_trade) sebesar $10.
  5. Ukuran posisi berdasarkan jumlah risiko dan jarak stop loss.
  6. Ketika crossover terjadi dan volume transaksi memenuhi persyaratan, buka lebih banyak posisi, stop loss diatur di bawah harga bukaan posisi \( 100 dan stop loss diatur di atas harga bukaan posisi \) 1500 .
  7. Ketika head-on crossing terjadi dan volume transaksi memenuhi persyaratan, posisi terbuka, stop loss diatur di atas harga bukaan posisi \( 100 dan stop loss diatur di bawah harga bukaan posisi \) 1500.

Keunggulan Strategis

  1. Garis silang dua rata dapat menangkap tren pasar dengan lebih baik, dan kombinasi siklus 65240 dapat menyaring sebagian besar kebisingan dan hanya fokus pada tren utama.
  2. Menggunakan filter volume transaksi untuk menghindari perdagangan pada saat volume transaksi rendah, mengurangi risiko volatilitas pasar.
  3. Manajemen posisi dengan jumlah risiko tetap, dapat secara efektif mengontrol risiko setiap transaksi, dan menghindari kerugian yang terlalu besar dalam satu transaksi.
  4. Penetapan stop loss dan stop loss yang dinamis berdasarkan jarak harga dapat membuat ruang keuntungan lebih besar dari ruang kerugian, sehingga meningkatkan kinerja strategi dalam jangka panjang.
  5. Untuk varietas yang sangat berfluktuasi seperti BTC/USD, dan dapat sepenuhnya menangkap peluang investasi yang ditimbulkan oleh fluktuasinya.

Risiko Strategis

  1. EMA sebagai indikator trend tracking, ada masalah lag saat trend berbalik, yang dapat menyebabkan keterlambatan masuk atau keterlambatan keluar dari pasar.
  2. Jumlah risiko tetap mungkin tidak dapat secara dinamis beradaptasi dengan fluktuasi pasar, dan dalam situasi ekstrim (seperti badai dan terjun) akan berkinerja buruk.
  3. Pengaturan nilai ambang transaksi bersifat subjektif, dan pengaturan nilai ambang yang tidak tepat dapat memengaruhi efektivitas strategi.
  4. Pengaturan tetap untuk stop loss dan stop loss mungkin tidak sesuai dengan amplitudo fluktuasi pasar yang sebenarnya, yang menyebabkan stop loss atau stop loss yang sering terjadi.
  5. Strategi dapat berkinerja buruk dalam situasi yang bergolak, dan seringnya persilangan dapat menyebabkan kerugian berturut-turut.

Arah optimasi strategi

  1. Pertimbangkan untuk memperkenalkan lebih banyak kelompok kerja sama rata-rata sebagai kondisi penyaringan, seperti bergabung dengan rata-rata rata-rata, membangun sistem multi-rata rata-rata untuk meningkatkan keandalan sinyal.
  2. Mengoptimalkan manajemen posisi, seperti mengadaptasi posisi secara dinamis dengan kondisi pasar yang berbeda, seperti menggunakan metode persentase risiko atau rumus Kelly.
  3. Optimalisasi parameter untuk nilai ambang volume transaksi untuk menemukan pengaturan nilai ambang optimal untuk meningkatkan stabilitas strategi.
  4. Pengaturan posisi stop loss yang dioptimalkan, disesuaikan secara real-time dengan fluktuasi pasar terbaru, dan meningkatkan fleksibilitas untuk beradaptasi dengan pasar.
  5. Dalam metode trending, komponen perlindungan tertentu, seperti penilaian tambahan dari indikator anti-trend seperti PSAR, ditambahkan untuk meningkatkan kemampuan pasar untuk menanggapi guncangan.

Meringkaskan

Strategi ini menggunakan 65240 crossover dua rata-rata sebagai dasar penilaian tren, dan menggabungkan kondisi penyaringan lalu lintas untuk meningkatkan keandalan sinyal. Pengelolaan posisi risiko tetap dan pengaturan stop loss harga tetap, dapat mengendalikan risiko hingga batas tertentu dan membuat stop loss cenderung ke arah yang menguntungkan. Namun, ada juga masalah dengan strategi penangkapan tren yang relatif terbelakang, manajemen posisi yang tidak cukup fleksibel, kurangnya penyesuaian stop loss secara dinamis. Di masa depan, strategi dapat dioptimalkan dan ditingkatkan dengan membangun sistem multi-rata-rata, mengoptimalkan manajemen posisi, menghentikan stop loss secara dinamis, dan memperkenalkan stop loss dari sudut pandang indikator shock, untuk mendapatkan kinerja perdagangan yang lebih stabil dan dapat diandalkan.

Kode Sumber Strategi
/*backtest
start: 2024-05-06 00:00:00
end: 2024-05-13 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA Crossover Strategy with 1:3 RR, Volume Filter, and Custom Stop Loss/Take Profit (BTC)", overlay=true, currency="USD", initial_capital=100)

// Define EMA lengths
ema_length_fast = 65
ema_length_slow = 240

// Calculate EMAs
ema_fast = ta.ema(close, ema_length_fast)
ema_slow = ta.ema(close, ema_length_slow)

// Define crossover conditions
bullish_crossover = ta.crossover(ema_fast, ema_slow)
bearish_crossover = ta.crossunder(ema_fast, ema_slow)

// Plot EMAs
plot(ema_fast, color=color.blue, title="Fast EMA")
plot(ema_slow, color=color.red, title="Slow EMA")

// Define volume filter
volume_threshold = 1000 // Adjust as needed

// Define risk amount per trade
risk_per_trade = 0.5 // $10 USD

// Calculate position size based on risk amount
stop_loss_distance = 100
take_profit_distance = 1500
position_size = risk_per_trade / syminfo.mintick / stop_loss_distance

// Execute trades based on crossovers and volume filter
if (bullish_crossover and volume > volume_threshold)
    strategy.entry("Buy", strategy.long, qty=position_size)
    strategy.exit("Exit", "Buy", stop=close - stop_loss_distance, limit=close + take_profit_distance)
if (bearish_crossover and volume > volume_threshold)
    strategy.entry("Sell", strategy.short, qty=position_size)
    strategy.exit("Exit", "Sell", stop=close + stop_loss_distance, limit=close - take_profit_distance)