Estratégia personalizada de início de backtest
Visão Geral
O objetivo desta estratégia é permitir que o usuário personalize o horário de início do backtest, possibilitando uma simulação mais flexível e personalizada.
Princípio da Estratégia
Esta estratégia utiliza as funções time e timestamp do Pine Script para implementar um horário de início de backtest personalizado.
Primeiro, permite que o usuário insira, nas configurações, o ano, mês, dia, hora e minuto personalizados para iniciar o backtest. Em seguida, utiliza essas entradas para gerar um carimbo de data/hora, armazenado na variável startTime.
Na condição da estratégia, é adicionada uma nova condição startTime. A estratégia só será iniciada quando o tempo atual for maior ou igual a startTime.
Por exemplo:
pine
longCondition = crossover(sma(close, 14), sma(close, 28))
if (longCondition and startTime)
strategy.entry("My Long Entry Id", strategy.long)
Dessa forma, é possível implementar um horário de início de backtest personalizado. O usuário pode configurar livremente o horário de início do backtest conforme necessário, sem ficar limitado a horários fixos no código.
Análise de Vantagens
Esta estratégia de horário de início personalizado para backtest apresenta as seguintes vantagens:
-
Mais flexibilidade: O usuário pode personalizar completamente o horário de início do backtest, sem estar restrito a um ponto fixo no tempo.
-
Mais realismo: É possível definir o horário de início do backtest como o momento real em que a estratégia seria executada, tornando a simulação mais próxima das condições reais de mercado.
-
Facilidade para backtest orientado a eventos: Permite definir o horário de início com base na ocorrência de um evento específico, possibilitando testar a estratégia para aquele evento.
-
Facilidade de ajuste de condições: É muito conveniente ajustar as condições de início do backtest, permitindo simulações direcionadas para diferentes fases.
-
Reprodutível e confiável: Ao parametrizar o horário de início, é possível repetir a simulação e obter resultados confiáveis.
Análise de Riscos
O uso de um horário de início personalizado para backtest também apresenta alguns riscos:
-
Resultados do backtest dependentes do horário de início: Diferentes horários de início podem levar a grandes variações nos resultados do backtest.
-
Necessidade de escolha cuidadosa do horário de início: Um horário de início inadequado pode distorcer o backtest, não refletindo a realidade.
-
Aumento do risco de overfitting: É fácil ajustar o horário de início para se adequar aos dados históricos, aumentando o risco de overfitting.
-
Redução da comparabilidade dos resultados: Os resultados do backtest com horário personalizado podem não ser diretamente comparáveis aos de um backtest com horário fixo.
Soluções correspondentes:
-
Realizar múltiplos backtests, avaliando o impacto da variação do horário de início nos resultados.
-
Escolher momentos de eventos significativos como horário de início, reduzindo distorções no backtest.
-
Ajustar o horário de início com cuidado, evitando overfitting aos dados históricos.
-
Manter um backtest com horário de início fixo como referência, para comparação com o backtest personalizado.
Direções de Otimização
Esta estratégia de horário de início personalizado pode ser otimizada nos seguintes aspectos:
-
Suporte à personalização do horário de início e término, permitindo uma configuração flexível de toda a janela de tempo do backtest.
-
Suporte a múltiplos modos de tempo: data específica, data relativa, orientado a eventos, etc., tornando a configuração mais inteligente e conveniente.
-
Suporte a interface gráfica de configuração, tornando os parâmetros de tempo mais intuitivos.
-
Suporte a diferentes granularidades de tempo: ano, mês, dia, hora, minuto, segundo, etc.
-
Registro da configuração de tempo do backtest, garantindo que os resultados sejam reproduzíveis, rastreáveis e comparáveis.
-
Adição de validação para configurações inadequadas de tempo, evitando que configurações irracionais comprometam a qualidade do backtest.
-
Fornecimento de função de vínculo do horário de início, permitindo sincronizar e copiar o horário de início para múltiplas estratégias com um clique.
Conclusão
Esta estratégia implementa uma configuração personalizada e flexível do horário de início do backtest, reduzindo as limitações e aproximando a simulação das condições reais de negociação. No entanto, é preciso estar atento à dependência dos resultados do backtest em relação ao horário de início, adotando medidas como múltiplos backtests e abordagens orientadas a eventos para reduzir distorções. Esta estratégia ainda possui muitas direções de otimização, podendo no futuro oferecer uma configuração de tempo de backtest mais inteligente e conveniente.
/*backtest
start: 2022-09-19 00:00:00
end: 2023-09-25 00:00:00
period: 2d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("C320up Strategy Tester Start Time", overlay = true)
// Copy and paste below into your strategy
// Strategy Tester Start Time- 1
