Pelacakan Tren Dinamis UT Bot dan Strategi Komposit RSI

RSI EMA ATR TP SL Trend
Tanggal Pembuatan: 2025-08-04 10:05:40 Akhirnya memodifikasi: 2025-08-04 10:05:40
menyalin: 0 Jumlah klik: 218
2
fokus pada
319
Pengikut

Pelacakan Tren Dinamis UT Bot dan Strategi Komposit RSI Pelacakan Tren Dinamis UT Bot dan Strategi Komposit RSI

Ringkasan

UT Bot’s Dynamic Trend Tracking and RSI Compound Strategy adalah strategi perdagangan kuantitatif yang menggabungkan sistem pelacakan tren adaptif dengan indeks yang relatif kuat (RSI). Inti dari strategi ini adalah membangun dukungan dan resistance band dinamis dengan menggunakan rata-rata true amplitude (ATR), bekerja dengan RSI untuk menangkap sinyal overbought dan oversold di titik pivot pasar, sambil mengintegrasikan 200-periodik indeks moving average (EMA200) untuk konfirmasi tren. Strategi ini juga merancang mekanisme stop loss dinamis berdasarkan ATR ganda, yang dapat secara otomatis menyesuaikan parameter manajemen risiko sesuai dengan volatilitas pasar.

Prinsip Strategi

Prinsip inti dari strategi ini didasarkan pada dua sistem indikator teknis utama: sistem pelacakan tren UT Bot dan indikator RSI oscillation.

Sistem pelacakan tren UT Bot menghitung kisaran pergerakan harga melalui indikator ATR dan dengan demikian membangun tren naik turun yang dinamis:

  • UpperBand = harga saat ini + faktor * ATR
  • LowerBand = harga saat ini - factor * ATR

