Esta estratégia é chamada de
Esta estratégia usa o indicador SAR Parabólico para determinar a direção da tendência e o tempo de reversão. O indicador Stoch julga se está sobrecomprado ou sobrevendido. A função de Segurança extrai a direção das médias móveis de ciclo mais longo para determinar a tendência geral. Os três são combinados para formar decisões comerciais:
Quando os pontos Parabolic SAR se convertem para o lado negativo, é considerado um sinal de alta; quando os pontos se viram para cima, indica baixa.
Os valores do Stoch K abaixo de 20 são considerados sobrevendidos e acima de 80 são considerados sobrecomprados.
A função de Segurança chama médias móveis de ciclos mais longos para determinar a direção geral da tendência, permitindo uma análise combinada entre diferentes ciclos de tempo.
Quando os três indicadores acima derem sinais de alta, vá longo. Quando der sinais de baixa, vá curto. Siga estritamente o princípio da filtragem de múltiplos indicadores para filtrar efetivamente falhas e bloquear as tendências verdadeiras.
A maior vantagem desta estratégia reside em sua análise de vários prazos. Os três indicadores julgam o comportamento dos preços, respectivamente, nos níveis de curto, médio e longo prazo. O SAR parabólico capta o tempo de reversão e as tendências de curto prazo. O estoque determina as condições de sobrecompra e sobrevenda atuais. A função de segurança determina a direção geral da tendência. Os três se complementam para evitar interferências de falsas rupturas efetivamente e aproveitar oportunidades de estabelecimento de tendência.
Ao mesmo tempo, esta estratégia adota múltiplos indicadores para julgamento e filtragem para minimizar a probabilidade de erro de julgamento a partir de um único.
Os principais riscos desta estratégia estão na adequação das configurações dos parâmetros do indicador. O tamanho do passo e o tamanho máximo do passo do Parabolic SAR afetam diretamente a velocidade de captura de reversões. Os ciclos de suavização do valor K e do valor D do Stoch precisam corresponder às características do mercado. O ciclo de seleção da função de Segurança também afeta o julgamento.
Além disso, o princípio da análise de quadros de tempo múltiplos enfatiza a combinação de indicadores entre períodos. No entanto, como lidar com divergências entre indicadores de ciclo longo e curto também é um problema que vale a pena prestar atenção. Uma solução possível é determinar a direção geral com indicadores de tendência e identificar o momento específico de saída usando indicadores BREAKOUT.
As principais direcções para uma maior otimização desta estratégia são as seguintes três:
Aumentar o mecanismo de tamanho de passo adaptativo. Permitir que os parâmetros SAR parabólicos sejam ajustados com base no grau de volatilidade do mercado para capturar melhor as reversões.
Adicionar mecanismo de stop loss. Sair com stop loss quando o preço quebra um certo nível em direção à direção desfavorável. Controlar a perda de uma única transação.
Introduzir técnicas de aprendizado de máquina. Usar algoritmos para treinar a correlação entre os comportamentos de preços em diferentes períodos de tempo. Parâmetros de estratégia que combinam diferentes prazos também podem ser otimizados através de algoritmos.
A estratégia quantitativa
/*backtest start: 2023-01-11 00:00:00 end: 2024-01-17 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title='kyenji', shorttitle='kyenji90', overlay=true) // Parabolic SAR parabolicSARStart=input.float(0.01) parabolicSARInc=input.float(0.01) parabolicSARMax=input.float(0.2) psarDot = ta.sar(parabolicSARStart,parabolicSARInc,parabolicSARMax) longConditionPSAR = psarDot > close shortConditionPSAR = psarDot < close // Stoch periodK = input.int(14, title="K", minval=1) periodD = input.int(3, title="D", minval=1) smoothK = input.int(3, title="Smooth", minval=1) k = ta.sma(ta.stoch(close, high, low, periodK), smoothK) d = ta.sma(k, periodD) h0 = 80 h1 = 20 longConditionStoch = k < h1 shortConditionStoch = k > h0 // Security securityPeriod=input('180') longConditionSecurity = ta.crossover(request.security(syminfo.tickerid, securityPeriod, close),request.security(syminfo.tickerid, securityPeriod, open)) shortConditionSecurity = ta.crossunder(request.security(syminfo.tickerid, securityPeriod, close),request.security(syminfo.tickerid, securityPeriod, open)) // Generate Signal longCondition = longConditionSecurity and longConditionPSAR and longConditionStoch shortCondition = shortConditionSecurity and shortConditionPSAR and shortConditionStoch if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short)