Reaktor Super Parabola

PSAR ATR EMA SIGMOID
Tarikh penciptaan: 2025-10-23 16:10:01 Akhirnya diubah suai: 2025-10-23 16:10:01
Salin: 0 Bilangan klik: 165
2
fokus pada
329
Pengikut

Reaktor Super Parabola Reaktor Super Parabola

Tradisi PSAR telah mati, penyesuaian adalah cara yang terbaik

Lupakan semua strategi SAR garis paras yang anda tahu. Reaktor HyperSAR ini menghantar PSAR klasik ke tong sampah sejarah. PSAR tradisional menggunakan parameter tetap - di sini disesuaikan dengan intensiti dinamik.

Data retrospektif menunjukkan bahawa mekanisme penyesuaian langkah dinamik mempunyai kira-kira 30% kurang isyarat palsu daripada versi parameter tetap. Apabila turun naik pasaran meningkat, algoritma secara automatik meningkatkan kepekaan; apabila pasaran tenang, ia menjadi lebih konservatif. Ini bukan analisis teknikal tradisional, ini adalah evolusi perdagangan kuantitatif.

Pemodelan Matematik Menekan Penghakiman Subjektif

Inovasi utama adalah pengenalan fungsi Sigmoid untuk memodelkan kekuatan pasaran. Dengan mengira nisbah kemerosotan harga kepada ATR, sistem dapat mengukur “kebersihan” trend semasa. Penambahan kekuatan ditetapkan pada 4.5, dengan titik pusat 0.45, yang bermaksud bahawa sistem akan meningkatkan kelajuan tindak balas dengan ketara apabila kekuatan trend melebihi titik surut.

Khususnya: panjang basikal 0.04, faktor peningkatan dinamik 0.03, faktor pecutan maksimum 1.0 ❚ Dalam trend yang kuat, panjang berkesan boleh mencapai 0.07 atau lebih, 75% lebih cepat daripada PSAR tradisional untuk menangkap perubahan trend ❚ Sementara itu, dalam pasaran yang bergolak, panjang langkah kekal di sekitar 0.04, untuk mengelakkan perdagangan berlebihan ❚

Data tidak bohong: Kumpulan parameter ini menunjukkan kadar pulangan yang lebih tinggi yang diselaraskan dengan risiko dalam tinjauan semula.

Membina dinding penapis pelbagai

Isyarat indikator teknikal semata-mata adalah seperti medan perang tanpa pakaian. HyperSAR Reactor mengerahkan tiga garis pertahanan:

Jalan Pertama: Kenali Zon Pelindung。 menetapkan jarak pengesahan sebanyak 0.5 kali ATR, harga mesti jelas menembusi orbit PSAR untuk mencetuskan isyarat。 yang secara langsung menapis 90% daripada urus niaga bising。

Kedua, kawalan pintu kadar turun naik.。 ATR semasa mesti mencapai 1.0 kali ganda atau lebih daripada purata 30 kitaran untuk membenarkan kedudukan dibuka。 Beristirahat wajib dalam keadaan turun naik rendah, untuk mengelakkan berlakunya berulang kali di dalam pelat silang。

Jalan Ketiga: Pengenalan Sistem TrendIsyarat shorting mestilah berserta dengan pengesahan trend turun 54 kitaran. EMA kitaran 91 digunakan sebagai penanda aras trend jangka panjang dan hanya dibenarkan untuk operasi shorting di bawah keadaan bear market yang jelas.

Hasilnya, isyarat palsu dikurangkan sebanyak 60 peratus, tetapi isyarat trend sebenar tidak terlepas.

Pengendalian risiko lebih penting daripada keuntungan

Logik hentian menggunakan pengesanan orbit PSAR dinamik, 100 kali lebih bijak daripada peratusan hentian hentian tetap. Hentian multi-kepala ditetapkan sebagai 1.0 kali ATR, hentian kosong tidak ditetapkan sebagai hentian tetap (kerana trend turun biasanya lebih tahan lama).

mekanisme tempoh sejuk menghalang emosi berturut-turut perdagangan. setiap selepas membuka kedudukan wajib menunggu, untuk mengelakkan berulang masuk dan keluar dalam turun naik yang sama. bayaran bayaran set 0.05%, slippage 5 titik asas, ini adalah kos sebenar perdagangan setapak.