Sistem ini memelihara sebuah jalur untuk menentukan arah tren saat ini:

  1. Ketika harga naik melewati tracking line, tren naik (dir = 1)
  2. Ketika harga melewati garis tracking di bawahnya, tren turun ((dir = -1)
  3. Sinyal perubahan tren ditangkap oleh perubahan variabel dir

Pada saat yang sama, strategi ini memfilter sinyal dengan RSI:

  • Ketika RSI < 40 (area oversold) dan tren bergeser ke bawah, menghasilkan sinyal beli
  • Ketika RSI > 60 (overbought area) dan tren berbalik ke bawah, menghasilkan sinyal jual

Selain itu, strategi ini mengintegrasikan EMA200 sebagai garis referensi tren jangka panjang, dan menyiapkan mekanisme stop-loss berbasis persentase:

  • Stop loss ditetapkan sebagai 3% dari harga tiket masuk
  • Stop loss ditetapkan sebesar 1,5% dari harga masuk

Keunggulan Strategis

  1. Beradaptasi dengan Dinamis: Mengatur bandwidth perdagangan secara otomatis melalui indikator ATR, sehingga strategi dapat beradaptasi dengan berbagai lingkungan pasar yang berfluktuasi, dan dapat beroperasi secara efektif di pasar yang berfluktuasi tinggi dan rendah.

  2. Tren dan GuncanganStrategi ini menggabungkan dua pemikiran: trend tracking dan shock trading, mengikuti tren ketika tren jelas, mencari peluang untuk berbalik ketika pasar overbought dan oversold, meningkatkan strategi holistik.

  3. Tempat Masuk yang Tepat: Dengan RSI ((6040) overbought overbought level widening setting, meningkatkan frekuensi sinyal perdagangan, sekaligus menjamin kualitas sinyal, dan mengoptimalkan waktu masuk.

  4. Peningkatan manajemen risikoTerintegrasi dengan mekanisme stop loss dan stop loss dinamis, stop loss rasio ((3%) lebih besar dari stop loss rasio ((1.5%), sesuai dengan prinsip perdagangan nilai ekspektasi positif, menguntungkan keuntungan stabil jangka panjang.

  5. Sinyal peringatan instanStrategi ini dilengkapi dengan fitur peringatan untuk sinyal jual beli, yang membantu trader untuk menangkap peluang pasar.

  6. Struktur yang jelas dan modularStruktur kode yang jelas, setiap modul fungsi yang jelas, memudahkan pemeliharaan dan pengoptimalan.

Risiko Strategis

  1. Sinyal palsu di pasar yang bergoyangDalam pasar yang tidak jelas tren, strategi dapat menghasilkan sinyal silang yang sering, yang menyebabkan kerugian berturut-turut. Solusinya adalah dengan menambahkan kondisi penyaringan intensitas tren, seperti indikator ADX atau persyaratan durasi tren.

  2. Tidak terlalu besar.: Stop loss yang ditetapkan saat ini 1.5% mungkin terlalu kecil di beberapa pasar yang berfluktuasi tinggi dan mudah dipicu oleh kebisingan pasar. Disarankan untuk menyesuaikan stop loss rasio sesuai dengan karakteristik varietas perdagangan dan dinamika siklus waktu.

  3. Parameter SensitivitasKinerja strategi sensitif terhadap parameter seperti panjang RSI, tingkat overbought dan oversold, dan faktor ATR. Kombinasi parameter yang berbeda menunjukkan performa yang sangat berbeda dalam lingkungan pasar yang berbeda.

  4. Kurangnya identifikasi status pasarStrategi tidak membedakan dengan jelas antara kondisi pasar yang berbeda (trend, shock, consolidation) dan mungkin tidak berkinerja baik dalam beberapa kondisi pasar tertentu.

  5. Referensi EMA200 tidak memadaiMeskipun garis EMA200 telah dipetakan, strategi ini tidak digunakan sebagai kondisi perdagangan dan tidak memanfaatkan informasi tren jangka panjang.

Arah optimasi strategi

  1. Filter intensitas tren meningkat: Memperkenalkan indikator ADX atau indikator kekuatan tren lainnya untuk memastikan bahwa hanya diperdagangkan ketika tren jelas dan menghindari sinyal palsu di pasar yang bergoyang.
   趋势强度 = ta.adx(14) > 25
   买入条件 = 趋势强度 and trendUp and rsi < rsiUnder
  1. Peningkatan mekanisme stop loss dinamis: Mengubah stop loss persentase tetap menjadi stop loss dinamis berbasis ATR untuk menyesuaikan dengan berbagai volatilitas pasar:
   stopLoss = atr * slFactor
   strategy.exit("TP/SL", from_entry="Buy", profit=tpPercent, loss=stopLoss/close*100)
  1. Menambahkan konfirmasi pengiriman: Perubahan tren yang penting biasanya disertai dengan perubahan yang signifikan dalam volume transaksi, menambahkan konfirmasi volume transaksi dapat meningkatkan kualitas sinyal:
   volumeConfirmation = volume > ta.sma(volume, 20) * 1.5
   buy = trendUp and rsi < rsiUnder and volumeConfirmation
  1. Status pasar tergolong transaksi: Mengelompokkan kondisi pasar berdasarkan volatilitas dan indikator tren, menggunakan strategi dan parameter perdagangan yang berbeda dalam kondisi pasar yang berbeda:
   isVolatile = atr/close*100 > 历史平均水平
   isTrending = ta.adx(14) > 25
  1. Filter waktu masukMenghindari transaksi pada saat data ekonomi penting diumumkan atau ketika pasar kurang likuid, mengurangi risiko yang tidak terduga.
   validTradingHour = (hour >= 9 and hour <= 16)
   buy = validTradingHour and trendUp and rsi < rsiUnder

Meringkaskan

UT Bot’s Dynamic Trend Tracking and RSI Composite Strategy adalah sistem perdagangan komprehensif yang menggabungkan channel volatilitas dinamis dan indikator getaran. Ini menangkap perubahan tren melalui saluran adaptasi UT Bot dan menggunakan sinyal masuk yang dikonfirmasi oleh tingkat overbought dan oversold RSI, sambil mengintegrasikan mekanisme manajemen risiko berbasis persentase.

Namun, strategi ini dapat menghasilkan sinyal palsu di pasar yang bergoyang dan sensitif terhadap pengaturan parameter. Arah optimasi di masa depan harus berfokus pada peningkatan penyaringan intensitas tren, peningkatan manajemen risiko dinamis, pengenalan konfirmasi volume dan perdagangan klasifikasi status pasar. Melalui optimasi ini, strategi ini diharapkan untuk meningkatkan stabilitas dan fleksibilitas lebih lanjut, menjadi sistem perdagangan kuantitatif yang lebih komprehensif dan stabil, dengan mempertahankan keunggulan aslinya.

Secara keseluruhan, ini adalah strategi kuantitatif yang dirancang dengan logika yang jelas dan masuk akal, yang cocok untuk digunakan oleh pedagang dengan basis analisis teknis tertentu. Dengan penerapan arah penyesuaian dan pengoptimalan yang tepat dari parameter, strategi ini diharapkan untuk menghasilkan keuntungan yang stabil dalam perdagangan aktual.

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

//@version=6
strategy("✅ BACKTEST: UT Bot + RSI", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

rsiLen      = input.int(14, "RSI Length")
rsiOver     = input.int(60, "RSI Overbought Level")
rsiUnder    = input.int(40, "RSI Oversold Level")
atrLen      = input.int(10, "ATR Length")
factor      = input.float(1.0, "UT Bot Factor", step=0.1)
tpPercent   = input.float(3.0, "Take Profit %")
slPercent   = input.float(1.5, "Stop Loss %")

rsi = ta.rsi(close, rsiLen)
atr = ta.atr(atrLen)
ema200 = ta.ema(close, 200)
upperBand = close + factor * atr
lowerBand = close - factor * atr

var float trail = na
var int dir = 0

if na(trail)
    trail := lowerBand
    dir := 0

if close > trail
    trail := math.max(trail, lowerBand)
    dir := 1
else if close < trail
    trail := math.min(trail, upperBand)
    dir := -1
else
    trail := trail[1]
    dir := dir[1]

trendUp = dir == 1 and dir[1] == -1
trendDown = dir == -1 and dir[1] == 1

buy  = trendUp and rsi < rsiUnder
sell = trendDown and rsi > rsiOver

if (buy)
    strategy.entry("Buy", strategy.long)
    strategy.close("Sell")

if (sell)
    strategy.entry("Sell", strategy.short)
    strategy.close("Buy")

strategy.exit("TP/SL", from_entry="Buy",  profit=tpPercent, loss=slPercent)
strategy.exit("TP/SL", from_entry="Sell", profit=tpPercent, loss=slPercent)

// plotting
plot (ema200, "EMA 200, color=color.orange")

// === ALERT SIGNALS ===
alertcondition(buy, title="Buy Signal", message="BUY")
alertcondition(sell, title="Sell Signal", message="SELL")