
A estratégia de negociação de depreciação dinâmica de risco de risco de redução é uma estratégia de negociação quantitativa baseada no desvio do preço em relação à média móvel de longo prazo. A estratégia calcula o diferencial binário entre o preço atual e a média móvel simples de 374 ciclos e, com a manipulação de redução, obtém um indicador de risco entre 0 e 1. Quando o valor de risco é inferior a um determinado limite, a estratégia considera que o risco de mercado é baixo e adequado para fazer mais; Quando o valor de risco é superior a um determinado limite, a estratégia considera que o risco de mercado é alto e adequado para abrir ou fechar posições.
O princípio central da estratégia é quantificar o estado de risco do mercado por meio da unificação do valor de risco, orientando a decisão de negociação. Os passos de cálculo são os seguintes:
A estratégia também configura um mecanismo de stop loss de um número fixo de pontos (de 5 pontos) para controlar o máximo de perdas de uma única transação. Além disso, a estratégia também mostra intuitivamente as várias posições de sinais no gráfico por meio de um recurso de etiquetas para ajudar os comerciantes a identificar potenciais oportunidades de negociação.
Quantificação do risco: Simplifica o estado de mercado complexo para um indicador de risco entre 0 e 1, intuitivo e fácil de entender, facilitando a decisão de negociação.
AdaptabilidadeA utilização de máximos e mínimos históricos para a unificação permite que o indicador se adapte a diferentes ambientes de mercado e características cíclicas, evitando as limitações de parâmetros fixos.
Princípio de Regressão de Mean ValueA estratégia baseia-se no grau de desvio dos preços da linha média de longo prazo para julgar o excesso de compra e venda, de acordo com a característica de retorno do valor médio do mercado financeiro.
Ajustamento do fator tempo: Ao introduzir o fator de tempo ((0.395 vezes o bar_index), o cálculo do risco pode ser ajustado dinamicamente ao longo do tempo, mais de acordo com as leis da evolução do mercado.
Mecanismo de gestão de riscosA configuração de parada de perda incorporada, que controla diretamente a perda máxima de uma única transação, ajuda a proteger a segurança dos fundos.
Sinais visuaisA estratégia é mais prática, reduzindo a dificuldade de discernimento dos traders, através da marcação clara das posições dos sinais.
Parâmetros simplesA redução dos parâmetros centrais reduz o risco de superalimento e aumenta a adaptabilidade das estratégias a diferentes condições de mercado.
Atraso de média móvel de longo prazoO SMA de 374 ciclos possui um atraso significativo e pode causar atrasos no sinal, perdendo o melhor momento de entrada ou saída em mercados em rápida mudança.
O stop loss fixo não se adapta à volatilidadeA estratégia usa um número fixo de pontos como padrão de stop loss, sem levar em conta as variações de volatilidade em diferentes mercados e períodos, o que pode levar a um stop loss muito relaxado ou muito apertado.
Sensibilidade a valores-limiteOs sinais de negociação da estratégia dependem fortemente dos limites de risco predefinidos (de 0.3, 0.4, 0.6, 0.7), que podem não ser aplicáveis a todos os cenários de mercado.
Limites de requalificaçãoO uso de extremos históricos para a normalização pode necessitar de reajustes quando novos extremos surgirem, e a falta de dados históricos pode levar à inadequação da normalização.
Detecção de risco de desvioA estratégia depende do valor de risco máximo/mínimo histórico, o que pode levar a um desvio de função futura na retrospectiva prospectiva, e a aplicação real pode ser menos eficaz do que a retrospectiva.
Desafios de optimização de parâmetrosOs parâmetros-chave, como o ciclo SMA, o valor de risco, o número de pontos de parada, etc., precisam ser otimizados para diferentes mercados, aumentando a complexidade do ajuste da estratégia.
As soluções incluem: o uso de um mecanismo de parada de perda adaptável em vez de um ponto fixo de parada; a introdução de um indicador de taxa de flutuação para ajustar o limiar de risco; o uso de sinais de confirmação de múltiplos períodos; o aumento de condições de filtragem de tendência para evitar negociações adversas; a confirmação de sinais em combinação com outros indicadores técnicos.
Mecanismo de suspensão de prejuízos: Mudar o stop-loss de pontos fixos para o stop-loss dinâmico baseado no ATR (amplitude de flutuação real), permitindo que o nível de stop-loss se ajuste automaticamente à volatilidade do mercado, por exemplo, definindo a distância de stop-loss de 1,5 vezes o ATR.
Desvalorização do risco dinâmico: alterar os limites de risco fixos ((0.3, 0.4, 0.6, 0.7) para os limites de risco baseados em ajustes dinâmicos do mercado, podendo considerar o uso de taxas de volatilidade ou indicadores de intensidade de tendência para ajustar esses limites.
Adicionar filtro de tendênciaIntrodução de mecanismos de determinação de tendências, como o uso de indicadores de média móvel ou ADX com períodos mais longos, para negociar apenas na direção da tendência principal, evitando operações de contracorrente.
Mecanismo de confirmação de sinalAumentar os requisitos de confirmação de sinais, por exemplo, exigindo que os indicadores de risco permaneçam fora do limiar por vários ciclos consecutivos antes de disparar o sinal, reduzindo o falso sinal.
Filtração por tempo de inserçãoAumentar o limite da janela de tempo de negociação, evitando períodos de negociação conhecidos como pouco eficientes ou de alta volatilidade, melhorando a qualidade do sinal.
Otimizar o ciclo da média móvelTeste diferentes períodos de SMA (como 200, 300, 450, etc.) em vez de um período fixo de 374 para encontrar um parâmetro mais adequado para um determinado mercado.
Melhorias na gestão de fundosIntrodução de um mecanismo de gestão de posições dinâmicas, ajustando a proporção de capital em cada transação de acordo com o nível absoluto do valor de risco e a taxa de mudança, para alcançar o equilíbrio de risco.
Quadro de análise de múltiplos períodosEstratégia de escalação para considerar indicadores de risco em vários períodos de tempo, executando negociações apenas quando os sinais de diferentes períodos são consistentes, aumentando a confiabilidade do sinal.
Essas direções de otimização visam aumentar a auto-adaptabilidade da estratégia, reduzir os falsos sinais, otimizar o gerenciamento de riscos e melhorar a performance geral. A combinação de vários pontos de otimização pode construir um sistema de negociação mais robusto.
A estratégia de negociação de depreciação dinâmica de valor de risco unificado é uma estratégia de negociação quantitativa baseada no desvio do preço em relação à média móvel de longo prazo para orientar a decisão de negociação por meio do cálculo e da unificação de indicadores de risco. A estratégia simplifica o estado de mercado complexo para valores de risco entre 0-1 e reflete intuitivamente o estado de supercompra e supervenda do mercado.
A principal vantagem da estratégia reside na sua adaptabilidade e capacidade de quantificar o risco, sendo tratada de forma homogênea através do rastreamento dinâmico dos valores máximos históricos, permitindo que os indicadores se adaptem a diferentes condições de mercado. Ao mesmo tempo, o mecanismo de parada de prejuízos incorporado fornece funções básicas de controle de risco.
No entanto, a estratégia também apresenta limitações, como atraso de médias móveis de longo prazo, depreciação fixa e parada não adaptada às mudanças no mercado. Para melhorar o desempenho da estratégia, pode-se considerar a introdução de medidas de otimização, como mecanismos de parada dinâmica, depreciação de risco adaptativa, filtros de tendência e confirmação de múltiplos ciclos.
Em geral, a estratégia de negociação de depreciação dinâmica de valor de risco unificado fornece uma maneira sistematizada de identificar o estado de risco do mercado e orientar as decisões de negociação, sendo adequada como uma ferramenta auxiliar para negociação de médio e longo prazo. Com a otimização de parâmetros razoáveis e o gerenciamento de risco, a estratégia tem o potencial de manter um desempenho estável em diferentes ambientes de mercado.
/*backtest
start: 2025-05-13 00:00:00
end: 2025-06-11 08:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/
//@version=5
//@author=Skywalking2874
strategy("Risk Trading Strategy", overlay=false, max_bars_back=5000)
// 输入参数
risk_prices = input.bool(true, "Display the price corresponding with risk thresholds")
// 计算指标值
find_ath(_src) =>
var ath = 0.0
if _src > ath
ath := _src
ath
find_atl(_src) =>
var atl = 2.5
if _src < atl
atl := _src
atl
threeseventyfour = ta.sma(close, 374)
average = (math.log(close) - math.log(threeseventyfour)) * math.pow(bar_index, 0.395)
highest_value = find_ath(average)
lowest_value = find_atl(average)
average_normalized = (average - lowest_value) / (highest_value - lowest_value)
// 绘图
plot(average_normalized, color=color.new(color.blue, 0), title="Risk")
// 交易信号定义
longCondition = average_normalized < 0.3
exitLongCondition1 = average_normalized >= 0.6
exitLongCondition2 = average_normalized >= 0.7
shortCondition = average_normalized > 0.7
exitShortCondition = average_normalized <= 0.4
// 执行交易
if (longCondition)
strategy.entry("Buy", strategy.long)
strategy.exit("Stop Loss", "Buy", stop=close - 5 * syminfo.pointvalue)
if (exitLongCondition1 or exitLongCondition2)
strategy.close("Buy")
if (shortCondition)
strategy.entry("Sell", strategy.short)
strategy.exit("Stop Loss", "Sell", stop=close + 5 * syminfo.pointvalue)
if (exitShortCondition)
strategy.close("Sell")
// 绘制标签
if (risk_prices)
price_zero = threeseventyfour * math.exp((0.0*(highest_value-lowest_value)+lowest_value)/(math.pow(bar_index, 0.395)))
price_point_three = threeseventyfour * math.exp((0.3*(highest_value-lowest_value)+lowest_value)/(math.pow(bar_index, 0.395)))
price_point_four = threeseventyfour * math.exp((0.4*(highest_value-lowest_value)+lowest_value)/(math.pow(bar_index, 0.395)))
price_point_six = threeseventyfour * math.exp((0.6*(highest_value-lowest_value)+lowest_value)/(math.pow(bar_index, 0.395)))
price_point_seven = threeseventyfour * math.exp((0.7*(highest_value-lowest_value)+lowest_value)/(math.pow(bar_index, 0.395)))
label.new(bar_index, price_zero, "Buy Signal", color=color.green, textcolor=color.white, style=label.style_label_up)
label.new(bar_index, price_point_three, "Exit Long Signal", color=color.blue, textcolor=color.white, style=label.style_label_up)
label.new(bar_index, price_point_four, "Exit Short Signal", color=color.orange, textcolor=color.white, style=label.style_label_up)
label.new(bar_index, price_point_six, "Exit Long Signal 2", color=color.blue, textcolor=color.white, style=label.style_label_up)
label.new(bar_index, price_point_seven, "Sell Signal", color=color.red, textcolor=color.white, style=label.style_label_up)