Tendência de alta e baixa ruptura seguindo a estratégia

Autora:ChaoZhang, Data: 2023-09-13 15:50:50
Tags:

Esta estratégia é chamada de High-Low Breakout Trend Following Strategy. Identifica novos máximos e mínimos de preços para determinar a direção da tendência e negocia breakouts dos últimos pontos altos/baixos para seguir as tendências.

A lógica específica é:

  1. Calcular o máximo máximo e o mínimo mínimo durante um determinado período (por exemplo, 22 dias).

  2. Quando o preço ultrapassa a última alta de um dia, um sinal de compra é gerado, sinalizando uma tendência de alta.

  3. Quando o preço ultrapassa a última baixa de um dia, um sinal de venda é gerado, sinalizando uma tendência de queda.

  4. A direção da tendência é verificada para filtrar sinais falsos. Por exemplo, o novo preço alto com divergência de baixa é ignorado para compra.

  5. Apenas quando os indicadores estiverem alinhados com a tendência dos preços, as transações serão realizadas com base em breakouts dos últimos pontos altos/baixos.

A vantagem é a captura do momento de ruptura pivotal, que frequentemente acompanha o início ou a aceleração da tendência.

Em resumo, a observação das rupturas das principais áreas de preços é essencial no seguimento da tendência, mas a confirmação com outros indicadores e ajuste de parâmetros com base nas condições reais são necessários para maximizar a utilidade 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)


Mais.