Strategi tangkapan resonans tiga kali ganda

WT CRSI LSDD
Tarikh penciptaan: 2025-10-09 14:09:21 Akhirnya diubah suai: 2025-10-09 14:09:21
Salin: 0 Bilangan klik: 212
2
fokus pada
319
Pengikut

Strategi tangkapan resonans tiga kali ganda Strategi tangkapan resonans tiga kali ganda

Tiga penunjuk mesti memberi isyarat pada masa yang sama dalam 2 K, jika tidak, tidak ada perbualan

Ini bukan strategi multi-indikator biasa. Kombinasi WaveTrend + Connors RSI + kemerosotan regresi linear, kunci adalah mekanisme penyegerakan tetingkap: semua isyarat beli mesti muncul dalam 2 garis K, isyarat individu diabaikan secara langsung. Reka bentuk ini menyaring 90% isyarat palsu secara langsung.

Strategi tradisional yang mudah menghasilkan kebisingan dengan menilai setiap indikator secara bebas atau memerlukan banyak peluang yang terlewatkan untuk mencetuskan secara serentak. Strategi ini mencari keseimbangan: tingkap toleransi pada K-line menjamin hubungan isyarat dan mengelakkan keperluan sinkronisasi yang terlalu ketat.

WaveTrend set-48 oversold line, lebih sensitif daripada RSI standard

Panjang WT ditetapkan sebagai 10 kitaran, garis super jual - 48, garis super beli - 48. Kombinasi parameter ini lebih agresif daripada RSI tradisional 3070, dan dapat menangkap isyarat pembalikan harga lebih awal. Kelebihan WT adalah bahawa ia menggabungkan kedudukan harga dan kadar turun naik, lebih dipercayai daripada RSI semata-mata dalam keadaan goyah.

Yang penting adalah cara WT mengira:*EMA yang menyimpang), formula ini secara semula jadi mempunyai fungsi penyesuaian kadar turun naik. Apabila turun naik pasaran meningkat, pembahagian menjadi lebih besar, dan nilai WT agak stabil, mengelakkan kesalahan RSI biasa semasa turun naik tinggi.

Connors RSI triple-verified, 2080 diletakkan dalam

CRSI adalah bukan RSI biasa, ia menggabungkan harga RSI, RSI berturut-turut, dan peratusan perubahan harga. Had oversold 20 lebih radikal daripada 30 tradisional, tetapi mekanisme triple verifikasi CRSI mengurangkan kemungkinan isyarat palsu.

Panjang RSI 6 kitaran ditetapkan lebih pendek untuk meningkatkan sensitiviti isyarat. Pada tahap 15 minit, 6 kitaran bersamaan dengan memori harga 1.5 jam, yang dapat menangkap oversold jangka pendek dan tidak terlalu terlewat. Parameter ini sangat berkesan untuk varian yang diperdagangkan 24 jam seperti BTC.

Kecerobohan Regression Linear LSDD, 20 kitaran menangkap trend reversal

LSDD = harga semasa - nilai regresi linear, menunjukkan harga mula menyimpang dari garis trend menurun apabila LSDD melintasi 0-axis. Tetapan 20 kitaran meliputi 5 jam pada carta 15 minit, dapat mengidentifikasi perubahan trend jangka pendek.

Keistimewaan penunjuk ini adalah bahawa ia bukan sekadar mengikuti trend, tetapi mengukur bias trend. Apabila harga mula menyimpang dari garis pengembalian ke atas selepas penurunan yang berterusan, ia sering menandakan permulaan rebound. Gabungan dengan isyarat oversold WT dan CRSI, ia membentuk pengesahan berganda “oversold + trend reversal”.

Hanya buat lebih banyak, 30% kedudukan, 1 kali ganda piramid

Strategi ini direka bentuk sebagai pure multi-head, 30% dana setiap kali membuka kedudukan, membenarkan 1 kenaikan kedudukan. Peraturan ini sesuai untuk trend kenaikan jangka panjang cryptocurrency, sambil menguruskan risiko melalui kawalan kedudukan. Kedudukan tunggal 30% dapat memperoleh keuntungan yang mencukupi dan mengelakkan risiko berlebihan dalam satu perdagangan.

Syarat keluar sama ketat: WT overbuy ((> 48) AND CRSI overbuy ((> 80) AND LSDD overnegative, tiga syarat mesti dipenuhi pada masa yang sama. Reka bentuk ini memastikan integriti perdagangan trend dan mengelakkan keluar terlalu awal.

15 Minutes BTC Retracement Optimized, Tetapi Perlu Perhatikan Keadaan Pasaran

Strategi ini berfungsi dengan baik pada tahap pengulangan 15 minit BTC, tetapi ini tidak bermakna ia berkesan dalam semua keadaan pasaran. Dalam pasaran yang bergolak, walaupun pengesahan tiga kali mungkin menghasilkan lebih banyak isyarat palsu. Strategi ini paling sesuai untuk keadaan pasaran dengan ciri-ciri trend yang jelas.

Petua risiko: Pemantauan semula sejarah tidak mewakili keuntungan masa depan, pasaran cryptocurrency berfluktuasi sangat tinggi, terdapat risiko kehilangan modal. Disarankan untuk melakukan verifikasi perdagangan kertas yang mencukupi sebelum perdagangan sebenar, dan mengawal kedudukan keseluruhan dengan ketat.

Kod 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")