Strategi penangkapan resonansi rangkap tiga

WT CRSI LSDD
Tanggal Pembuatan: 2025-10-09 14:09:21 Akhirnya memodifikasi: 2025-10-09 14:09:21
menyalin: 0 Jumlah klik: 212
2
fokus pada
319
Pengikut

Strategi penangkapan resonansi rangkap tiga Strategi penangkapan resonansi rangkap tiga

Ketiga indikator harus menyiarkan sinyal pada saat yang sama dalam 2 garis K, jika tidak, tidak ada pembicaraan

Ini bukan strategi multi-indikator biasa. Kombinasi WaveTrend + Connors RSI + bias regresi linier, yang penting adalah mekanisme sinkronisasi jendela: semua sinyal beli harus muncul dalam kisaran 2 garis K, sinyal individu langsung diabaikan. Desain ini langsung menyaring 90% dari sinyal palsu.

Strategi konvensional yang menilai setiap indikator secara independen mudah menimbulkan kebisingan, atau meminta untuk memicu banyak peluang yang terlewatkan secara bersamaan. Strategi ini menemukan titik keseimbangan: jendela toleransi kesalahan pada garis K menjamin relevansi sinyal dan menghindari persyaratan sinkronisasi yang terlalu ketat.

WaveTrend set-48 oversold, lebih sensitif dari RSI standar

WT memiliki panjang 10 siklus, oversold - 48, dan oversold - 48. Kombinasi parameter ini lebih agresif daripada RSI tradisional 3070, dan dapat menangkap sinyal reversal harga lebih awal. Keunggulan WT adalah bahwa ia menggabungkan posisi harga dan volatilitas, lebih dapat diandalkan daripada RSI saja dalam situasi yang bergolak.

Kuncinya adalah cara WT menghitung:*EMA yang menyimpang), rumus ini secara alami memiliki fungsi penyesuaian tingkat fluktuasi. Ketika fluktuasi pasar meningkat, denominasi menjadi lebih besar, nilai WT relatif stabil, menghindari masalah distorsi RSI biasa selama fluktuasi tinggi.

Connors RSI Triple Validasi, 2080 Blok Setel dengan Intensi

CRSI bukan RSI biasa, tetapi menggabungkan harga RSI, RSI beruntun, dan persentase perubahan harga. Nilai oversold 20 lebih radikal daripada 30 tradisional, tetapi mekanisme triple verifikasi CRSI mengurangi probabilitas sinyal palsu.

6 siklus RSI panjangnya diatur lebih pendek untuk meningkatkan sensitivitas sinyal. Pada tingkat 15 menit, 6 siklus setara dengan 1,5 jam memori harga, baik untuk menangkap oversold jangka pendek dan tidak terlalu terlambat. Parameter ini sangat efektif pada varietas perdagangan 24 jam seperti BTC.

Linear Regression Deviation LSDD, 20 Siklus Tangkapan Trend Reversal

LSDD = Harga Saat Ini - Regresi linier, menunjukkan bahwa harga mulai menyimpang dari garis tren turun saat LSDD melewati sumbu 0. Pengaturan 20 siklus yang mencakup 5 jam pada grafik 15 menit, dapat secara efektif mengidentifikasi perubahan tren jangka pendek.

Hal yang menarik dari indikator ini adalah bahwa ia bukan hanya mengikuti tren, tetapi merupakan pengukur bias tren. Ketika harga mulai menyimpang dari garis regresi ke atas setelah terus turun, sering kali menandakan awal bouncing. Kombinasi sinyal oversold WT dan CRSI, membentuk konfirmasi ganda “oversold + trend reversal”.

Hanya melakukan lebih banyak, 30% posisi, 1 kali lipat piramida

Strategi ini dirancang sebagai multi-head murni, 30% dana setiap kali membuka posisi, memungkinkan 1 kali menambah posisi. Pengaturan ini cocok untuk tren naik jangka panjang cryptocurrency, sekaligus mengelola risiko melalui kontrol posisi. Posisi tunggal 30% dapat memberikan keuntungan yang cukup dan menghindari risiko berlebihan dari satu transaksi.

