Strategi kontak MA99 dan stop loss dinamis

SMA MA99
Tanggal Pembuatan: 2024-04-29 16:59:41 Akhirnya memodifikasi: 2024-04-29 16:59:41
menyalin: 1 Jumlah klik: 1024
1
fokus pada
1617
Pengikut

Strategi kontak MA99 dan stop loss dinamis

Ringkasan

Strategi ini didasarkan pada 99 siklus sederhana bergerak rata-rata ((MA99) untuk menilai sinyal perdagangan. Anda dapat membuka posisi ketika harga menyentuh MA99, tanpa perlu dua K-garis konfirmasi. Sementara stop loss menggunakan stop loss dinamis, yaitu ketika harga menembus MA99 dan dikonfirmasi di K-garis berikutnya, yaitu stop loss posisi datar. Strategi ini bertujuan untuk menangkap pergerakan harga di sekitar MA99, sekaligus mengendalikan risiko melalui stop loss dinamis.

Prinsip Strategi

  1. Hitung rata-rata bergerak sederhana MA99 dengan periode 99.
  2. Untuk menentukan apakah harga saat ini mencapai MA99, yaitu harga terendah di bawah MA99 dan tertinggi di atas MA99
  3. Jika harga menyentuh MA99 dan harga penutupan lebih tinggi dari MA99, lakukan over; Jika harga menyentuh MA99 dan harga penutupan lebih rendah dari MA99, lakukan short.
  4. Untuk posisi multihead, jika harga tutup jatuh di bawah MA99 dan K baris berikutnya dikonfirmasi lagi, maka posisi kosong, jika harga tutup menembus MA99 dan K baris berikutnya dikonfirmasi lagi, maka posisi kosong.
  5. Setiap kali posisi dibuka, MA99 saat ini ditetapkan sebagai harga stop loss; setiap kali posisi ditutup, harga stop loss ditetapkan kembali.

Keunggulan Strategis

  1. Sederhana: Strategi ini didasarkan pada satu indikator MA99, dengan aturan yang jelas, mudah dipahami dan diterapkan.
  2. Stop loss dinamis: Stop loss dinamis dapat lebih beradaptasi dengan perubahan pasar dan mengendalikan risiko lebih cepat dibandingkan dengan stop loss tetap.
  3. Pelacakan tren: MA99 mewakili tren jangka menengah dan panjang, membuka posisi saat harga menyentuh MA99, dapat mengikuti arah tren utama dan berdagang.
  4. Mengurangi kebisingan: 99 siklus rata-rata garis dapat secara efektif memfilter kebisingan fluktuasi jangka pendek dibandingkan dengan menggunakan siklus yang lebih pendek.

Risiko Strategis

  1. Optimasi parameter: Strategi ini hanya menggunakan parameter 99, yang mungkin bukan parameter optimal, yang perlu ditentukan melalui pengujian dan optimasi.
  2. Pasar bergoyang: Dalam pasar bergoyang, harga sering berfluktuasi di sekitar MA99, yang dapat menyebabkan perdagangan dan kerugian yang sering terjadi.
  3. Trend reversal: Ketika trend reversal terjadi, maka strategi ini mungkin akan mengalami kerugian karena terus memegang posisi yang salah arah.
  4. Biaya slippage: seringnya perdagangan dapat menyebabkan slippage dan biaya transaksi yang lebih tinggi, yang mempengaruhi keuntungan strategi.

Arah optimasi strategi

  1. Memperkenalkan filter tren: Dalam menilai sinyal untuk membuka posisi, dapat dikombinasikan dengan indikator tren lainnya seperti MACD, ADX, dan lain-lain untuk mengkonfirmasi kekuatan dan arah tren, meningkatkan kualitas posisi.
  2. Parameter optimasi: untuk mengoptimalkan parameter seperti siklus MA, kondisi stop loss, menemukan kombinasi parameter yang optimal, meningkatkan stabilitas strategi.
  3. Bergabunglah dengan manajemen posisi: menyesuaikan ukuran posisi secara dinamis sesuai dengan kekuatan tren pasar, volatilitas, dan faktor lainnya, untuk mengontrol risiko penarikan.
  4. Pertimbangkan biaya transaksi: Dalam pengujian ulang dan real-time, faktor-faktor biaya seperti slippage transaksi, biaya, dan biaya lainnya harus diperhitungkan untuk menilai kinerja sebenarnya dari strategi tersebut.

Meringkaskan

Strategi MA99 Exposure to Dynamic Stop Strategi MA99 Exposure to Dynamic Stop Strategi MA99 Exposure to Dynamic Stop Strategi MA99 Exposure to Dynamic Stop Strategi MA99 Exposure to Dynamic Stop Strategi MA99 Exposure to Dynamic Stop Strategi MA99 Exposure to Dynamic Stop Strategi MA99 Exposure to Dynamic Stop Strategi MA99 Exposure to Dynamic Stop Strategi MA99 Exposure to Dynamic Stop Strategi MA99 Exposure to Dynamic Stop Strategi MA99 Exposure to Dynamic Stop Strategi MA99 Exposure to Dynamic Stop Strategi MA99 Exposure to Dynamic Stop Strategi MA99 Exposure to Dynamic Stop Strategi MA99 Exposure to Dynamic Stop Strategi MA99 Exposure to Dynamic Stop Strategi MA99 Exposure to Dynamic Stop Strategi MA99 Exposure to Dynamic Stop Strategi MA99 Exposure to Dynamic Stop Strategi MA99 Exposure to Dynamic Stop Strategi MA99 Exposure to Dynamic Stop Strategi MA99 Exposure to Dynamic Stop Strategi MA99 Exposure to Dynamic Stop Strategi MA99 Exposure to Dynamic Stop Strategi

Kode Sumber Strategi
/*backtest
start: 2023-04-23 00:00:00
end: 2024-04-28 00:00:00
period: 1d
basePeriod: 1h
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/


//@version=5
strategy("MA99 Temas ve Dinamik Stop-Loss Stratejisi", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// MA99 hesaplayalım
ma99 = ta.sma(close, 99)
plot(ma99, color=color.blue, title="MA99")

// Fiyatın MA99'a temas edip etmediğini kontrol edelim
priceTouchedMA99 = (low <= ma99 and high >= ma99)

// Long ve short koşullarını tanımlayalım
longCondition = priceTouchedMA99 and close > ma99
shortCondition = priceTouchedMA99 and close < ma99

var float longStopLoss = na
var float shortStopLoss = na

var int longStopTriggered = 0
var int shortStopTriggered = 0

// Alım veya satım sinyallerine göre işlemleri başlatalım ve stop-loss ayarlayalım
if (longCondition)
    strategy.entry("Long Entry", strategy.long)
    longStopLoss := ma99
    longStopTriggered := 0

if (shortCondition)
    strategy.entry("Short Entry", strategy.short)
    shortStopLoss := ma99
    shortStopTriggered := 0

// Stop-loss koşullarını ve iki mum kuralını kontrol edelim
if (not na(longStopLoss))
    if (close < longStopLoss)
        longStopTriggered := 1
    else
        longStopTriggered := 0

    if (longStopTriggered[1] == 1 and close < longStopLoss)  // Bir önceki mumda tetiklendi ve hala altında
        strategy.close("Long Entry", comment="Stop Loss Long")
        longStopLoss := na
        longStopTriggered := 0

if (not na(shortStopLoss))
    if (close > shortStopLoss)
        shortStopTriggered := 1
    else
        shortStopTriggered := 0

    if (shortStopTriggered[1] == 1 and close > shortStopLoss)  // Bir önceki mumda tetiklendi ve hala üstünde
        strategy.close("Short Entry", comment="Stop Loss Short")
        shortStopLoss := na
        shortStopTriggered := 0