
Esqueça todas as estratégias de SAR de paralelo que você conhece. Este HyperSAR Reactor envia diretamente o PSAR clássico para o lixo histórico. Os PSAR tradicionais usam parâmetros fixos.
Os dados de retrospectiva mostram que o mecanismo de regulação de passo dinâmico tem cerca de 30% menos de falsos sinais do que a versão de parâmetros fixos. Quando a volatilidade do mercado aumenta, o algoritmo aumenta automaticamente a sensibilidade; quando o mercado está calmo, torna-se mais conservador.
A inovação central é a introdução da função Sigmoid para a modelagem da força do mercado. O sistema é capaz de quantificar a “pureza” da tendência atual, calculando a relação entre a inclinação dos preços e o ATR. O aumento da força é definido como 4,5, com um ponto central de 0,45, o que significa que o sistema aumenta significativamente a velocidade de reação quando a força da tendência ultrapassa o limiar.
Especificamente: a distância básica é de 0,04, o factor de aumento dinâmico é de 0,03, o factor de aceleração máxima é de 1,0. Em uma forte tendência, a distância efetiva pode chegar a 0,07 ou mais, capturando uma reversão de tendência 75% mais rápida do que o tradicional PSAR. Em um mercado de turbulência, a distância permanece perto de 0,04 para evitar o excesso de negociação.
Os dados não mentem: esse conjunto de parâmetros mostra uma maior taxa de retorno ajustado ao risco em testes de retorno.
O simples sinal de indicador técnico é como um campo de batalha desnudo. O HyperSAR Reactor dispõe de três linhas de defesa:
Primeira linha: Confirmação da zona de segurança。 a distância de confirmação de 0.5 vezes o ATR, o preço deve claramente romper a órbita do PSAR para que o sinal seja acionado。 Isso filtra diretamente 90% das transações de ruído。
Segundo: controle de fluxo de caixa.❚ O ATR atual deve atingir mais de 1,0 vezes a média de 30 ciclos para que seja permitido abrir uma posição. ❚ O repouso obrigatório em um ambiente de baixa volatilidade, para evitar ser repetidamente confrontado no disco lateral.
Terceiro caminho: Identificação de tendências❚ O sinal de curto prazo deve ser acompanhado de uma confirmação de tendência de queda de 54 ciclos ❚ A EMA de 91 ciclos é usada como referência de tendência de longo prazo e apenas é permitida a operação de curto prazo em um ambiente de mercado claro ❚
O resultado é uma diminuição de 60 por cento nos sinais falsos, mas nenhum sinal de tendência real é ignorado.
A lógica de stop loss usa o rastreamento dinâmico da trajetória PSAR, que é 100 vezes mais inteligente do que o percentual de stop loss fixo. O stop multi-cabeça é definido como 1.0x ATR, e o stop vazio não é definido como um stop fixo (porque as tendências descendentes geralmente são mais duradouras).
O mecanismo de período de refrigeração evita a emoção de negociação contínua. A espera obrigatória após cada abertura de posição evita a entrada e saída repetidas na mesma flutuação. A taxa de comissão é de 0,05%, com um deslizamento de 5 pontos base, que são os custos reais de negociação em disco.
Alerta de riscoA retrospectiva histórica não é indicativa de receitas futuras. A estratégia não funcionou bem em mercados turbulentos e o risco de perdas contínuas permanece. É altamente recomendável a combinação de gerenciamento de posição e diversificação de portfólio.
O melhor ambiente para issoMercado de tendências com alta e média volatilidade. Criptomoedas, futuros de mercadorias e ações voláteis são indicadores ideais.
Mercados evitadosO que é que o governo está a fazer para evitar que as pessoas se tornem mais vulneráveis à corrupção?
Recomendações de ajuste de parâmetrosO aumento de intensidade pode ser ajustado de acordo com as características do indicador, variedades com maior taxa de flutuação podem ser reduzidas para 3.5, variedades estáveis podem ser aumentadas para 5.5. A confirmação da zona de amortecimento pode ser reduzida para 0,3 vezes o ATR em variedades de alta frequência.
Recomendações de posiçõesA única indicação não pode exceder 10% do capital total e não pode ter mais de 3 variedades não relacionadas.
Não é mais um “indicador mágico”, é um método de negociação sistematizado baseado em modelos matemáticos. Em um ambiente de mercado correto, ele pode ser um amplificador de lucro para você. Em um ambiente errado, um rigoroso controle de risco pode proteger seu capital.
/*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)