A ideia principal desta estratégia é gerar sinais de negociação utilizando o indicador Supertrend em vários intervalos de tempo e combiná-lo com um filtro intradiário para compensar as posições abertas durante o dia, a fim de implementar negociações em vários intervalos de tempo e melhorar a qualidade do sinal.
A estratégia primeiro chama a função supertrend, passando nos parâmetros mult e len, para gerar a linha Supertrend superTrend e direção dir. Em seguida, traça o gráfico da linha Supertrend. O parâmetro de entrada intraday controla se as posições abertas devem ser quadradas intradiariamente.
As regras de geração de sinal são: quando o preço de fechamento está acima da linha Supertrend, um sinal de compra é gerado; quando o preço de fechamento está abaixo da linha Supertrend, um sinal de venda é gerado. Quando um sinal de compra é recebido, uma ordem de compra será executada para abrir uma posição longa; quando um sinal de venda é recebido, uma ordem de venda será executada para abrir uma posição curta.
A maior vantagem desta estratégia é que usa o indicador Supertrend simples, mas prático para implementar geração de sinais de negociação de vários prazos.
Além disso, a estratégia é muito concisa, implementa a lógica central com muito pouco código, que é fácil de entender, modificar e expandir.
O principal risco desta estratégia é que o indicador Supertrend tem algum atraso, o que pode levar a perdas adicionais.
Para mitigar esses riscos, é recomendado otimizar os parâmetros de Supertrend mult e len para encontrar a combinação ideal de parâmetros. Outros indicadores também podem ser testados para complementar a Supertrend e utilizar mais fatores para melhorar a estabilidade da estratégia. Além disso, o tempo fixo de quadrado intradiário pode ser removido e um mecanismo dinâmico pode ser usado para determinar o tempo de quadrado com base em condições de volatilidade.
As principais direcções de otimização desta estratégia incluem:
Teste múltiplos conjuntos de parâmetros Supertrend para encontrar a combinação de parâmetros ideal.
Adicione outros indicadores técnicos como padrões de velas, média móvel etc. para filtrar sinais com mais fatores.
Otimizar e ajustar dinamicamente o calendário específico de liquidação intradiária para reduzir a liquidação prematura.
Adicionar mecanismos de stop loss, como stop loss em percentagem fixa ou ATR.
Testar estratégias adequadas de utilização do capital e de dimensionamento das posições.
Backtest período de tempo mais longo para verificar a robustez dos parâmetros.
Em resumo, esta estratégia de backtest multi-tempo Supertrend é muito prática. Implementa negociação multi-tempo com o simples indicador Supertrend e controla perdas com o filtro intradiário. Há um grande espaço para otimização e os usuários podem ajustar parâmetros ou combiná-los com outros indicadores técnicos de acordo com suas necessidades. O desempenho do backtest também é relativamente estável e confiável. Em geral, esta estratégia é adequada para negociação de tendências de médio e longo prazo, e também é boa para iniciantes aprenderem e praticarem modificações.
/*backtest start: 2023-11-27 00:00:00 end: 2023-12-04 00:00:00 period: 45m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //@Gurjant_Singh IISMA-Indian Institute of stock Market Analysis strategy("SupterTrend ", overlay=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=300, calc_on_order_fills=false, calc_on_every_tick=false) mult = input(type=input.float, defval=3) len = input(type=input.integer, defval=5) [superTrend, dir] = supertrend(mult, len) plot(superTrend) intrady = input(false, "Do you want to exit intrday position", type = input.bool) IntraDay_SquareOff = minute >= 45 and hour >= 14 buy = close > superTrend sell = close < superTrend if buy strategy.entry("Buy", true) if sell strategy.entry("sell", false) if intrady and IntraDay_SquareOff strategy.close("buy") strategy.close("sell")