Esta estratégia é chamada de estratégia de rastreamento de tendências de ruptura de alta e baixa. A estratégia determina a direção da tendência, criando novos altos e baixos através da identificação de preços e fazendo o rastreamento da tendência ao romper os últimos altos ou baixos.
A lógica das transações é a seguinte:
Calcule o preço máximo e mínimo de um determinado período (por exemplo, 22 dias).
Quando o preço ultrapassa o máximo do dia mais recente, um sinal de compra é gerado, indicando a formação de uma tendência ascendente.
Quando o preço cai abaixo do mínimo do dia mais recente, um sinal de venda é gerado, indicando a formação de uma tendência de queda.
Para filtrar os sinais falsos, é necessário verificar a direção da tendência. Por exemplo, se o preço for inovador, mas o indicador se desviar, não considere a compra.
Só é feito o seguimento ao ultrapassar os últimos altos/baixos quando os indicadores estão de acordo com a tendência dos preços.
A vantagem dessa estratégia é capturar o momento em que o preço ultrapassa o ponto crítico, o que geralmente acompanha o início ou a aceleração da tendência. Mas é necessário evitar que haja muitos sinais ineficazes em um balanço de choque.
Em geral, focar em breakouts em áreas-chave de preços é uma maneira básica de acompanhar a tendência. No entanto, os comerciantes também precisam confirmar com outros indicadores e ajustar os parâmetros de acordo com a situação real para maximizar a eficácia da estratégia.
/*backtest
start: 2023-08-13 00:00:00
end: 2023-09-12 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=1
strategy(title="HIGHER HIGH LOWER LOW STRATEGY", shorttitle="HH LL STRATEGY", overlay=true, calc_on_order_fills=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, currency="USD", default_qty_value=100)
////
//Higher High or Lower Low Entry Inputs
price = input(hlc3)
LookBack = input(22)
Highest = highest(LookBack)
Lowest = lowest(LookBack)
long = price > Highest[1]
short = price < Lowest[1]
//Divergence Check Inputs
length = input(14)
High_Guard = highest(length)
Low_Guard = lowest(length)
length2 = input(2)
long1 = long == 1 and Highest[1] > High_Guard[length2]
short1 = short == 1 and Lowest[1] < Low_Guard[length2]
plot(long and long[1], color=green, style=line)
plot(short and short[1], color=red, style=line)
strategy.entry("Long", strategy.long, when=long1)
strategy.entry("Short", strategy.short, when=short1)