IBS e estratégia semanal de negociação de futuros de alta base SP500

Autora:ChaoZhang, Data: 2024-01-15 14:42:00
Tags:

img

Resumo

Esta é uma estratégia de negociação de futuros SP500 simples baseada no índice de volatilidade intradiário IBS e máximos semanais.

Princípio da estratégia

A estratégia julga principalmente com base em dois indicadores:

  1. IBS - Intraday Breadth Strength, usado para determinar se a volatilidade do dia é baixa o suficiente. O método de cálculo é: (close - low) / (high - low).

  2. Se o fechamento desta segunda-feira for inferior ao fechamento da última sexta-feira, pode formar uma inversão e gerar oportunidades de negociação.

As condições de entrada são: segunda-feira + SII < 0,5 + fechamento < última sexta-feira fechamento.

As condições de saída são: fechar em 5 dias de negociação ou abrir a inversão do ponto máximo no dia seguinte.

Vantagens da estratégia

As principais vantagens desta estratégia são:

  1. A lógica estratégica é simples e clara, fácil de compreender e implementar.
  2. Os sinais só podem ser emitidos na segunda-feira de abertura, evitando a troca excessiva.
  3. Utilize o indicador IBS para determinar a volatilidade intradiária, que é boa para bloquear o ponto de virada das tendências.
  4. A referência da estrutura semanal é simples e eficaz para julgar se se forma uma inversão.
  5. O controlo do risco está em vigor com uma utilização limitada.

Riscos estratégicos

Esta estratégia apresenta também alguns riscos:

  1. As avaliações do IBS e da estrutura semanal baseiam-se exclusivamente em indicadores técnicos, o que pode causar erros de avaliação.
  2. O prazo fixo de saída de 5 dias pode conduzir a ganhos ou perdas adicionais.
  3. A negociação apenas às segundas-feiras tem um ciclo forte, com pouca frequência de sinal, facilmente perdendo sinais em outros momentos.
  4. O controlo do aproveitamento pode ser inadequado, com um aproveitamento máximo excessivo.

Optimização da Estratégia

A estratégia pode ser otimizada nos seguintes aspectos:

  1. Aumentar a confirmação de indicadores técnicos para melhorar a precisão do sinal, tais como tendências de curto prazo, suporte/resistência, volume e outras lógicas de julgamento.

  2. Definir condições de saída dinâmicas baseadas em flutuações em tempo real para definir o preço stop loss ou take profit.

  3. Expandir o prazo de negociação da estratégia em vez de se limitar às segundas-feiras.

  4. Introduzir módulos de gerenciamento de risco para controlar os drawdowns usando estratégias de stop loss.

Conclusão

Em geral, esta estratégia é uma estratégia de negociação de curto prazo simples baseada em indicadores de IBS intradiários e julgamentos de estrutura semanal. A ideia da estratégia é clara, fácil de implementar com riscos controláveis. Mas também há certas probabilidades de erros de julgamento de sinal e possíveis problemas de desvantagem excessivos. Espaços de otimização futuros estão na adição de mais indicadores técnicos, estabelecendo mecanismos de stop loss dinâmicos e assim por diante. Ao testar e otimizar continuamente, melhore gradualmente a taxa de ganho e a lucratividade da estratégia.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © hobbiecode

// Today is Monday.
// The close must be lower than the close on Friday.
// The IBS must be below 0.5.
// If 1-3 are true, then enter at the close.
// Sell 5 trading days later (at the close).

//@version=5
strategy("Hobbiecode - SP500 IBS + Higher", overlay=true)

// Check if it's Monday
isMonday = dayofweek(time) == dayofweek.monday

// Calculate the IBS (Intraday Breadth Strength) indicator
ibs = (close - low) / (high - low)

// Calculate the close on the previous Friday
prevFridayClose = request.security(syminfo.tickerid, "W", close[1])

// Entry conditions
enterCondition = isMonday and close < prevFridayClose and ibs < 0.5 and strategy.position_size < 1 

// Exit conditions
exitCondition = (close > high[1] or ta.barssince(enterCondition) == 4) and strategy.position_size > 0 

// Entry signal
if enterCondition
    strategy.entry("Buy", strategy.long)

// Exit signal
if exitCondition
    strategy.close("Buy")

// Plotting the close, previous Friday's close, and entry/exit points on the chart
plot(close, title="Close", color=color.blue)
plot(prevFridayClose, title="Previous Friday Close", color=color.orange)
plotshape(enterCondition, title="Enter", location=location.belowbar, color=color.green, style=shape.labelup, text="Enter")
plotshape(exitCondition, title="Exit", location=location.abovebar, color=color.red, style=shape.labeldown, text="Exit")






Mais.