Strategi Crossover SMMA dan SMA yang Dinamis


Tanggal Pembuatan: 2024-02-02 11:38:08 Akhirnya memodifikasi: 2024-02-02 11:38:08
menyalin: 0 Jumlah klik: 788
1
fokus pada
1617
Pengikut

Strategi Crossover SMMA dan SMA yang Dinamis

Ringkasan

Strategi ini menggunakan sinyal silang 50 siklus rata-rata bergerak lurus (SMMA) dan 20 siklus rata-rata bergerak sederhana (SMA) untuk menentukan waktu untuk membeli dan menjual. Ketika SMA garis cepat naik, sinyal beli muncul. Ketika SMA turun, sinyal jual muncul.

Prinsip Strategi

  1. Hitung dan gambar SMMA 50 siklus dan SMA 20 siklus.
  2. Ketika SMA menembus SMMA dari bawah ke atas, menghasilkan sinyal beli; sebaliknya, ketika SMA menembus SMMA dari atas ke bawah, menghasilkan sinyal jual.
  3. Posisi “Buy” dan “Sell” dibuat saat sinyal beli dan jual terjadi.
  4. Untuk setiap posisi, 150 titik stop telah ditetapkan.
  5. Tetapkan stop loss dinamis pada garis K berikutnya yang menghasilkan sinyal.
  6. Jika harga menyentuh stop loss, maka stop loss; jika menyentuh stop loss, maka stop loss.

Analisis Keunggulan

  1. Strategi ini mudah dioperasikan, prinsipnya sederhana, dan mudah dipahami.
  2. SMMA adalah perbaikan dari SMA, yang lebih baik untuk menangkap tren.
  3. Kombinasi SMA dan SMMA dengan siklus yang berbeda, dapat menangkap tren pada saat gelombang pasang surut.
  4. Menggunakan stop loss dinamis dapat menyesuaikan posisi stop loss sesuai dengan perubahan kondisi pasar, secara efektif mengendalikan risiko.
  5. Stop loss yang di-default akan membantu Anda mengunci keuntungan tepat waktu.

Analisis risiko

  1. Strategi dua garis sejajar mudah menghasilkan sinyal palsu, dan dapat di-arbitrage. Anda dapat memfilter sinyal dengan tepat, dan menghindari terlalu sering berdagang.
  2. Stop loss tetap mudah terlewatkan. Anda dapat mengatur stop loss bergerak atau stop loss rasio keuntungan.
  3. Stop loss dinamis mungkin terlalu dekat ketika ada fluktuasi besar di pasar, dan stop loss harus dilindungi dengan tepat.
  4. Perhatikan perbedaan antara varietas dan parameter siklus.

Arah optimasi

  1. dapat menguji kombinasi parameter yang berbeda (jumlah siklus, kondisi penyaringan, dll) untuk mencari parameter yang optimal;

  2. dapat dikombinasikan dengan faktor-faktor lain untuk memfilter sinyal, seperti peningkatan volume transaksi;

  3. mencari parameter optimal dengan menggunakan alat optimasi parameter;

  4. Penangguhan lainnya, seperti penangguhan bergerak, penangguhan proporsional, dan lain-lain dapat dipertimbangkan.

  5. Stop loss dinamis dapat dihitung dengan volatilitas pasar.

Meringkaskan

Strategi ini beroperasi secara keseluruhan sederhana, menangkap arah tren melalui dua garis rata; Fleksibel menggunakan stop loss tetap dan stop loss dinamis untuk mengunci keuntungan dan mengontrol risiko, risiko yang dapat diidentifikasi dan keuntungan. Strategi ini dapat lebih lanjut beradaptasi dengan lingkungan pasar yang lebih luas melalui parameter dan aturan optimasi.

Kode Sumber Strategi
/*backtest
start: 2023-01-26 00:00:00
end: 2024-02-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("50 SMMA and 20 SMA Crossover with TP and SL", overlay=true)

// Define 50 SMMA
smma50 = sma(close, 50)

// Define 20 SMA
sma20 = sma(close, 20)

// Plotting the SMMA and SMA
plot(smma50, color=color.blue, title="50 SMMA")
plot(sma20, color=color.red, title="20 SMA")

// Initialize TP and SL variables
tp = 150
var float sl_price = na

// Buy Signal
buySignal = crossover(sma20, smma50)
strategy.entry("Buy", strategy.long, when = buySignal)
strategy.exit("Take Profit/Stop Loss", from_entry="Buy", profit=tp, loss=sl_price)

// Sell Signal
sellSignal = crossunder(sma20, smma50)
strategy.entry("Sell", strategy.short, when = sellSignal)
strategy.exit("Take Profit/Stop Loss", from_entry="Sell", profit=tp, loss=sl_price)

// Update stop loss level on every crossover
if (buySignal or sellSignal)
    sl_price := close[bar_index + 1]

// Plot Stop Loss level
plotshape(series=sl_price != na, title="Stop Loss Level", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)