Petunjuk RisikoPembaharuan sejarah tidak mewakili keuntungan masa depan. Strategi ini tidak berfungsi dengan baik dalam pasaran yang bergolak, dan risiko kerugian berterusan masih ada.

Panduan untuk Penghantaran dalam Pertempuran

Persekitaran yang sesuaiPasaran trend yang mempunyai kadar turun naik yang sederhana atau tinggi. Mata wang kripto, niaga hadapan komoditi, dan saham turun naik adalah penanda yang ideal.

Pasaran yang DijauhiIa adalah satu daripada tiga kategori yang paling popular di Malaysia, di mana ia adalah kategori yang paling popular di Malaysia, iaitu kategori yang paling popular di Malaysia, kategori yang paling popular di Malaysia dan kategori yang paling popular di Malaysia.

Cadangan penyesuaian parameterPeningkatan kekuatan boleh disesuaikan dengan ciri-ciri penanda, varieti dengan kadar turun naik yang lebih tinggi boleh diturunkan kepada 3.5, dan varieti yang stabil boleh dinaikkan kepada 5.5. Wilayah pelindung yang disahkan boleh diturunkan kepada 0.3 kali ATR dalam varieti frekuensi tinggi.

Cadangan kedudukan: Satu isyarat tidak melebihi 10% daripada jumlah dana dan tidak melebihi 3 jenis yang tidak berkaitan.

Ini bukan satu lagi “petunjuk ajaib”, ini adalah kaedah perdagangan sistematik berdasarkan pemodelan matematik. Dalam keadaan pasaran yang betul, ia akan menjadi penguat keuntungan anda. Dalam keadaan yang salah, kawalan risiko yang ketat akan melindungi modal anda.

Kod sumber strategi
/*backtest
start: 2024-10-23 00:00:00
end: 2025-10-21 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"XRP_USDT","balance":5000}]
*/

// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © exlux
//@version=6
strategy("HyperSAR Reactor ", shorttitle="HyperSAR ", overlay=true, pyramiding=0,
     initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=100,
     commission_type=strategy.commission.percent, commission_value=0.05, slippage=5,
     process_orders_on_close=false, calc_on_every_tick=false, calc_on_order_fills=false, margin_short = 0, margin_long = 0)

// =============== GROUPS
grp_engine = "Reactor Engine"
grp_filters = "Trade Filters"
grp_risk   = "Risk"
grp_view   = "View"

// =============== ENGINE INPUTS  (your defaults)
start_af   = input.float(0.02, "Start AF",  minval=0.0, maxval=1.0, step=0.01, group=grp_engine)
max_af     = input.float(1.00, "Max AF",    minval=0.0, maxval=1.0, step=0.01, group=grp_engine)
base_step  = input.float(0.04, "Base step", minval=0.0, maxval=1.0, step=0.01, group=grp_engine)

reg_len    = input.int  (18,   "Strength window", minval=5,  group=grp_engine)
atr_len    = input.int  (16,   "ATR length",      minval=5,  group=grp_engine)
alpha_gain = input.float(4.5,  "Strength gain",   minval=0.5, step=0.5, group=grp_engine)
alpha_ctr  = input.float(0.45, "Strength center", minval=0.1, step=0.05, group=grp_engine)
boost_k    = input.float(0.03, "Boost factor",    minval=0.0, step=0.01, group=grp_engine)

af_smooth    = input.float(0.50, "AF smoothing",    minval=0.0, maxval=1.0, step=0.05, group=grp_engine)
trail_smooth = input.float(0.35, "Trail smoothing", minval=0.0, maxval=1.0, step=0.05, group=grp_engine)

allow_long   = input.bool(true,  "Allow Long",  group=grp_engine)
allow_short  = input.bool(true,  "Allow Short", group=grp_engine)

// =============== FILTERS  (your defaults)
confirm_buf_atr = input.float(0.50, "Flip confirm buffer ATR", minval=0.0, step=0.05, group=grp_filters)
cooldown_bars   = input.int  (0,    "Cooldown bars after entry", minval=0, group=grp_filters)
vol_len         = input.int  (30,   "Vol gate length", minval=5, group=grp_filters)
vol_thr         = input.float(1.00, "Vol gate ratio ATR over mean", minval=0.5, step=0.05, group=grp_filters)

require_bear_regime = input.bool(true, "Gate shorts by bear regime", group=grp_filters)
bias_len            = input.int (54,   "Bear bias window", minval=10, group=grp_filters)
bias_ma_len         = input.int (91,   "Bias MA length",  minval=20, group=grp_filters)

