Sumber daya yang dimuat... Pemuatan...

Smooth Moving Average Stop Loss & Take Profit Strategy dengan Trend Filter dan Exception Exit

Penulis:ChaoZhang, Tanggal: 2024-06-03 16:54:04
Tag:SMARSITRMATPSL

img

Gambaran umum

Strategi ini menggunakan indikator seperti Smooth Moving Average (SMA), Relative Strength Index (RSI), True Range (TR), dan Volume Moving Average (Volume MA) dalam kombinasi dengan filter tren, volume, dan kondisi volatilitas untuk mengeksekusi perdagangan ketika kriteria tertentu terpenuhi. Ide utama di balik strategi ini adalah untuk memasuki posisi panjang ketika harga di bawah SMA200, tren menurun, dan volume dan volatilitas rendah. Stop loss dan take profit level ditetapkan pada saat masuk. Selain itu, strategi ini menggabungkan mekanisme keluar yang luar biasa, menutup posisi ketika RSI melebihi 70 atau ketika stop loss atau take profit level yang telah ditetapkan sebelumnya tercapai.

Prinsip Strategi

  1. Menghitung indikator seperti SMA, RSI, Volume MA, dan TR MA
  2. Tentukan apakah tren saat ini naik atau turun
  3. Periksa apakah volume dan volatilitas saat ini rendah
  4. Masukkan posisi panjang ketika harga berada di bawah SMA200 dan kondisi volume dan volatilitas rendah terpenuhi
  5. Tetapkan stop loss pada 95% dan take profit pada 150% dari harga masuk
  6. Keluar dari perdagangan ketika RSI melebihi 70 atau ketika tingkat stop loss atau take profit yang telah ditetapkan sebelumnya tercapai
  7. Memaksa menutup posisi ketika tren berubah dan harga menembus SMA

Analisis Keuntungan

  1. Strategi ini menggabungkan beberapa indikator teknis untuk analisis kondisi pasar yang lebih komprehensif
  2. Filter tren dan kondisi volume/volatilitas membantu menghindari perdagangan dalam lingkungan pasar yang tidak menguntungkan
  3. Menetapkan stop loss yang jelas dan mengambil tingkat keuntungan secara efektif mengelola risiko
  4. Mekanisme keluar pengecualian memungkinkan penutupan posisi tepat waktu dalam situasi tertentu, mencegah kerugian lebih lanjut

Analisis Risiko

  1. Kinerja strategi dapat dipengaruhi oleh pilihan pengaturan parameter
  2. Dalam beberapa kasus, harga dapat dengan cepat berbalik setelah memicu kondisi masuk, menyebabkan kerugian
  3. Strategi tidak mempertimbangkan faktor-faktor dasar dan dapat dipengaruhi oleh peristiwa penting

Arahan Optimasi

  1. Pertimbangkan untuk memasukkan indikator teknis tambahan seperti MACD, Bollinger Bands, dll, untuk meningkatkan akurasi masuk dan keluar
  2. Mengoptimalkan pengaturan stop loss dan take profit level, seperti menggunakan trailing stop atau take profit dinamis
  3. Sesuaikan secara dinamis parameter strategi berdasarkan kondisi pasar yang berbeda
  4. Memperkenalkan modul manajemen risiko, termasuk ukuran posisi dan manajemen uang

Ringkasan

Strategi ini menggabungkan beberapa indikator teknis dengan filter tren, volume, dan kondisi volatilitas untuk mengeksekusi perdagangan dalam situasi tertentu. Dengan menetapkan stop loss yang jelas dan mengambil tingkat keuntungan dan menerapkan mekanisme keluar pengecualian, strategi secara efektif mengelola risiko. Namun, strategi ini memiliki keterbatasan tertentu, karena faktor-faktor seperti pemilihan parameter dan anomali pasar dapat mempengaruhi kinerjanya. Peningkatan di masa depan dapat dilakukan dengan memasukkan lebih banyak indikator, mengoptimalkan pengaturan parameter, dan menambahkan komponen manajemen risiko.


/*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"}]
*/

//@version=5
strategy("Strategia Stop Loss & Take Profit z Filtrem Trendu i Wyjątkiem", shorttitle="Smooth MA SL & TP with Exception", overlay=true)

// Parametry
tp_multiplier = input.float(1.5, title="Mnożnik Take Profit")
sl_percent = input.float(5, title="Procent Stop Loss")
wait_bars = input.int(3, title="Liczba Oczekiwanych Świec")
sma_period = input.int(200, title="Okres SMA")
rsi_period = input.int(14, title="Okres RSI")
vol_ma_period = input.int(20, title="Okres Średniej Wolumenu")
tr_ma_period = input.int(20, title="Okres Średniej Rzeczywistego Zakresu")

// Obliczenie Gładkiej Średniej Kroczącej
sma = ta.sma(close, sma_period)

// Obliczenie RSI
rsi = ta.rsi(close, rsi_period)

// Filtr Trendu
uptrend = close > sma
downtrend = close < sma

// Warunek konsolidacji: Niski wolumen i niska zmienność
niski_wolumen = volume < ta.sma(volume, vol_ma_period)
niska_zmienosc = ta.tr(true) < ta.sma(ta.tr(true), tr_ma_period)

// Warunek Wejścia (Long): Cena poniżej SMA 200 i filtr trendu w strefie czerwonej
warunek_wejscia = close < sma and niski_wolumen and niska_zmienosc and not uptrend

// Warunek Wyjścia ze strategii
warunek_wyjscia = downtrend and close > sma and ta.crossover(close, sma)

// Ustalanie Stop Loss i Take Profit
var float stop_loss = na
var float take_profit = na

var int indeks_wejscia = na

if (warunek_wejscia)
    stop_loss := close * (1 - sl_percent / 100)
    take_profit := close * (1 + tp_multiplier)
    indeks_wejscia := bar_index

// Handel
if (warunek_wejscia)
    strategy.entry("Long", strategy.long)

// Warunek Wyjścia: RSI w strefie wykupienia lub Stop Loss/Take Profit
if (strategy.opentrades != 0)
    if (rsi > 70)
        strategy.exit("Take Profit/Stop Loss", "Long", limit=take_profit)
    else if (bar_index - indeks_wejscia == wait_bars)
        strategy.exit("Take Profit/Stop Loss", "Long", stop=stop_loss, limit=take_profit)

// Wyjątek: Warunek Wyjścia z Longów na podstawie zmiany trendu
if (warunek_wyjscia)
    strategy.close("Long")

// Rysowanie RSI
rsi_plot = plot(rsi, title="RSI", color=color.blue)

// Rysowanie Gładkiej Średniej Kroczącej
sma_plot = plot(sma, color=color.gray, title="Smooth MA", linewidth=2)

// Rysowanie Filtru Trendu
fill(sma_plot, rsi_plot, color=downtrend ? color.new(color.red, 90) : na)


Berkaitan

Lebih banyak