Estratégia de avanço da diferença de valor justo

Autora:ChaoZhang, Data: 2024-02-20 15:47:05
Tags:

img

Resumo

Esta é uma estratégia de tendência muito simples. Vai longo quando um FVG de alta aparece e fechar ou ficar curto quando um FVG de baixa aparece. Não tem um bom desempenho em mercados de gama, mas pode ser muito lucrativo em mercados de tendência.

Estratégia lógica

A lógica central da estratégia é identificar o padrão de diferença de valor justo. O chamado falha de valor justo refere-se quando o preço mais alto hoje é menor do que o preço mais baixo do dia anterior, ou quando o preço mais baixo hoje é maior do que o preço mais alto do dia anterior, uma falha de ruptura será formada. Isso geralmente sinaliza uma possível reversão da tendência para a frente. Especificamente, as regras da estratégia são:

  1. Se o preço mais elevado de hoje for inferior ao preço mais baixo de há 2 dias e o preço de fechamento for inferior ao preço mais baixo de há 2 dias, considera-se que se formou uma diferença de valor justo de baixa, e é adotado um acordo de curto prazo.

  2. Se o preço mais baixo de hoje for superior ao preço mais alto de 2 dias atrás e o fechamento for superior ao preço mais alto de 2 dias atrás, considera-se que se formou uma diferença de valor justo de alta, vá longo.

Neste caso, são utilizados dois lags, que são o preço mais alto e o mais baixo dos dois bares anteriores para julgar a diferença de valor justo, evitando assim ser afetado por falsas rupturas ou retrações de curto prazo e melhorando a fiabilidade e a qualidade do reconhecimento de padrões.

Vantagens

  1. A identificação de padrões adequados de diferença de justo valor pode prever possíveis reversões de tendência futuras.
  2. A lógica e as regras da estratégia são simples, claras e fáceis de compreender e implementar.
  3. Pode captar rapidamente novas oportunidades de tendência.

Riscos

  1. O reconhecimento do padrão de diferença de valor justo não é completamente preciso. Podem também ocorrer sinais falsos se houver um callback a curto prazo.
  2. A estratégia incorrerá em perdas quando a tendência se inverter, pelo que são necessárias perdas de parada oportunas para cobrir os riscos.
  3. O seu desempenho é fraco nos mercados de gama, com mais sinais falsos e pequenas perdas.

Orientações de otimização

  1. Otimizar o mecanismo de stop loss. ATR dinâmico pode ser usado para alcançar o controle de risco dinâmico.
  2. Otimizar as condições de filtragem. A fiabilidade das rupturas das diferenças de valor justo pode ser julgada com base em fatores como volume e médias móveis.
  3. Incorporar modelos multifatores para prever probabilidades de tendências futuras.

Conclusão

Esta estratégia identifica a formação de lacunas de valor justo para determinar se as tendências podem reverter. Ela pertence à estratégia básica de tendência. A vantagem é que pode capturar o momento das inversões de tendência com mais precisão. Mas também há certos sinais falsos. Os riscos podem ser controlados através de stop losses e filtragem. Mais fatores também podem ser incorporados para melhorar a precisão do julgamento.


/*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



Mais.