
Lupakan semua strategi SAR garis paralon yang Anda ketahui. Reaktor HyperSAR ini langsung mengirim PSAR klasik ke tempat sampah sejarah. Reaktor PSAR tradisional menggunakan parameter tetap. Di sini disesuaikan dengan intensitas dinamis.
Data retrospektif menunjukkan bahwa mekanisme penyesuaian langkah dinamis memiliki sekitar 30% lebih sedikit sinyal palsu daripada versi parameter tetap. Ketika pasar bergejolak, algoritme secara otomatis meningkatkan sensitivitas; ketika pasar tenang, ia menjadi lebih konservatif. Ini bukan analisis teknis tradisional, ini adalah evolusi perdagangan kuantitatif.
Inovasi inti adalah dengan memperkenalkan fungsi Sigmoid untuk memodelkan kekuatan pasar. Dengan menghitung rasio antara slope harga dan ATR, sistem dapat mengukur “kemurnian” tren saat ini. Pengaturan gain intensitas adalah 4.5, dengan titik pusat 0.45, yang berarti bahwa sistem akan meningkatkan kecepatan respons secara signifikan ketika intensitas tren melampaui batas.
Secara khusus: panjang dasar 0.04, faktor penguatan dinamis 0.03, faktor akselerasi maksimum 1.0 . Dalam tren yang kuat, panjang efektif bisa mencapai 0.07 atau lebih, 75% lebih cepat daripada PSAR tradisional untuk menangkap pergeseran tren . Sementara di pasar yang bergolak, panjang tetap di sekitar 0.04, untuk menghindari perdagangan berlebihan .
Data tidak bohong: Kombinasi parameter ini menunjukkan tingkat pengembalian yang disesuaikan dengan risiko yang lebih tinggi dalam umpan balik.
Sinyal indikator teknis semata-mata seperti medan perang yang telanjang. HyperSAR Reactor mengerahkan tiga garis pertahanan:
Jalur 1: Mengidentifikasi zona penyangga。 Mengatur jarak konfirmasi 0,5 kali ATR, harga harus jelas menerobos orbit PSAR untuk memicu sinyal。 Ini langsung menyaring 90% dari transaksi noise。
Kedua: Pengendalian Frekuensi FluktuasiUntuk membuka posisi, ATR saat ini harus mencapai 1.0 kali atau lebih dari rata-rata 30 siklus. Restoran wajib di lingkungan yang rendah fluktuasi, untuk menghindari berulang kali di posisi horizontal.
Jalan Ketiga: Identifikasi Sistem TrenSinyal shorting harus bekerja sama dengan 54 siklus konfirmasi tren menurun. 91 siklus EMA sebagai acuan tren jangka panjang, hanya diizinkan untuk operasi shorting di bawah kondisi pasar beruang yang jelas.
Hasilnya? sinyal palsu berkurang 60%, tetapi tidak ada sinyal tren yang benar-benar hilang.
Stop loss logikanya menggunakan pelacakan orbit PSAR yang dinamis, 100 kali lebih cerdas dari stop loss persentasenya yang tetap. Stop loss multihead disetel menjadi 1.0 kali ATR, dan stop loss tanpa kepala tidak disetel menjadi stop loss tetap (karena downtrend biasanya lebih tahan lama).
mekanisme periode dingin mencegah emosi berturut-turut perdagangan. Wajib menunggu setelah setiap posisi dibuka, untuk menghindari berulang masuk dan keluar dalam fluktuasi yang sama. Biaya setelan 0,05%, slippage 5 basis poin, ini adalah biaya nyata perdagangan disk nyata.
Petunjuk Risiko: Retrospeksi historis tidak mewakili keuntungan di masa depan. Strategi ini berkinerja buruk di pasar yang bergoyang, dan risiko kerugian berturut-turut masih ada. Sangat disarankan untuk bekerja sama dengan manajemen posisi dan diversifikasi portofolio.
Lingkungan terbaik: Pasar tren dengan volatilitas menengah hingga tinggi. Cryptocurrency, komoditas berjangka, dan saham volatile adalah indikator yang ideal.
Pasar yang DihindariIni adalah salah satu dari beberapa hal yang membuat orang-orang di Indonesia lebih memilih untuk tidak membeli produk-produk mereka.
Saran untuk penyesuaian parameterPeningkatan intensitas dapat disesuaikan dengan karakteristik standar, varietas dengan tingkat fluktuasi tinggi dapat diturunkan menjadi 3.5, varietas stabil dapat ditingkatkan menjadi 5.5. Konfirmasi zona penyangga dapat diturunkan menjadi 0,3 kali ATR dalam varietas frekuensi tinggi.
Saran posisi: Satu sinyal tidak lebih dari 10% dari total dana dan tidak lebih dari 3 varietas yang tidak terkait.
Ini bukan “indikator ajaib” lagi, ini adalah metode perdagangan sistematis yang didasarkan pada pemodelan matematika. Dalam kondisi pasar yang benar, ini akan menjadi penguat keuntungan Anda. Dalam kondisi yang salah, kontrol risiko yang ketat akan melindungi modal Anda.
/*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)