
Esta é uma estratégia muito simples de acompanhamento de tendências. Ela faz mais quando há uma diferença de preços de equilíbrio de múltiplas cabeças, e se esvaziar ou fechar quando há uma diferença de preços de equilíbrio de cabeças vazias.
A lógica central da estratégia é identificar a forma de equilíbrio de preços. O chamado equilíbrio de preços de equilíbrio, ou seja, o preço mais alto do dia é menor que o preço mais baixo do dia anterior, ou o preço mais baixo do dia é maior que o preço mais alto do dia anterior, formando um intervalo de ruptura de equilíbrio. Isso geralmente indica uma possível reversão de tendência.
Aqui são usados dois lags, ou seja, os preços altos e baixos das duas primeiras linhas K para julgar o equilíbrio de preços, para evitar a influência de falsas rupturas ou reajustes de curto prazo, aumentando a confiabilidade do julgamento de forma e a qualidade do sinal.
Esta estratégia identifica a formação de uma diferença de preço justo para julgar a tendência pode ocorrer uma reversão, pertence à estratégia de seguimento de tendência básica. O benefício é que o tempo de captura de uma reversão de tendência é mais preciso, mas também existe uma certa taxa de erro.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Greg_007
//@version=5
strategy("Fair Value Gap Strategy", "FVG Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding = 1)
var longOnly = input.bool(false, "Take only long trades?")
var pyramid = input.bool(false, "Since this can generate a lot of trades, make sure to fill in the commission (if applicable) for a realistic ROI.", group = "REMINDERS")
var pyramid2 = input.bool(false, "Modify pyramiding orders to increase the amount of trades.", group = "REMINDERS")
var bearFVG = false
var bullFVG = false
var plotBull = false
var plotBear = false
var bearTrend = false
var bullTrend = false
//BEARISH FVG
if high < low[2] and close[1] < low[2]
bullFVG := false
bearFVG := true
plotBear := true
if not longOnly
strategy.entry("Short", strategy.short)
else
strategy.close_all()
else
//BULLISH FVG
if low > high[2] and close[1] > high[2]
bullFVG := true
bearFVG := false
plotBull := true
strategy.entry("Long", strategy.long)
// plotshape(plotBull, style=shape.labeldown, location=location.abovebar, color=color.green, text="FVG",textcolor=color.white, size=size.tiny, title="Bull FVG", display=display.all - display.status_line)
// plotshape(plotBear, style=shape.labelup, location=location.belowbar, color=color.red, text="FVG",textcolor=color.white, size=size.tiny, title="Bear FVG", display=display.all - display.status_line)
// //reset the status
// plotBull := false
// plotBear := false