Sumber dimuat naik... memuat...

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

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

img

Ringkasan

Strategi ini menggunakan penunjuk seperti Purata Bergerak Lurus (SMA), Indeks Kekuatan Relatif (RSI), Julat Benar (TR), dan Purata Bergerak Jilid (MA Jilid) dalam kombinasi dengan penapis trend, jumlah, dan keadaan turun naik untuk melaksanakan perdagangan apabila kriteria tertentu dipenuhi. Idea utama di sebalik strategi ini adalah untuk memasuki kedudukan panjang apabila harga di bawah SMA200, trend menurun, dan kedua-dua jumlah dan turun naik adalah rendah. Tahap stop loss dan mengambil keuntungan ditetapkan semasa masuk. Di samping itu, strategi ini menggabungkan mekanisme keluar pengecualian, menutup kedudukan apabila RSI melebihi 70 atau apabila tahap stop loss atau mengambil keuntungan yang telah ditetapkan dicapai.

Prinsip Strategi

  1. Mengira penunjuk seperti SMA, RSI, Volume MA, dan TR MA
  2. Tentukan sama ada trend semasa adalah menaik atau menurun
  3. Periksa sama ada jumlah semasa dan turun naik adalah rendah
  4. Masukkan kedudukan panjang apabila harga di bawah SMA200 dan syarat jumlah dan turun naik yang rendah dipenuhi
  5. Tetapkan stop loss pada 95% dan mengambil keuntungan pada 150% daripada harga masuk
  6. Keluar dari perdagangan apabila RSI melebihi 70 atau apabila paras stop loss atau mengambil keuntungan yang ditetapkan telah dicapai
  7. Memaksa menutup kedudukan apabila trend berubah dan harga memecahkan SMA

Analisis Kelebihan

  1. Strategi ini menggabungkan pelbagai penunjuk teknikal untuk analisis keadaan pasaran yang lebih komprehensif
  2. Penapis trend dan keadaan jumlah/volatiliti membantu mengelakkan perdagangan dalam persekitaran pasaran yang tidak baik
  3. Menetapkan tahap stop loss dan mengambil keuntungan yang jelas secara berkesan menguruskan risiko
  4. Mekanisme keluar pengecualian membolehkan penutupan kedudukan tepat pada masanya dalam situasi tertentu, mencegah kerugian lanjut

Analisis Risiko

  1. Prestasi strategi boleh dipengaruhi oleh pilihan tetapan parameter
  2. Dalam sesetengah kes, harga boleh berbalik dengan cepat selepas mencetuskan keadaan kemasukan, yang membawa kepada kerugian
  3. Strategi ini tidak mengambil kira faktor asas dan mungkin dipengaruhi oleh peristiwa penting

Arahan pengoptimuman

  1. Pertimbangkan untuk memasukkan penunjuk teknikal tambahan seperti MACD, Bollinger Bands, dan lain-lain untuk meningkatkan ketepatan kemasukan dan keluar
  2. Mengoptimumkan paras stop loss dan mengambil keuntungan, seperti menggunakan trailing stop atau mengambil keuntungan dinamik
  3. Sesuaikan parameter strategi secara dinamik berdasarkan keadaan pasaran yang berbeza
  4. Memperkenalkan modul pengurusan risiko, termasuk saiz kedudukan dan pengurusan wang

Ringkasan

Strategi ini menggabungkan beberapa penunjuk teknikal dengan penapis trend, jumlah, dan keadaan turun naik untuk melaksanakan perdagangan dalam situasi tertentu. Dengan menetapkan stop loss yang jelas dan mengambil tahap keuntungan dan melaksanakan mekanisme keluar pengecualian, strategi ini menguruskan risiko dengan berkesan. Walau bagaimanapun, strategi ini mempunyai batasan tertentu, kerana faktor-faktor seperti pemilihan parameter dan anomali pasaran boleh mempengaruhi prestasi. Penambahbaikan masa depan boleh dibuat dengan menggabungkan lebih banyak penunjuk, mengoptimumkan tetapan parameter, dan menambah komponen pengurusan 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 lanjut