Kondisi keluar sama ketatnya: WT overbought ((>48) AND CRSI overbought ((>80) AND LSDD overnegative, tiga kondisi harus dipenuhi secara bersamaan. Desain ini memastikan integritas perdagangan tren dan menghindari keluar prematur.

15 Menit BTC Optimalkan Retrospektif, Namun Perlu Perhatikan Kondisi Pasar

Strategi ini berkinerja baik di tingkat BTC 15 menit, tetapi tidak berarti bahwa strategi ini bekerja di semua situasi pasar. Dalam pasar yang bergolak, bahkan triple confirmation dapat menghasilkan lebih banyak sinyal palsu. Strategi ini paling cocok untuk situasi pasar dengan karakteristik tren yang jelas.

Petunjuk risiko: Retrospeksi sejarah tidak mewakili keuntungan masa depan, pasar cryptocurrency sangat berfluktuasi, ada risiko kehilangan modal. Disarankan untuk melakukan verifikasi perdagangan kertas yang memadai sebelum perdagangan nyata, dan mengendalikan posisi keseluruhan dengan ketat.

Kode Sumber Strategi
/*backtest
start: 2024-10-09 00:00:00
end: 2025-10-07 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BTC_USDT","balance":500000}]
*/

//@version=5
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © alescha13
// WT + CRSI + Linear Regression Long-only Strategy
// Description: 
// This long-only trading strategy combines WaveTrend (WT), 
// Connors RSI (CRSI), and a Linear Regression Slope (LSDD) trend filter.
// Signals are generated only when all three indicators align within a defined window.
// Exits occur when all indicators turn bearish.
// Backtested on BTC with 15-minute timeframe.

strategy("WT + CRSI + Linear Regression Long-only © alescha13", 
     overlay=true, 
     initial_capital=10000, 
     default_qty_type=strategy.percent_of_equity, 
     default_qty_value=30, 
     pyramiding=1, 
     calc_on_every_tick=false, 
     process_orders_on_close=true)

// =====================
// Inputs
// =====================
wtLength        = input.int(10, "WT Length")
wtOversold      = input.int(-48, "WT Oversold Level")
wtOverbought    = input.int(48, "WT Overbought Level")

crsiRSILength   = input.int(6,  "CRSI RSI Length")
crsiOversold    = input.int(20, "CRSI Oversold Level")
crsiOverbought  = input.int(80, "CRSI Overbought Level")

lsddLen         = input.int(20, "Linear Regression Length")

windowSize      = input.int(2, "Window size (bars) for all signals", minval=1)

// =====================
// Helper: CRSI Function
// =====================
updown(s) =>
    isEqual = s == s[1]
    isGrowing = s > s[1]
    ud = 0.0
    ud := isEqual ? 0 : isGrowing ? (nz(ud[1]) <= 0 ? 1 : nz(ud[1]) + 1) : (nz(ud[1]) >= 0 ? -1 : nz(ud[1]) - 1)
    ud

crsiFunc(src, lenrsi) =>
    lenupdown = 2
    lenroc = 100
    rsi = ta.rsi(src, lenrsi)
    updownrsi = ta.rsi(updown(src), lenupdown)
    percentrank = ta.percentrank(ta.roc(src, 1), lenroc)
    math.avg(rsi, updownrsi, percentrank)

// =====================
// WaveTrend (WT) Calculation
// =====================
ap  = (high + low + close) / 3.0
esa = ta.ema(ap, wtLength)
d   = ta.ema(math.abs(ap - esa), wtLength)
ci  = (ap - esa) / (0.015 * d)
wt  = ta.ema(ci, 3)

wtBull = ta.crossover(wt, wtOversold)
wtBear = wt > wtOverbought

// =====================
// CRSI Calculation
// =====================
crsiValue = crsiFunc(close, crsiRSILength)
crsiBull  = crsiValue < crsiOversold
crsiBear  = crsiValue > crsiOverbought

// =====================
// Linear Regression LSDD Calculation
// =====================
slope = ta.linreg(close, lsddLen, 0)
lsdd = close - slope
lsddBull = ta.crossover(lsdd, 0)
lsddBear = lsdd < 0

// =====================
// Window Logic (Synchronize Signals)
// =====================
var int wtBarIndex   = na
var int crsiBarIndex = na
var int lsddBarIndex = na

if wtBull
    wtBarIndex := bar_index
if crsiBull
    crsiBarIndex := bar_index
if lsddBull
    lsddBarIndex := bar_index

buySignal = false
if not na(wtBarIndex) and not na(crsiBarIndex) and not na(lsddBarIndex)
    maxBar = math.max(wtBarIndex, crsiBarIndex, lsddBarIndex)
    minBar = math.min(wtBarIndex, crsiBarIndex, lsddBarIndex)
    if (maxBar - minBar) <= windowSize
        buySignal := true
        wtBarIndex := na
        crsiBarIndex := na
        lsddBarIndex := na

finalLong = buySignal

// =====================
// Exit Logic
// =====================
sellSignal = wtBear and crsiBear and lsddBear

// =====================
// Entries / Exits
// =====================
if finalLong
    strategy.entry("Long", strategy.long, comment="Long Entry")

if sellSignal
    strategy.close("Long", comment="Long Exit")

// =====================
// Background Color for Signals
// =====================
bgcolor(finalLong ? color.new(color.green, 85) : na)
bgcolor(sellSignal ? color.new(color.red, 85) : na)

// =====================
// Plots
// =====================
plot(wt, color=color.new(color.blue, 0), title="WT")
plot(crsiValue, color=color.new(color.purple, 0), title="CRSI")
plot(lsdd, color=color.new(color.orange, 0), title="LSDD")

plotshape(finalLong, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

// =====================
// Alerts
// =====================
alertcondition(finalLong, title="Long Alert", message="WT + CRSI + LSDD Long Signal")
alertcondition(sellSignal, title="Exit Alert", message="WT + CRSI + LSDD Exit Signal")