Strategi perdagangan crossover rata-rata pergerakan ganda dengan stop profit dan stop loss yang dinamis

SMA TP SL
Tanggal Pembuatan: 2024-06-21 14:02:56 Akhirnya memodifikasi: 2024-06-21 14:02:56
menyalin: 3 Jumlah klik: 584
1
fokus pada
1617
Pengikut

Strategi perdagangan crossover rata-rata pergerakan ganda dengan stop profit dan stop loss yang dinamis

Ringkasan

Strategi ini adalah sistem perdagangan otomatis yang didasarkan pada crossover rata-rata bergerak sederhana (SMA) yang menggabungkan mekanisme stop-loss dan stop-loss yang dinamis. Ini menggunakan dua SMA yang berbeda periode untuk menghasilkan sinyal beli dan jual melalui persimpangan mereka.

Prinsip Strategi

  1. Gunakan dua SMA: satu untuk jangka pendek ((50 siklus) dan satu untuk jangka panjang ((100 siklus)).
  2. Ketika SMA jangka pendek melewati SMA jangka panjang, sinyal beli dihasilkan; ketika SMA jangka pendek melewati SMA jangka panjang, sinyal jual dihasilkan.
  3. Setiap kali membuka posisi, stop loss dan stop loss level dihitung berdasarkan harga saat ini dan persentase default.
  4. Ketika harga mencapai level stop loss atau stop loss, posisi akan otomatis dihapus.
  5. Strategi menandai sinyal jual beli pada grafik dan menggambar garis stop loss dan stop loss horisontal.

Keunggulan Strategis

  1. Sederhana dan mudah dimengerti: Garis silang adalah metode analisis teknis klasik yang mudah dimengerti dan diterapkan.
  2. Pelacakan tren: kemampuan untuk menangkap tren jangka menengah dan panjang, yang membantu mendapatkan keuntungan dari tren besar.
  3. Manajemen risiko: Mengontrol risiko setiap transaksi secara efektif dengan mengatur stop loss secara dinamis.
  4. Otomatisasi: Proses ini dilakukan oleh program, mengurangi intervensi manusia dan pengaruh emosional.
  5. Visualisasi: sinyal perdagangan dan harga kunci ditandai dengan jelas pada grafik untuk memudahkan analisis dan pengembalian.

Risiko Strategis

  1. Tidak berlaku untuk pasar bergoyang: Dalam pasar bergoyang horizontal, sinyal palsu dapat sering dihasilkan, yang menyebabkan kerugian berturut-turut.
  2. Keterlambatan: SMA sendiri memiliki keterlambatan, mungkin melewatkan titik masuk terbaik atau penundaan keluar.
  3. Risiko persentase tetap: Stop loss dengan persentase tetap mungkin tidak cocok untuk semua kondisi pasar.
  4. Kurangnya indikator konfirmasi lainnya: hanya mengandalkan crossover linear dapat mengabaikan informasi pasar penting lainnya.
  5. Tidak mempertimbangkan biaya transaksi: seringnya transaksi dapat menyebabkan biaya transaksi yang tinggi, yang mempengaruhi pendapatan akhir.

Arah optimasi strategi

  1. Masukkan filter: Anda dapat menambahkan lalu lintas, volatilitas, atau indikator teknis lainnya sebagai syarat penyaringan untuk mengurangi sinyal palsu.
  2. Siklus SMA yang disesuaikan secara dinamis: Skala SMA disesuaikan secara otomatis dengan volatilitas pasar untuk menyesuaikan dengan kondisi pasar yang berbeda.
  3. Optimalkan Stop Loss: Pertimbangkan untuk menggunakan ATR (Average True Range) untuk mengatur tingkat Stop Loss yang dinamis, agar lebih sesuai dengan fluktuasi pasar.
  4. Meningkatkan konfirmasi tren: Meningkatkan keandalan sinyal perdagangan, dikombinasikan dengan indikator tren lainnya seperti MACD atau ADX.
  5. Menambahkan manajemen posisi: ukuran posisi setiap transaksi disesuaikan dengan ukuran akun dan dinamika volatilitas pasar.
  6. Filter waktu: Meningkatkan batas jendela waktu perdagangan untuk menghindari periode dengan fluktuasi besar atau kurangnya likuiditas.
  7. Kontrol penarikan: Tambahkan batas maksimum penarikan dan hentikan perdagangan jika kerugian berturut-turut mencapai tingkat tertentu.

Meringkaskan

Strategi perdagangan yang didasarkan pada crossover biner ini memberikan kerangka kerja yang sederhana dan efektif untuk pemula yang memulai perdagangan otomatis. Ini menggabungkan elemen pelacakan tren dan manajemen risiko untuk melindungi dana dengan pengaturan stop loss secara dinamis. Namun, untuk mendapatkan hasil yang lebih baik dalam perdagangan nyata, perlu lebih banyak pengoptimalan dan perbaikan.

Kode 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)