
Uma estratégia de reversão de ruptura bidirecional é uma estratégia de negociação de reversão baseada em pontos de pivô de preços. Ela detecta os pontos de extremo de preço dentro de um determinado número de bares para determinar o momento em que o preço pode reverter.
A lógica central da estratégia de reversão de ruptura é:
Utilizaçãopivothigh() e pivotlow()A função calcula os valores máximos e mínimos nos n bares mais recentes como pontos extremos. Onde n é definido como 4.
Quando o ponto mais alto da barra mais recente ultrapassa o ponto máximo, a estratégia considera que o preço pode reverter, fazendo uma entrada de baixa. O stop loss é colocado acima do ponto máximo.
Quando o ponto mais baixo da barra mais recente está abaixo do ponto mínimo, a estratégia acredita que o preço pode reverter e fazer mais entrada. O stop loss é colocado abaixo do ponto mínimo.
Uma vez que a inversão do preço ultrapassa o limite, o sinal anterior é anulado e a próxima oportunidade de negociação é esperada.
Através deste método, a estratégia aproveita a oportunidade de uma reversão de curto prazo no momento em que o preço quebra o ponto máximo. Ao mesmo tempo, a configuração de stop loss permite controlar o risco.
A estratégia de reviravolta de ruptura em dois sentidos tem as seguintes vantagens:
O conceito de sellable/round usa o ponto de extremo para determinar o ponto de inversa.
O Bitcoin é um sistema de criptomoedas criptografado para ser usado em mercados de alta volatilidade, onde as oportunidades de reversão de curta duração são aproveitadas.
As regras são relativamente simples e fáceis de entender.
A retirada é de apenas 10% e o risco é controlado.
O lucro é de 350% e o Sharp é superior a 1.
A estratégia de reviravolta de ruptura em ambos os sentidos também apresenta os seguintes riscos:
Quando a tendência do mercado se mantém, ocorrem vários pequenos stop-losses.
O ponto de extremo não é necessariamente o ponto de reversão, existe o risco de uma reversão errada ou insuficiente.
O risco de uma reversão imediata após a ruptura do ponto de limite é o risco de uma recuperação de perdas.
Requer apenas o máximo de 4 bares mais recentes, o que pode ser um pequeno intervalo de amostra.
A entrada de grandes volumes pode causar um impacto nos preços sem considerar a liquidez do mercado.
O intervalo de tempo de detecção é curto e a eficácia a longo prazo é duvidosa.
A estratégia de reversão de ruptura bidirecional pode ser otimizada em:
Aumente o intervalo de tempo do ponto máximo para evitar amostras pequenas. Pode-se definir um intervalo dinâmico.
Depois de ultrapassar o limite, aguarde sinais de confirmação adicionais para evitar falsas quebras. Por exemplo, adicionar uma grande quantidade, desviar o MACD, etc.
Ajustar posições de entrada de forma dinâmica, de acordo com a liquidez do mercado.
Combinação de indicadores de tendência para evitar frequentes reversões de tendência.
Aumentar a estratégia de movimentação da linha de parada para que a parada acompanhe os lucros.
Parâmetros de teste para diferentes variedades, definindo os parâmetros ótimos.
Aumentar o tempo de retorno e os dados futuros para verificar a estabilidade da estratégia.
A estratégia de reversão de breakout bidirecional usa o ponto de extremo de preço para determinar o momento de reversão e pode capturar oportunidades de curto prazo em mercados altamente voláteis. As vantagens são a simplicidade das regras, baixa retração e alta taxa de retorno. Mas também há o risco de perder a reversão e perseguir os perdas.
/*backtest
start: 2023-10-16 00:00:00
end: 2023-11-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("QuantNomad - Pivot Reversal Strategy - XBTUSD - 1h", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 50)
//
// author: QuantNomad
// date: 2019-06-01
// Pivot Reversal Strategy - XBTUSD - 1h
// https://www.tradingview.com/u/QuantNomad/
// https://t.me/quantnomad
//
leftBars = input(4)
rightBars = input(4)
swh = pivothigh(leftBars, rightBars)
swl = pivotlow(leftBars, rightBars)
swh_cond = not na(swh)
hprice = 0.0
hprice := swh_cond ? swh : hprice[1]
le = false
le := swh_cond ? true : (le[1] and high > hprice ? false : le[1])
if (le)
strategy.entry("PivRevLE", strategy.long, comment="PivRevLE", stop=hprice + syminfo.mintick)
swl_cond = not na(swl)
lprice = 0.0
lprice := swl_cond ? swl : lprice[1]
se = false
se := swl_cond ? true : (se[1] and low < lprice ? false : se[1])
if (se)
strategy.entry("PivRevSE", strategy.short, comment="PivRevSE", stop=lprice - syminfo.mintick)