
A estratégia baseia-se no alto e baixo do ciclo de ruptura para determinar a direção da tendência, fazendo mais no momento em que o preço ultrapassa o pico do ciclo de ruptura, e fazendo a folga no momento em que o pico do ciclo de ruptura, pertence à estratégia de acompanhamento de tendência.
A estratégia primeiro lê o período definido pelo usuário (linha do dia, circunferência, etc.) e o número de períodos de revisão. De acordo com esses parâmetros, o preço máximo e mínimo do ciclo de revisão são obtidos. Por exemplo, se for definido como um período de linha do dia, revisão de 1 ciclo, o preço máximo e mínimo do dia anterior são obtidos.
Na negociação real, se o preço de fechamento for maior do que o preço mínimo do ciclo de revisão, será considerado um salto para cima, fazendo mais; se o preço de fechamento for menor do que o preço máximo do ciclo de revisão, será considerado um salto para baixo, fazendo um salto.
A estratégia de acompanhamento de tendências consiste em capturar a direção da tendência através da ruptura dos altos e baixos do ciclo.
A estratégia tem as seguintes vantagens:
A tendência é avaliada com base nos pontos de ruptura e é mais fácil de entender depois de analisar os pontos fortes.
A operação é simples e fácil de entender, muito adequado para os novatos aprender a usar.
Otimizar os parâmetros do ciclo de ajuste para variedades diferentes.
Pode-se usar uma estratégia rica com a configuração de entrada reversa para a operação reversa.
O processo de mapeamento de um ciclo de alta e baixa ajuda na determinação de uma verificação múltipla.
A estratégia também apresenta alguns riscos:
Não é possível efetivamente filtrar oscilações, podendo ocorrer várias operações erradas.
Não é possível controlar a paralisação e existe um certo risco de perdas.
A taxa de transação é sensível e os lucros e perdas reais estão desviados.
Não é possível limitar o tamanho das posições, existem problemas de excesso.
Para os riscos acima mencionados, é possível configurar mecanismos de parada de perdas, otimizar as condições de filtragem e controlar o número de posições.
A estratégia pode ser melhorada em várias direções:
Aumentar o mecanismo de filtragem, evitando a liquidação de choque e a abertura frequente. Pode-se definir condições de filtragem, como canais de preço e taxa de flutuação.
Configure o stop loss móvel ou o stop loss de tempo. Controle o risco de perda individual e garanta a rentabilidade geral.
Optimizar o tamanho das posições e a gestão de fundos, evitar problemas de excesso de volume e garantir a estabilidade estratégica.
Teste a eficácia de diferentes parâmetros de ciclo e escolha a combinação ideal de parâmetros.
Adicionar módulos de negociação algorítmica para melhorar a eficiência de tomada de decisão com algoritmos de aprendizagem de máquina.
Em geral, a estratégia de retorno de ponto alto e baixo baseada na direção de julgamento de seguimento de tendência, é fácil de operar e é adequada para os iniciantes, mas existe o risco de dificuldade de arbitragem. Os meios de otimização, como o aumento de condições de filtragem, mecanismo de parada de perdas e controle de posição, podem reduzir esses riscos e melhorar a eficácia da estratégia.
/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 03/07/2018
// This script shows a high and low period value.
// Width - width of lines
// SelectPeriod - Day or Week or Month and etc.
// LookBack - Shift levels 0 - current period, 1 - previous and etc.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="High and Low Levels Backtest", shorttitle="HL Levels", overlay = true)
SelectPeriod = input("D", defval="D")
LookBack = input(1, minval=0)
reverse = input(false, title="Trade reverse")
xHigh = request.security(syminfo.tickerid, SelectPeriod, high[LookBack])
xLow = request.security(syminfo.tickerid, SelectPeriod, low[LookBack])
vS1 = xHigh
vR1 = xLow
pos = iff(close > vR1, 1,
iff(close < vS1, -1, nz(pos[1], 0)))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )