Esta estratégia rastreia principalmente o preço histórico mais alto dos valores mobiliários. Ele compra quando o preço cai de volta a uma certa porcentagem do preço mais alto e vende quando o preço quebra o preço histórico mais alto novamente.
A estratégia registra primeiro o preço mais elevado do título a partir de 1 de Janeiro de 2011 até ao presente, que é definido como a variável highestHigh.
Durante a operação, ele julga se o preço mais alto do dia atingiu uma nova alta todos os dias.
Esta estratégia tem três linhas horizontais importantes:
Buyzone=highestHigh*0.9: 90% do preço mais alto, representando a oportunidade de um forte recuo
Buyzone2=highestHigh*0.8: 80% do preço mais elevado, representando uma posição de retração relativamente atraente
zona de venda=maiorAlto*0,99: 99% do preço mais elevado, representando a oportunidade de determinar a inversão da tendência
Envia um sinal de compra quando o preço cai para a linha de 80% (buyzone2); envia um sinal de venda quando o preço quebra a linha de 99% (sellzone) do preço histórico mais alto novamente.
O principal critério desta estratégia consiste em acompanhar os preços históricos mais elevados e as diferentes linhas de nível dos rácios.
A maior vantagem desta estratégia é que ela pode capturar tendências de alta de longo prazo. Ao esperar por retrações e depois entrar, ela atinge o efeito de comprar baixo e vender alto. As vantagens específicas são as seguintes:
A análise das tendências a longo prazo das ações é uma base importante para avaliar as tendências.
A posição de retração de 80% do preço mais elevado representa a relação risco-retorno ideal, que pode garantir a margem de lucro após o aumento, limitando o risco de queda.
O 99% do máximo histórico atua como uma linha de stop loss para maximizar os lucros enquanto controla os riscos
O novo máximo do preço mais alto representa o fortalecimento da força corporativa.
Grande espaço de parâmetro ajustável pode ser otimizado pessoalmente para diferentes estoques
Por conseguinte, esta estratégia maximiza os retornos da tendência de alta das ações, evitando os riscos de ajustamento de curto prazo.
O principal risco desta estratégia é a probabilidade de o preço atingir um novo mínimo e continuar a diminuir após a compra.
A probabilidade de continuação do declínio ou limite para baixo após a compra, pode enfrentar perdas
O preço mais alto na verdade representa o frenesi de perseguir subidas e matar quedas, o ímpeto para a ascensão continuada pode ser insuficiente
Se os parâmetros são definidos incorretamente, haverá problemas diferentes se o ponto de stop loss é muito alto ou muito baixo
A frequência de negociação pode ser baixa, vulnerável a impactos ambientais externos, como as tendências do mercado
Não considera os fundamentos e a avaliação de ações individuais, e a base para a selecção de ações a comprar é fraca.
A solução principal é: avaliar racionalmente os fundamentos para garantir a qualidade da selecção de acções; ajustar parâmetros como a taxa de compra e o stop loss para otimizar estratégias; considerar a combinação com outras estratégias, etc.
As principais direcções de otimização desta estratégia são o ajuste de parâmetros, regras de seleção de ações e melhoria dos métodos de stop-loss.
Otimizar os indicadores técnicos de compra e stop loss, tais como KD, MACD para evitar pontos altos
Melhorar as regras de selecção das acções, acrescentar elementos fundamentais e métricas de avaliação para garantir a qualidade das acções
Ajustar dinamicamente as proporções dos parâmetros e vincular-se ao mercado mais amplo para garantir a racionalidade dos parâmetros
Configure a perda de parada em movimento ou a perda de parada de tempo para otimizar os métodos e posições de perda de parada
Considerar a combinação com outras estratégias de fatores para formar modelos multifatores e melhorar a estabilidade
Adicionar indicadores de dinâmica para evitar períodos de baixa prosperidade após o aumento do estoque
Por conseguinte, as principais direcções de otimização consistem em melhorar as regras de seleção de ações, o ajustamento dos parâmetros e os métodos de stop-loss, melhorando ainda mais a estabilidade e os rendimentos ajustados ao risco com base nas tendências seguintes.
Esta estratégia pertence à estratégia típica de tendência baseada em novos máximos históricos. Ela pode efetivamente capturar a tendência de alta de longo prazo de ações através de retrações técnicas para obter uma relação risco-recompensa superior. Mas devido à falta de consideração dos fundamentos, a estabilidade e a resistência ao risco são mais fracas. As principais direções de otimização são melhorar as regras de seleção de ações, ajustar parâmetros e parar perdas e otimizar mecanismos de stop-loss. Se usado em conjunto com outras estratégias através de um modelo multifator, pode formar uma seleção quantitativa de ações e estratégia de negociação com uma relação risco-recompensa ideal.
/*backtest start: 2023-01-21 00:00:00 end: 2024-01-21 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("All-time-high", "ATH", overlay=true, initial_capital=10000, default_qty_value=100, default_qty_type=strategy.percent_of_equity, pyramiding=1, commission_type=strategy.commission.cash_per_contract, commission_value=0.000) // input Athlw = input(title="All-time-high line widths", type=input.integer, defval=4, minval=0, maxval=4) Athlc = input(title="All-time-high line color", type=input.color, defval=color.new(color.fuchsia,50)) years = input(title="Years back to search for an ATH", type=input.integer, defval=6,minval=0, maxval=100) var float highestHigh = 0 // var line allTimeHigh = line.new(na, na, na, na, extend=extend.both, color=Athlc, width=Athlw) if high > highestHigh highestHigh := high // if barstate.islast // line.set_xy1(allTimeHigh, bar_index-1, highestHigh) // line.set_xy2(allTimeHigh, bar_index, highestHigh) plot(highestHigh) buyzone=highestHigh*0.9 buyzone2=highestHigh*0.8 buyzone3=highestHigh*0.7 sellzone=highestHigh*0.99 plot(buyzone, color=color.red) plot(buyzone2, color=color.white) plot(buyzone3, color=color.green) begin = timestamp(2011,1,1,0,0) end = timestamp(2022,4,19,0,0) longCondition = close<buyzone2 if (longCondition) strategy.entry("Buy", strategy.long) closeCondition = close>sellzone if (closeCondition) strategy.close("Buy", strategy.long)