Breach Callback Estratégia longa

Autora:ChaoZhang, Data: 2024-02-22 15:41:53
Tags:

img

Resumo

A ideia principal desta estratégia é abrir uma posição longa após o surgimento de um padrão específico de candelabro, ou seja, abrir uma posição longa na próxima barra aberta após uma brecha de baixa (colorbar) seguida de um pullback para a baixa da barra anterior.

Estratégia lógica

As condições específicas para esta estratégia são: a barra anterior tem uma baixa mais baixa e uma alta mais alta em comparação com as duas barras anteriores, indicando uma lacuna descendente; e a baixa da barra atual é menor ou igual à baixa da barra anterior, indicando que ocorreu um pullback.

Após a abertura da posição longa, o stop loss é definido na baixa de pullback, que é a baixa da barra anterior, e o take profit é definido em mais de 2% acima do preço de entrada.

Análise das vantagens

A maior vantagem desta estratégia é aproveitar a oportunidade de rebote de alta probabilidade após o padrão específico de velas. A lacuna de baixa seguida de pullback representa um padrão técnico extremamente poderoso que indica que a pressão de venda pode ter se esgotado neste nível e uma rebentação de alta probabilidade é provável que ocorra. Portanto, esta estratégia é mais adequada para negociação de curto prazo.

Análise de riscos

O principal risco é a queda contínua após o fim do pullback. Como estamos tomando posições longas em torno de mínimos de pullback, podem ser incorridas perdas significativas se não pudermos cortar a perda a tempo. Além disso, se o intervalo de pullback for pequeno, o stop loss definido muito apertado pode causar a parada. Assim, essa estratégia é mais preferível para negociação de curto prazo, exigindo atenção do mercado e stop loss oportuno.

Direcção de otimização

Outros indicadores técnicos podem ser incorporados para melhorar a precisão do sinal e a estabilidade da estratégia, como entrar na cruz de ouro do MACD ou verificar se o preço típico está no nível de suporte antes da entrada.

Resumo

Em resumo, esta é uma estratégia típica de curto prazo de breakout pullback longo. Captura a oportunidade de rebote após o forte padrão de gap de baixa seguido de pullback. Mas também carrega o risco de grandes perdas se não conseguir cortar as perdas a tempo. É necessário monitoramento frequente do mercado para resultados favoráveis.


/*backtest
start: 2024-01-22 00:00:00
end: 2024-02-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//  Created by Leon Ross
//study(title="OutsideDownOpenLower", shorttitle="ODOL", overlay=true)
strategy(title = "Outside", shorttitle = "OB", overlay = true )
  

//Window of time
//start     = timestamp(2018, 01, 01, 00, 00)  // backtest start window
//finish    = timestamp(2018, 12, 31, 23, 59)        // backtest finish window
//window()  => time >= start and time <= finish ? true : false // create function "within window of time"  

//Conditions
outsideBar = low < low[1] and high > high[1] and close < open
allConditions = outsideBar
  
//Stop and Take Profit as percentages
//inpTakeProfit   = input(2, title='Take Profit %', type=float)/100
//takeProfitValue = strategy.position_avg_price * (1 + inpTakeProfit)
//useTakeProfit   = inpTakeProfit  > 0 ?  takeProfitValue : na
//inpStopLoss     = input(1, title='Stop Loss %', type=float)/100
//stopLossValue = strategy.position_avg_price * (1 - inpStopLoss)
//useStopLoss     = inpStopLoss    > 0 ?  stopLossValue   : na
//entry = strategy.position_avg_price



//Stop as last bars low and profit as percentage
entry = strategy.position_avg_price
inpTakeProfit   = input(2.0, title='Take Profit %', type=float)/100
takeProfitValue = strategy.position_avg_price * (1 + inpTakeProfit)
useTakeProfit   = inpTakeProfit  > 0 ?  takeProfitValue : na
inpStopLoss     = valuewhen(allConditions, low, 0)
stopLossValue = inpStopLoss
useStopLoss     = inpStopLoss    > 0 ?  stopLossValue   : na
    



//Plots
bgcolor(allConditions ==1 ? aqua : na, transp=70)
plot(entry, color=blue, style=linebr, linewidth=2)
plot(useStopLoss, color=red, style=linebr, linewidth=2)
plot(useTakeProfit, color=green, style=linebr, linewidth=2)


//Entires
strategy.entry(id = "Long", long = true, when = allConditions) // use function or simple condition to decide when to get in

//Exits
//if (barssince(allConditions) == 2)
    //strategy.close("Long")
//else
strategy.exit("Exit Long", from_entry = "Long", stop = useStopLoss)







Mais.