Backtesting no Excel vs MQL4 Inscrito em Jul 2011 Status: Membro 4 Posts Alguém faz backtesting no Excel, ou conhece membros que eu gostaria de discutir metodologia e modelos com quem usa o Excel. Alguém tem algum modelo simples (ou complexo) que eles estariam dispostos a compartilhar para indicadores ou sistemas básicos Or. Devo dedicar algum tempo a aprender MQL4. Tenho muita experiência em modelagem no Excel, mas não tenho experiência na programação de computadores. Estou relutante em passar tempo aprendendo o MQL4, pois não vou começar, mas talvez isso seja mais fácil. Existe algum outro não programador lá fora, que se tornou proficiente em MQL4 Juntado em outubro de 2007 Status: Membro 92 Posts O Excel é uma ferramenta poderosa. Embora seja projetado para funcionar como folha de propagação e modelagem, etc., as pessoas o usaram para fazer todos os tipos de coisas incríveis, incluindo AI, bases de dados, etc., apesar de ferramentas especializadas projetadas especificamente para essas tarefas. O MQL4 é um idioma bastante bruto, mas é projetado especificamente para negociação e, portanto, tem muitas coisas específicas para essa tarefa. Enquanto há um debate em curso sobre a eficácia do testador de estratégia como uma ferramenta de teste de volta, estou certo de que você estará de volta testando dez vezes mais rápido com o MQL4 mesmo se você tiver que aprender o idioma do zero. Você provavelmente já está familiarizado com muitos conceitos de programação fundamentais, como loops e declarações condicionais. Para a rota do Excel, você pode querer procurar ferramentas que já estão disponíveis, seja surpreendido se alguém já tenha feito isso. Se você não consegue encontrar algo pronto, você terá que primeiro projetar um simulador de comércio, lidar com o relatório, processar seus dados históricos e ter uma UI razoável. Tudo isso vem gratuitamente com MT4. Junte-se a outubro de 2007 Status: Membro 887 Posts Qualquer coisa envolvendo cálculos que faço no Excel, feito há anos. No entanto, não tenho certeza de que você tirará algo de meus modelos, pois eles são específicos do que estou fazendo. O Excel é muito mais flexível e transparente, para que você possa interrogar e verificar os dados corretamente. Para o não programador é dourado. Apenas como um exemplo, quanto tempo demoraria, você derrubaria uma EA que mostra a volatilidade média de qualquer hora dada nos últimos 14 dias. Não estou dizendo que é impossível - não tenho ideia - mas no Excel, uma tabela dinâmica e 5 minutos depois e você está pronto. Onde o Excel cai é na negociação ao vivo - ele não joga bem em hooking em outras plataformas de negociação (FXCM IBCurrenex), mas para backtesting, isso não importa. Registrado julho 2009 Status. Ou cerca de 216 Posts Quando comecei a fazer minha própria análise, comecei com o Excel, pois não tinha experiência em programação e achava o VBA mais fácil de aprender do que o MQL4. Agora eu uso uma combinação de ambos. Na minha experiência limitada, o MQL4 é mais rápido na realização de cálculos que o Excel, em particular se sua folha do Excel fizer uso de muitas funções definidas pelo usuário. Um dos meus projetos em andamento é construir uma planilha para analisar instrumentos diferentes de 70 anos em prazos semanais e diários. No começo, pensei que eu usaria o MQL4 para escrever arquivos. csv de informações do OHLC para cada instrumento e prazo, depois criei os números no Excel. Inábil - demorando alguns minutos para recalcular Então, agora eu executo todos os calcs em MT4 e depois escrevo apenas dois arquivos. Excel é então a UI e não há espera em calcs. Suponho que o que estou recebendo é que se você pode usar os dois, então você está se dando a capacidade de usar o que for mais adequado à tarefa que você definiu. Apenas meus 2 pence. Registrado em maio de 2006 Status: Somente um nome de usuário. 1.367 Posts Ive tentou esses métodos ao longo dos anos: MT4 Strategy Tester Programas Custom Python OpenOffice Calc (compatível com Excel) Cada EA possui suas próprias características, mas, geralmente, Ive teve os melhores resultados com MT4 IndicatorsScripts. Se você pode criar um indicador que duplique as ações de uma determinada EA, é possível transformar esse indicador em uma ferramenta de análise. Todas as EAs não se prestam a esta abordagem, mas se você tiver uma que faz, fornecerá resultados quase instantâneos (não é preciso para o pip, mas próximo o suficiente) e economizar ter que mexer com arquivos csv ou outras técnicas de interface mais complexas. IMHO, deixe a natureza da EA que você está testando ditar o melhor método de teste. O antigo Benjamin estava certo06172013 A última versão do TraderCode (v5.6) inclui novos indicadores de Análise Técnica, Gráfica de Ponto e Figura e Teste de Estratégia. 06172013 Última versão do NeuralCode (v1.3) para Neural Networks Trading. 06172013 ConnectCode Barcode Font Pack - permite códigos de barras em aplicativos de escritório e inclui um suplemento para o Excel que suporta a geração em massa de códigos de barras. 06172013 InvestmentCode, um conjunto abrangente de calculadoras e modelos financeiros para o Excel está agora disponível. 09012009 Lançamento do Investimento Livre e Calculadora Financeira para Excel. 0212008 Lançamento do SparkCode Professional - add-in para criar Dashboards no Excel com sparklines 12152007 Anunciando ConnectCode Duplicate Remover - um poderoso add-in para encontrar e remover entradas duplicadas no Excel 09082007 Lançamento do TinyGraphs - add-in de fonte aberta para criar sparklines e minúsculo Gráficos em Excel. Estratégia Backtesting no Excel Estratégia Backtesting Expert O Backtesting Expert é um modelo de planilha que permite criar estratégias de negociação usando os indicadores técnicos e executando as estratégias através de dados históricos. O desempenho das estratégias pode então ser medido e analisado de forma rápida e fácil. Durante o processo de backtesting, o Expert Backtesting percorre os dados históricos seguidos por linha, de cima para baixo. Cada estratégia especificada será avaliada para determinar se as condições de entrada são atendidas. Se as condições forem satisfeitas, uma negociação será inserida. Por outro lado, se as condições de saída forem satisfeitas, uma posição que foi inserida anteriormente será encerrada. Diferentes variações de indicadores técnicos podem ser geradas e combinadas para formar uma estratégia comercial. Isso torna o Backtesting Expert uma ferramenta extremamente poderosa e flexível. Expert Backtesting O Backtesting Expert é um modelo de planilha que permite criar estratégias de negociação usando os indicadores técnicos e executando as estratégias através de dados históricos. O desempenho das estratégias pode então ser medido e analisado de forma rápida e fácil. O modelo pode ser configurado para entrar em posições longas ou curtas quando determinadas condições ocorrem e sair das posições quando outro conjunto de condições forem atendidas. Ao negociar automaticamente em dados históricos, o modelo pode determinar a lucratividade de uma estratégia de negociação. Backtesting Expert Step by Step Tutorial 1. Inicie o Backtesting Expert O Backtesting Expert pode ser iniciado a partir do Menu Iniciar do Windows - Programas - TraderCode - Backtesting Expert. Isso lança um modelo de planilha com múltiplas planilhas para gerar indicadores de análise técnica e executar testes nas diferentes estratégias. Você notará que o Backtesting Expert inclui muitas planilhas conhecidas como DownloadedData, AnalysisInput, AnalysisOutput, ChartInput e ChartOutput do modelo Expert de análise técnica. Isso permite que você execute todos os seus testes de volta rapidamente e facilmente a partir de um ambiente de planilha familiar. 2. Primeiro, selecione a planilha DownloadedData. Você pode copiar dados de qualquer planilha ou arquivos de valores separados por vírgula (csv) para esta planilha para análise técnica. O formato dos dados é como mostrado no diagrama. Como alternativa, você pode consultar o documento Download Stock Trading Data para baixar dados de fontes de dados bem conhecidas, como o Yahoo Finance, o Google Finance ou o Forex para uso no Backtesting Expert. 3. Depois de copiar os dados, vá para a planilha do AnalysisInput e clique no botão Analisar e BackTest. Isso gerará os diferentes indicadores técnicos na folha de cálculo AnalysisOutput e realizará backtesting nas estratégias especificadas na folha de cálculo StrategyBackTestingInput. 4. Clique na folha de cálculo StrategyBackTestingInput. Neste tutorial, você só precisará saber que especificamos estratégias longas e curtas usando passagens médias móveis. Entraremos em detalhes sobre a especificação de estratégias na próxima seção deste documento. O diagrama abaixo mostra as duas estratégias. 5. Uma vez concluídos os testes de volta, a saída será colocada nas folhas de cálculo AnalysisOutput, TradeLogOutput e TradeSummaryOutput. A folha de cálculo AnalysisOutput contém os preços históricos completos e os indicadores técnicos do stock. Durante os testes de volta, se as condições para uma estratégia são satisfeitas, informações como o preço de compra, preço de venda, comissão e lucros serão registrados nesta planilha para facilitar a referência. Esta informação é útil se você gosta de rastrear através das estratégias para ver como as posições de ações são inseridas e saídas. A planilha TradeLogOutput contém um resumo das operações realizadas pelo Backtesting Expert. Os dados podem ser facilmente filtrados para mostrar apenas dados para uma estratégia específica. Esta planilha é útil para determinar o lucro ou a perda global de uma estratégia em períodos diferentes. A saída mais importante das provas de volta é colocada na planilha do TradeSummaryOutput. Esta planilha contém o lucro total das estratégias implementadas. Conforme mostrado no diagrama abaixo, as estratégias geraram um lucro total de 2.548,20, totalizando 10 negócios. Destes negócios, 5 são posições longas e 5 são posições curtas. O Ratio winloss de mais de 1 indica uma estratégia lucrativa. Explicação das diferentes planilhas Esta seção contém a explicação detalhada das diferentes planilhas no modelo Expert Backtesting. As folhas de cálculo DownloadedData, AnalysisInput, AnalysOutput, ChartInput e ChartOutput são as mesmas do modelo Expert de Análise Técnica. Assim, eles não serão descritos nesta seção. Para obter uma descrição completa dessas planilhas, consulte a seção Expert de Análise Técnica. StrategyBackTestingInput worksheet Todas as entradas para backtesting incluindo as estratégias são inseridas usando esta planilha. Uma estratégia é basicamente um conjunto de condições ou regras que você vai comprar em um estoque ou vender um estoque. Por exemplo, você pode querer executar uma estratégia para ir Long (comprar ações) se a média móvel de 12 dias do preço cruza acima da média móvel de 24 dias. Esta planilha trabalha em conjunto com os indicadores técnicos e dados de preço na planilha AnalysisOutput. Daí, os indicadores técnicos de média móvel devem ser gerados para ter uma estratégia de negociação baseada na média móvel. A primeira entrada requerida nesta planilha (como mostrado no diagrama abaixo) é especificar se a saída de todos os negócios no final da sessão de teste posterior. Imagine o cenário em que as condições para a compra de um estoque ocorreram e o Expert de Backtesting entrou em um comércio longo (ou curto). No entanto, o período de tempo é demasiado curto e terminou antes do comércio pode satisfazer as condições de saída, resultando em alguns comércios não saiu quando a sessão backtesting termina. Você pode configurar isso para Y para forçar todas as negociações a serem encerradas no final da sessão de teste. Caso contrário, os negócios serão deixados abertos quando backtesting sessão termina. Estratégias Um máximo de 10 estratégias podem ser suportadas em uma única prova de volta. O diagrama abaixo mostra as entradas necessárias para especificar uma estratégia. Iniciais de Estratégia - Esta entrada aceita um máximo de dois alfabetos ou números. As iniciais de estratégia são usadas nas planilhas AnalysisOutput e TradeLog para identificar as estratégias. Longo (L) Curto (S) - Isso é usado para indicar se deseja inserir uma posição Longa ou Curta quando as condições de entrada da estratégia forem atendidas. Condições de entrada Um comércio longo ou curto será inserido quando as Condições de Entrada forem atendidas. As Condições de Entrada podem ser expressas como uma expressão de fórmula. A expressão de fórmula diferencia maiúsculas de minúsculas e pode usar Funções, Operadores e Colunas conforme descrito abaixo. Crossabove (X, Y) - Retorna True se a coluna X cruzar acima da coluna Y. Esta função verifica os períodos anteriores para garantir que um crossover realmente ocorreu. Crossbelow (X, Y) - Retorna True se a coluna X cruzar abaixo da coluna Y. Esta função verifica os períodos anteriores para garantir que um crossover realmente tenha ocorrido. E (logicalexpr,) - Boolean E. Retorna True se todas as expressões lógicas forem verdadeiras. Ou (logicalexpr,) - Booleano Or. Retorna True se alguma das expressões lógicas for True. Daysago (X, 10) - Retorna o valor (na coluna X) de 10 dias atrás. Previoushigh (X, 10) - Retorna o valor mais alto (na coluna X) dos últimos 10 dias, inclusive hoje. Previouslow (X, 10) - Retorna o valor mais baixo (na coluna X) dos últimos 10 dias, inclusive hoje. Operadores Maior que Igual Não igual Maior ou igual Subtração Multiplicação Divisão Colunas (de AnalysisOutput) A - Coluna AB - Coluna BC .. .. YY - Coluna YY ZZ - Coluna ZZ Esta é a parte mais interessante e flexível da entrada Condições. Ele permite que as colunas da planilha AnalysisOutput sejam especificadas. Quando os testes de retorno forem realizados, cada linha da coluna será usada para avaliação. Por exemplo, A 50 significa que cada uma das linhas na coluna A da folha de cálculo AnalysisOutput será determinada se é maior do que 50. AB Neste exemplo , Se o valor na coluna A na folha de cálculo AnalysisOutput for maior ou igual ao valor da coluna B, a condição de entrada será satisfeita. E (A B, CD) Neste exemplo, se o valor na coluna A na folha de cálculo AnalysisOutput for maior do que o valor da coluna B eo valor da coluna C for maior que a coluna D, a condição de entrada será satisfeita. Crossabove (A, B) Neste exemplo, se o valor da coluna A na folha de cálculo AnalysisOutput cruza acima do valor de B, a condição de entrada será satisfeita. Crossabove significa que A originalmente tem um valor que é menor ou igual a B eo valor de A posteriormente se torna maior que B. Condições de Saída As Condições de Saída podem usar Funções, Operadores e Colunas conforme definido nas condições de entrada. Além disso, ele também pode fazer uso de variáveis como mostrado abaixo. Variables for Exit Condições lucro Isso é definido como o preço de venda menos o preço de compra. O preço de venda deve ser maior do que o preço de compra para um lucro a ser feito. Caso contrário, o lucro será zero. Perda É definido como o preço de venda menos o preço de compra quando o preço de venda é inferior ao preço de compra. Preço de compra (preço de venda - preço de compra) preço de compra Nota. O preço de venda deve ser maior ou igual ao preço de compra. Caso contrário, o lucro será zero. Losspct (preço de venda - preço de compra) preço de compra. O preço de venda deve ser inferior ao preço de compra. Caso contrário, losspct será zero. Exemplos profitpct 0.2 Neste exemplo, se o lucro em termos de percentagem for superior a 20, as condições de saída serão satisfeitas. Comissão - Comissão em termos de uma percentagem do preço de negociação. Se o preço de negociação é de 10 e a Comissão é de 0,1, a comissão será 1. A comissão de porcentagem e a comissão em dólares serão resumidas para calcular a comissão total. Comissão em dólares. O percentual de comissão e comissão em dólares será somado para calcular o total da comissão. Número de Ações - Número de ações para comprar ou vender quando as condições de entrada da estratégia são atendidas. Folha de trabalho TradeSummaryOutput Esta é uma planilha que contém um resumo de todos os negócios realizados durante os testes de volta. Os resultados são classificados em Long and Short Trades. Uma descrição de todos os campos pode ser encontrada abaixo. Total Lucro - Resultado total após a comissão. Este valor é calculado somando todos os lucros e perdas de todas as operações simuladas no back test. Total de Lucros antes da Comissão - Resultado total antes da comissão. Se a comissão for definida como zero, este campo terá o mesmo valor que Total ProfitLoss. Comissão Total - Comissão total exigida para todas as operações simuladas durante o backtest. Número total de operações - Número total de negócios realizados durante o teste de volta simulado. Número de Negociações vencedoras - Número de negócios que fazem lucro. Número de negócios perdidos - Número de negócios que causam prejuízo. Negociações premiadas por porcentagem - Número de negociações vencedoras divididas por número total de negócios. Percentagem de negócios perdidos - Número de negócios perdedores dividido pelo número total de negócios. Comércio vencedor médio - O valor médio dos lucros dos negócios vencedores. Perda média de comércio - O valor médio das perdas dos negócios perdidos. Comércio médio - O valor médio (lucro ou perda) de um único comércio do teste de volta simulado. O maior comércio vencedor - O lucro do maior comércio vencedor. Maior perda de comércio - A perda do maior comércio perdedor. Ratio de perda média de winaverage - Média de negociação vencedora dividida pelo Perda de Perdas Médicas. Ratio winloss - Soma de todos os lucros nos comércios vencedores dividido pela soma de todas as perdas nos comércios perdedores. Uma razão maior do que 1 indica uma estratégia lucrativa. Folha de cálculo TradeLogOutput Esta planilha contém todos os negócios simulados pelo Expert Backtesting ordenados pela data. Ele permite que você faça zoom em qualquer comércio ou intervalo de tempo específico para determinar a rentabilidade de uma estratégia rápida e facilmente. Data - A data em que uma posição longa ou curta é inserida ou encerrada. Estratégia - A estratégia utilizada para a execução desse comércio. Posição - A posição do negócio, se Long ou Short. Comércio - Indica se este comércio está comprando ou vendendo ações. Ações - Quantidade de ações negociadas. Preço - O preço em que as ações são compradas ou vendidas. Comm. - Comissão total para este comércio. PL (B4 Comm.) - Lucro ou perda antes da comissão. PL (Aft Comm.) - Lucro ou perda após a comissão. Porra. PL (Aft Comm.) - Resultado acumulado após comissões. Isso é calculado como o lucro acumulado total do primeiro dia de uma negociação. PL (na posição de fechamento) - Lucro ou perda quando a posição está fechada (saiu). Tanto a comissão de entrada como a comissão de saída serão contabilizadas neste PL. Por exemplo, se temos uma posição Longa onde o PL (B4 Comm.) É 100. Assumindo que quando a posição é inserida, uma comissão 10 é cobrada e quando a posição é saida, outra comissão de 10 é carregada. O PL (na posição de fecho) é 100-10-10 80. Tanto a comissão ao entrar na posição e sair da posição são contabilizadas na posição fechada. Voltar para TraderCode Technical Analysis Software e Indicadores Técnicos
No comments:
Post a Comment