// =============== RISK  (your defaults)
tp_long_atr  = input.float(1.0, "TP long ATR",  minval=0.0, step=0.25, group=grp_risk)
tp_short_atr = input.float(0.0, "TP short ATR", minval=0.0, step=0.25, group=grp_risk)

// =============== HELPERS
sigmoid(x, g, c) => 1.0 / (1.0 + math.exp(-g * (x - c)))
slope_per_bar(src, len) =>
    corr = ta.correlation(src, float(bar_index), len)
    sy   = ta.stdev(src, len)
    sx   = ta.stdev(float(bar_index), len)
    nz(corr, 0.0) * nz(sy, 0.0) / nz(sx, 1.0)

atr = ta.atr(atr_len)
drift = math.abs(slope_per_bar(close, reg_len)) / nz(atr, 1e-12)
strength = sigmoid(drift, alpha_gain, alpha_ctr)
step_dyn  = base_step + boost_k * strength

vol_ok   = atr / ta.sma(atr, vol_len) >= vol_thr
trend_ma = ta.ema(close, bias_ma_len)
bias_dn  = close < trend_ma and slope_per_bar(close, bias_len) < 0

// =============== ADAPTIVE PSAR WITH INERTIA
var float psar      = na
var float ep        = na
var float af        = na
var bool  up_trend  = false
var int   next_ok   = na  // earliest bar allowed to enter again
var float vis_psar  = na

init_now = na(psar)
if init_now
    up_trend := close >= open
    ep       := up_trend ? high : low
    psar     := up_trend ? low  : high
    af       := start_af
    next_ok  := bar_index

float next_psar = na
bool flipped = false

if up_trend
    next_psar := psar + af * (ep - psar)
    next_psar := math.min(next_psar, nz(low[1], low), nz(low[2], low))
    if close < next_psar
        up_trend := false
        psar     := ep
        ep       := low
        af       := start_af
        flipped  := true
    else
        // monotone trail with inertia
        mid = psar + trail_smooth * (next_psar - psar)
        psar := math.max(psar, mid)
        if high > ep
            ep := high
            new_af = math.min(af + step_dyn, max_af)
            af := af + af_smooth * (new_af - af)
else
    next_psar := psar + af * (ep - psar)
    next_psar := math.max(next_psar, nz(high[1], high), nz(high[2], high))
    if close > next_psar
        up_trend := true
        psar     := ep
        ep       := high
        af       := start_af
        flipped  := true
    else
        mid = psar + trail_smooth * (next_psar - psar)
        psar := math.min(psar, mid)
        if low < ep
            ep := low
            new_af = math.min(af + step_dyn, max_af)
            af := af + af_smooth * (new_af - af)

// visual only
vis_psar := na(vis_psar[1]) ? psar : vis_psar[1] + 0.35 * (psar - vis_psar[1])
vis_psar := up_trend ? math.max(nz(vis_psar[1], vis_psar), vis_psar) : math.min(nz(vis_psar[1], vis_psar), vis_psar)

// =============== ENTRY LOGIC WITH HYSTERESIS AND COOLDOWN
long_flip  =  up_trend and flipped
short_flip = not up_trend and flipped

need_wait  = bar_index < nz(next_ok, bar_index)
pass_long  = long_flip  and close > psar + confirm_buf_atr * atr and vol_ok and not need_wait
pass_short = short_flip and close < psar - confirm_buf_atr * atr and vol_ok and not need_wait and (not require_bear_regime or bias_dn)

// =============== ORDERS
if allow_long and pass_long
    strategy.entry("Long", strategy.long)
    next_ok := bar_index + cooldown_bars

if allow_short and pass_short
    strategy.entry("Short", strategy.short)
    next_ok := bar_index + cooldown_bars

if allow_long
    if pass_short
        strategy.close("Long")

if allow_short
    if pass_long
        strategy.close("Short")

// if strategy.position_size > 0
//     strategy.exit("Lx", from_entry="Long",  stop=psar, limit = tp_long_atr  > 0 ? strategy.opentrades.entry_price(0) + tp_long_atr  * atr : na)
if strategy.position_size < 0
    strategy.exit("Sx", from_entry="Short", stop=psar, limit = tp_short_atr > 0 ? strategy.opentrades.entry_price(0) - tp_short_atr * atr : na)