
A estratégia é uma estratégia de negociação de futuros SP500 simples, baseada no IBS e no Pico do Período Circular. Ela emite um sinal de negociação apenas no início da segunda-feira, usando o IBS abaixo de 0,5 e o preço abaixo do preço de fechamento da sexta-feira passada para determinar o momento de entrada. Depois disso, a posição será liquidada após 5 dias de negociação.
A estratégia baseia-se em dois indicadores:
IBS - Indicador de volatilidade intradiária, usado para avaliar se a volatilidade do dia é baixa o suficiente. O método de cálculo é: ((Preço de fechamento - preço mais baixo) / (preço mais alto - preço mais baixo). Quando o IBS é inferior a 0,5, considera-se que a volatilidade é baixa e é adequada para entrar no mercado.
Ponto de fechamento de segunda-feira - Use o preço de fechamento de sexta-feira passada como ponto de referência. Se o preço de fechamento de segunda-feira corrente estiver abaixo do preço de fechamento de sexta-feira passada, uma reversão pode ser formada e gerar uma oportunidade de negociação.
As condições de admissão são: segunda-feira + IBS < 0,5 + preço de fechamento < preço de fechamento na sexta-feira passada.
A condição de saída é: 5 dias de negociação após o fechamento ou no dia seguinte a abertura do mercado, o ponto mais alto será imediatamente recuperado.
A estratégia tem as seguintes vantagens:
A estratégia também apresenta alguns riscos:
A estratégia pode ser melhorada em vários aspectos:
Aumentar a confirmação de mais indicadores técnicos e aumentar a precisão do sinal. Por exemplo, aumentar a lógica de julgamento de indicadores como tendências de curto prazo, níveis de pressão de suporte e volume de transação.
Configurar condições de saída dinâmicas, de acordo com a flutuação em tempo real, para definir o preço de parada ou parada. Evitar perdas adicionais causadas pelo tempo fixo.
Ampliar o período de negociação estratégica, não limitado às segundas-feiras. Configurar condições de entrada razoáveis para outros dias de negociação, aumentar a cobertura do sinal.
A introdução de um módulo de gerenciamento de risco, o uso de estratégias de stop loss para controlar a retirada. Pode ser configurado para otimizar o stop loss flutuante, o stop loss de rastreamento, etc.
Esta estratégia é, em geral, uma estratégia de negociação de linha curta e simples baseada no IBS e na estrutura do perímetro do dia. A estratégia é clara, simples de implementar e fácil de controlar o risco. Mas também há um problema de erro de sinal de certa probabilidade e potencial retração excessiva. O espaço para otimização futura está em adicionar mais julgamentos de indicadores técnicos, configuração de mecanismos de parada de perdas dinâmicas, etc.
/*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")