0% acharam este documento útil (0 voto)
3 visualizações130 páginas

Guia do Usuário do StrategyQuant

O Guia do Usuário do StrategyQuant fornece informações sobre o software, incluindo suporte ao cliente e direitos autorais. O documento também discute os riscos associados à negociação em mercados financeiros e isenções de responsabilidade, enfatizando que o desempenho passado não garante resultados futuros. Além disso, contém termos do contrato de licença de software e limitações de responsabilidade do autor.

Enviado por

Andres Caceres
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
3 visualizações130 páginas

Guia do Usuário do StrategyQuant

O Guia do Usuário do StrategyQuant fornece informações sobre o software, incluindo suporte ao cliente e direitos autorais. O documento também discute os riscos associados à negociação em mercados financeiros e isenções de responsabilidade, enfatizando que o desempenho passado não garante resultados futuros. Além disso, contém termos do contrato de licença de software e limitações de responsabilidade do autor.

Enviado por

Andres Caceres
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Machine Translated by Google

EstratégiaQuant
Guia do usuário

Versão 3.6.1 Última atualização: 21.4.2014


Machine Translated by Google

Guia do usuário do StrategyQuant

Apoiar
Se você tiver dificuldade para entender alguma coisa, precisar de ajuda ou simplesmente tiver alguma dúvida a fazer
(relacionada ao sistema), lembre-se de que sua compra também inclui suporte.

Estamos aqui para você, você pode entrar em contato conosco em:

[Link]

Os artigos e o fórum em nosso site fornecem uma fonte adicional de conhecimento

[Link]/articles

[Link]/forum

Direitos autorais

Todos os direitos reservados.

O software StrategyQuant, as estratégias de bônus e o conteúdo deste Manual são protegidos por direitos autorais.
Você pode usá-los somente com uma licença válida.

Nenhuma parte desta publicação pode ser reproduzida, armazenada em um sistema de recuperação ou transmitida de
qualquer forma ou por qualquer meio - incluindo eletrônico, mecânico, fotocópia, gravação, digitalização ou outro - sem a
autorização prévia por escrito do autor.

© 2012-2014 Mark Fric, SonarBytes Ltd

2
Machine Translated by Google

Guia do usuário do StrategyQuant

Divulgação de Riscos

Declaração de divulgação de risco

Negociar qualquer mercado financeiro envolve risco. Este Manual não é uma solicitação nem uma oferta para Comprar/
Vender qualquer produto financeiro. O conteúdo deste Manual é apenas para fins informativos gerais.

Embora todas as tentativas tenham sido feitas para garantir a precisão, o autor não dá nenhuma garantia expressa ou implícita
quanto à sua precisão. O autor não aceita nenhuma responsabilidade por erro ou omissão. Todos os exemplos são fornecidos
apenas para fins ilustrativos e não devem ser interpretados como aconselhamento de investimento.

Não está sendo feita nenhuma representação de que qualquer conta ou trader irá ou provavelmente irá obter lucros ou perdas
semelhantes aos discutidos neste Manual. O desempenho passado não pode ser considerado indicativo de
desempenho futuro.

As informações fornecidas neste Manual não se destinam à distribuição ou uso por qualquer pessoa ou entidade em qualquer
jurisdição ou país onde tal distribuição ou uso seja contrário à lei ou regulamento ou que sujeite o autor a qualquer exigência de
registro em tal jurisdição ou país.

Resultados de desempenho hipotéticos têm muitas limitações inerentes, algumas das quais são mencionadas abaixo. Nenhuma
representação está sendo feita de que qualquer conta irá ou provavelmente irá atingir lucros ou perdas semelhantes aos mostrados.
Na verdade, frequentemente há diferenças acentuadas entre resultados de desempenho hipotéticos e resultados reais
subsequentemente alcançados por qualquer sistema de negociação específico.

Uma das limitações dos resultados hipotéticos de desempenho é que eles geralmente são preparados com o benefício da
retrospectiva. Além disso, a negociação hipotética não envolve risco financeiro e nenhum registro hipotético de negociação pode
explicar completamente o impacto do risco financeiro na negociação real.

Por exemplo, a capacidade de suportar perdas ou aderir a um programa de negociação específico apesar das perdas de negociação
são pontos materiais, que também podem afetar adversamente os resultados de negociação. Existem vários outros fatores
relacionados ao mercado em geral ou à implementação de qualquer programa de negociação específico, que não podem ser
totalmente contabilizados na preparação de resultados de desempenho hipotéticos. Todos os quais podem afetar adversamente os
resultados reais de negociação.

Isenção de responsabilidade exigida pelo governo dos EUA - Comissão de negociação de futuros de commodities A negociação de
futuros, moedas e opções tem grandes recompensas potenciais, mas também grandes riscos potenciais. Você deve estar ciente
dos riscos e estar disposto a aceitá-los para investir nos mercados de futuros e opções. Não negocie com dinheiro que você não
pode perder. Isto não é uma solicitação nem uma oferta para comprar/vender futuros ou opções. Nenhuma representação está
sendo feita de que qualquer conta irá ou provavelmente irá obter lucros ou perdas semelhantes aos discutidos neste site. O
desempenho passado de qualquer sistema ou metodologia de negociação não é necessariamente indicativo de resultados futuros.

REGRA 4.41 DA CFTC - RESULTADOS DE DESEMPENHO HIPOTÉTICOS OU SIMULADOS TÊM CERTAS LIMITAÇÕES. AO CONTRÁRIO DE UM REGISTRO DE DESEMPENHO

REAL, OS RESULTADOS SIMULADOS NÃO REPRESENTAM NEGOCIAÇÕES REAIS. ALÉM DISSO, COMO AS NEGOCIAÇÕES NÃO FORAM EXECUTADAS, OS RESULTADOS

PODEM TER SIDO SUBCOMPENSADOS OU SUPERCOMPENSADOS PELO IMPACTO, SE HOUVER, DE CERTOS FATORES DE MERCADO, COMO FALTA DE LIQUIDEZ.

PROGRAMAS DE NEGOCIAÇÃO SIMULADOS EM GERAL TAMBÉM ESTÃO SUJEITOS AO FATO DE QUE SÃO PROJETADOS COM O BENEFÍCIO DE

RETROSPETIVAMENTE. NÃO ESTÁ SENDO FEITA NENHUMA REPRESENTAÇÃO DE QUE QUALQUER CONTA IRÁ OU É PROVÁVEL QUE ALCANCE LUCROS OU PERDAS

SEMELHANTES AOS MOSTRADOS.

3
Machine Translated by Google

Guia do usuário do StrategyQuant

Isenção de garantia
Você concorda em usar este programa por sua conta e risco.

O software StrategyQuant pode falhar ou não funcionar corretamente. Todo software está sujeito a erros de programação inadvertidos e bugs incorporados no código que o

compõe. Qualquer um desses erros e bugs pode fazer com que o software no qual eles estão localizados falhe ou não funcione corretamente. O aplicativo StrategyQuant e as

estratégias de negociação geradas pelo programa estão sujeitos a esse risco. Apesar dos testes, erros e bugs inadvertidos ainda podem causar uma falha na estratégia de

negociação, resultando em erros de negociação.

VOCÊ TEM QUE ESTAR CIENTE DE QUE AS ESTRATÉGIAS DE NEGOCIAÇÃO AUTOMÁTICA PODEM FALHAR POR QUALQUER MOTIVO E

ELES PODEM RESULTAR NA PERDA DE TODO O DINHEIRO QUE VOCÊ DEPOSITOU NA CONTA DA CORRETORA

VOCÊ USA PARA NEGOCIAÇÃO AO VIVO COM BASE NOS ALGORITMOS QUE VOCÊ GEROU PELA StrategyQuant. VOCÊ DEVE DISCUTIR COM UM PROFISSIONAL
DE INVESTIMENTO OS RISCOS DA NEGOCIAÇÃO EM GERAL E DA NEGOCIAÇÃO ALGORITMICA EM PARTICULAR. VOCÊ USA QUALQUER ALGORITMO NA

NEGOCIAÇÃO AO VIVO POR SUA PRÓPRIA CONTA E RISCO E É SEU

OBRIGAÇÃO DE TESTAR COMPLETAMENTE E ADEQUADAMENTE QUALQUER ALGORITMO DE NEGOCIAÇÃO ANTES DE COLOCAR EM

PRODUÇÃO E MONITORAR CONTÍNUAMENTE A OPERAÇÃO DE QUALQUER ALGORITMO DE NEGOCIAÇÃO EM

PRODUÇÃO PARA GARANTIR QUE ESTEJA FUNCIONANDO CORRETAMENTE E EM CONFORMIDADE COM TODAS AS REGRAS APLICÁVEIS.

ISENÇÃO DE GARANTIA. O SOFTWARE É FORNECIDO "NO ESTADO EM QUE SE ENCONTRA", SEM GARANTIA DE QUALQUER

TIPO, INCLUINDO, MAS SEM LIMITAÇÃO, AS GARANTIAS DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UM DETERMINADO FIM E NÃO VIOLAÇÃO. TODO O RISCO QUANTO

À QUALIDADE E DESEMPENHO DO SOFTWARE É ASSUMIDO POR VOCÊ.

LIMITAÇÃO DE RESPONSABILIDADE. SOB NENHUMA CIRCUNSTÂNCIA E SOB NENHUMA TEORIA LEGAL, ATO ILÍCITO, CONTRATO OU OUTRO, O AUTOR OU SEUS

FORNECEDORES OU REVENDEDORES SERÃO RESPONSÁVEIS POR VOCÊ OU QUALQUER OUTRA PESSOA POR

QUAISQUER DANOS INDIRETOS, ESPECIAIS, INCIDENTAIS OU CONSEQUENCIAIS OU PUNITIVOS DE QUALQUER NATUREZA

INCLUINDO, SEM LIMITAÇÃO, DANOS POR PERDA DE BOA VONTADE, INTERRUPÇÃO DE TRABALHO,

FALHA OU MAU FUNCIONAMENTO, OU QUAISQUER OUTROS DANOS OU PERDAS COMERCIAIS. EM NENHUMA HIPÓTESE SERÁ

O AUTOR SERÁ RESPONSÁVEL POR QUAISQUER DANOS QUE EXCEDAM O PREÇO DE LISTA DO AUTOR PARA UMA LICENÇA DO SOFTWARE,

MESMO QUE O AUTOR TENHA SIDO INFORMADO DA POSSIBILIDADE DE TAIS DANOS, OU DE QUALQUER RECLAMAÇÃO POR

QUALQUER OUTRA PARTE. ESTA LIMITAÇÃO DE RESPONSABILIDADE NÃO SE APLICARÁ À RESPONSABILIDADE POR MORTE OU DANOS PESSOAIS.

DANOS NA MEDIDA EM QUE A LEI APLICÁVEL PROÍBE TAL LIMITAÇÃO. ALÉM DISSO, ALGUNS ESTADOS NÃO PERMITEM A EXCLUSÃO OU LIMITAÇÃO DE DANOS

INCIDENTAIS OU CONSEQUENCIAIS, PORTANTO ESTA LIMITAÇÃO

E A EXCLUSÃO PODE NÃO SE APLICAR A VOCÊ.

4
Machine Translated by Google

Guia do usuário do StrategyQuant

Contrato de Licença de Software

Este documento legal é um acordo entre você, o usuário final ('Usuário'), e a Sonarbytes Ltd ('Autor').

ACORDO - Ao instalar o StrategyQuant ('Software'), copiar o Software e/ou clicar no botão 'Concordo' durante a instalação, você concorda com
todos os termos deste contrato de licença de software ('Contrato').
Se você não concordar com todos os termos deste contrato, clique no botão "Não concordo" e/ou não instale, copie ou use o software.

PROPRIEDADE INTELECTUAL. O Software e quaisquer materiais associados são protegidos por lei de direitos autorais.
O pacote é um produto proprietário do Autor. O Autor retém o título e a propriedade dos direitos autorais do programa de software e dos materiais
associados. Você reconhece que o Autor possui todos os direitos, títulos e interesses no e para o Software, incluindo, sem limitação, todos os
Direitos de Propriedade Intelectual.
'Direitos de Propriedade Intelectual' significa todos e quaisquer direitos existentes de tempos em tempos sob a lei de patentes, lei de direitos
autorais, lei de segredos comerciais, lei de marcas registradas, lei de concorrência desleal e todos e quaisquer outros direitos de propriedade, e
todas e quaisquer aplicações, renovações, extensões e restaurações dos mesmos, agora ou doravante em vigor e efeito em todo o mundo.
Você concorda em não modificar, adaptar, traduzir, descompilar, fazer engenharia reversa, desmontar ou de outra forma tentar derivar o código-
fonte do Software.

REGISTRO. Este programa não é freeware nem de domínio público. O uso requer licença válida.
Entre em contato conosco em [Link] para obter licenças em massa ou preços com desconto.

CONCESSÃO. O Autor concede a você uma licença não exclusiva e intransferível para usar o Software mediante o pagamento da Taxa de Licença
até a data de expiração da licença (se houver). O Autor não garante a frequência, valor, aplicabilidade ou conteúdo de futuras atualizações ou
modificações no Software. O Software será disponibilizado a você somente em formato eletrônico para download.

O requisito de pagar uma taxa de licença não se aplica a cópias de avaliação para as quais o Autor não cobra uma taxa de licença. As licenças de
avaliação expiram 14 dias corridos a partir da data deste acordo, a menos que acordado de outra forma por escrito pelo Autor. Na data de
expiração da licença, o Usuário concorda em comprar o Software pelo preço de tabela em vigor naquele momento ou destruir todas as
cópias do Software em formato eletrônico ou outro, incluindo quaisquer cópias em fitas de backup ou outras mídias.

O uso do Software pelo Usuário será limitado ao uso em um único chassi de hardware, em uma única unidade central de processamento, conforme
aplicável, ou ao uso em um número maior de chassis ou unidades centrais de processamento, desde que o Usuário tenha pago a taxa de licença
necessária.

Você não pode: permitir que outras pessoas usem o Software, exceto sob os termos listados acima; traduzir, fazer engenharia reversa,
descompilar, descriptografar, fazer engenharia reversa, desmontar (exceto na medida em que as leis aplicáveis proíbam especificamente tal
restrição) ou criar trabalhos derivados com base no Software; copiar o Software (exceto para fins de backup); alugar, arrendar, transferir, ceder,
sublicenciar ou de outra forma transferir direitos do Software; ou remover quaisquer avisos ou rótulos de propriedade no Software.

ISENÇÃO DE GARANTIA. O SOFTWARE É FORNECIDO "NO ESTADO EM QUE SE ENCONTRA", SEM GARANTIA DE QUALQUER TIPO, INCLUINDO,
SEM LIMITAÇÃO, AS GARANTIAS DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UM DETERMINADO FIM E NÃO VIOLAÇÃO. TODO O RISCO QUANTO À
QUALIDADE E DESEMPENHO DO
O SOFTWARE É POR SUA CONTA.

LIMITAÇÃO DE RESPONSABILIDADE. SOB NENHUMA CIRCUNSTÂNCIA E SOB NENHUMA TEORIA LEGAL, ATO ILÍCITO, CONTRATO OU
OUTRO, O AUTOR OU SEUS FORNECEDORES OU REVENDEDORES SERÃO RESPONSÁVEIS PERANTE VOCÊ OU QUALQUER OUTRA
PESSOA POR QUAISQUER DANOS INDIRETOS, ESPECIAIS, INCIDENTAIS OU CONSEQUENCIAIS OU PUNITIVOS DE QUALQUER
NATUREZA, INCLUINDO, MAS SEM LIMITAÇÃO, DANOS POR PERDA DE BOA VONTADE, INTERRUPÇÃO DE TRABALHO, FALHA
OU MAU FUNCIONAMENTO DO COMPUTADOR, OU QUAISQUER OUTROS DANOS OU PERDAS COMERCIAIS. EM NENHUMA HIPÓTESE O
AUTOR SERÁ RESPONSÁVEL POR QUAISQUER DANOS QUE EXCEDAM O PREÇO DE LISTA DO AUTOR PARA UMA LICENÇA DO
SOFTWARE, MESMO QUE O AUTOR TENHA SIDO INFORMADO DA POSSIBILIDADE DE TAIS DANOS, OU POR QUALQUER RECLAMAÇÃO POR

5
Machine Translated by Google

Guia do usuário do StrategyQuant

QUALQUER OUTRA PARTE. ESTA LIMITAÇÃO DE RESPONSABILIDADE NÃO SE APLICARÁ À RESPONSABILIDADE POR MORTE OU DANOS PESSOAIS.

DANOS NA MEDIDA EM QUE A LEI APLICÁVEL PROÍBE TAL LIMITAÇÃO. ALÉM DISSO, ALGUNS ESTADOS NÃO PERMITEM A EXCLUSÃO OU LIMITAÇÃO DE DANOS

INCIDENTAIS OU CONSEQUENCIAIS, PORTANTO ESTA LIMITAÇÃO E EXCLUSÃO PODEM NÃO SE APLICAR A VOCÊ.

RESCISÃO. Esta licença será rescindida automaticamente se você não cumprir com as limitações descritas acima. Na rescisão, você deve destruir todas as cópias do

Software em formato eletrônico ou outro, incluindo quaisquer cópias em fitas de backup ou outras mídias. Após a rescisão desta Licença por qualquer motivo, você não terá

direito a reembolso total ou parcial de qualquer Taxa de Licença paga.

6
Machine Translated by Google

Guia do usuário do StrategyQuant

Índice
1 Introdução.............................................................................................................................................. 9
1.1 O que é StrategyQuant? .......................................................................................................... 9
1.2 Requisitos do sistema............................................................................................................. 11
1.3 Instalação................................................................................................................................. 12
1.3.1 Etapas pós-instalação................................................................................................... 12
1.4 Mecanismos de backtesting - NinjaTrader e MetaTrader4........................................... ................... 13
2 Como funciona?............................................................................................................................ 15
2.1 Geração aleatória de estratégias de negociação......................................................................... 15
2.2 Evolução genética .............................................................................................................. 16

2.3 Código de estratégia de exemplo .......................................................................................................... 17


2.4 Abordagem de 3 partes de dados ........................................................................................................... 18

2.5 Suporte para barras de alcance/Renko.............................................................................................. 22


2.6 Blocos de construção suportados..................................................................................................... 24
2.7 Indicadores personalizados.............................................................................................................. 25

3 Início rápido com o programa............................................................................................................. 27


3.1 Principais conceitos....................................................................................................................... 27
3.1.1 Disposição................................................................................................................................ 27
3.1.2 Bancos de dados...................................................................................................................... 28
3.1.3 Trabalhando com arquivos.......................................................................................................... 29
3.2 Fluxo de trabalho.......................................................................................................................... 30

4 Modos de programa............................................................................................................................. 33
4.1 Gerenciador de dados............................................................................................................ 33
4.1.1 Dados históricos................................................................................................................... 33
4.1.2 Indicadores personalizados.......................................................................................................... 34
4.2 Construir estratégias................................................................................................................... 35
4.3 Estratégias de reteste.............................................................................................................. 36
4.4 Melhorar estratégias................................................................................................................. 36
4.5 Otimizador................................................................................................................................... 36

5 Layout do programa............................................................................................................................. 37
5.1 Progresso................................................................................................................................ 38
5.2 Configurações.............................................................................................................................. 39
5.2.1 Dados ................................................................................................................................... 39
5.2.2 Blocos de construção................................................................................................................... 42
5.2.3 Opções de estratégia ................................................................................................................ 43
5.2.4 Opções genéticas ............................................................................................................. 46
5.2.5 Gestão de dinheiro.............................................................................................. 48
5.2.6 Testes de robustez............................................................................................................. 49
5.2.7 Opções de classificação............................................................................................................. 51
5.2.8 Partes a melhorar................................................................................................................ 53
5.2.9 Parâmetros.................................................................................................................... 54
5.2.10 Critérios de sucesso .............................................................................................................. 55

5.2.11 Opções globais ............................................................................................................... 56


5.3 Resultados................................................................................................................................... 58
5.3.1 Bancos de dados...................................................................................................................... 58
5.3.2 Visão geral................................................................................................................................ 59

5.3.3 Lista de negócios.............................................................................................................. 59

7
Machine Translated by Google

Guia do usuário do StrategyQuant

5.3.4 Gráfico de patrimônio líquido ................................................................................................................... 59


5.3.5 Análise comercial................................................................................................................ 59
5.3.6 Análise de robustez....................................................................................................... 59
5.3.7 Configurações de estratégia............................................................................................................. 60
5.3.8 Código fonte ................................................................................................................... 61

6 Funcionalidade avançada.............................................................................................................. 62
6.1 Testes e análises de robustez............................................................................................. 62
6.2 Otimização......................................................................................................................... 68
6.2.1 Otimização simples....................................................................................................... 68

6.2.2 Otimização Walk-Forward .......................................................................................... 74


6.2.3 Matriz de avanço .................................................................................................... 79
6.3 Portfólios.................................................. .. ................................................ ............................ 83
6.4 Editor de estratégia....................................................................................................................... 84
7 Como… ............................................................................................................................................ 86
7.1 Importar dados do histórico do MetaTrader .............................................................................. 86
7.2 Importar dados do histórico do NinjaTrader................................................................................... 89
7.3 Como encontrar o valor do ponto, passo Pip/Tick no NinjaTrader........................................................... 93
7.4 Importar dados históricos para gráficos Range / Renko do MetaTrader.......................................... 94
7.5 Importar novo indicador personalizado do MT4 – forma automática .................................................... 95
Etapa 3.1: Importação automática......................................................................................................... 100
Etapa 3.2: Importação manual ............................................................................................................. 101
7.6 Importar novo indicador personalizado do NinjaTrader............................................................. 107
7.7 Exportar estratégia do StrategyQuant e testá-la ou negociá-la no MetaTrader......................... 114
7.8 Exportar estratégia do StrategyQuant e testá-la ou negociá-la no NinjaTrader......................... 118
7.9 Traduzir programa para outro idioma ............................................................................. 123
8 Apêndice...................................................................................................................................... 124
8.1 Critérios de classificação.............................................................................................................. 124
8.2 Tipos de entrada e saída............................................................................................................. 128
9 Palavras Finais.................................................................................................................................. 130

8
Machine Translated by Google

Guia do usuário do StrategyQuant

1 Introdução

1.1 O que é StrategyQuant?

StrategyQuant é um programa que gera automaticamente novas estratégias de negociação exclusivas para forex, ações ou ETFs.

Usando o StrategyQuant, você pode encontrar estratégias de trading lucrativas para praticamente qualquer mercado,
qualquer período de tempo e qualquer tipo de gráfico. Não é necessário conhecimento de programação ou trading.

As estratégias resultantes podem ser salvas como um MetaTrader 4 Expert Advisor com código-fonte completo.

Com o StrategyQuant você pode:

• Gere um número ilimitado de estratégias de negociação exclusivas para praticamente qualquer mercado ou
prazo

• Salve suas estratégias como uma estratégia MetaTrader Expert Advisor ou Ninja Trader com total
código fonte

• Elimine o trabalho manual anteriormente necessário ao desenvolver uma estratégia de negociação

• Encontre novas estratégias de negociação que não sejam apenas únicas, mas também não óbvias

• Reduza o tempo necessário para construir uma estratégia de semanas e meses para minutos!

• Melhore suas estratégias existentes

• Otimize suas estratégias e encontre os melhores parâmetros

• Teste suas estratégias para verificar a robustez e analise seu desempenho

O StrategyQuant é ideal para você?

Se você negocia usando um sistema de negociação automático (também chamado de robôs ou Expert Advisors) ou planeja

desenvolver suas próprias estratégias de negociação, o StrategyQuant pode economizar seu dinheiro e centenas de horas

do seu tempo.

Alguns traders preferem comprar um robô de negociação existente; há uma infinidade de ofertas especialmente para Forex.

Embora essa possa ser uma maneira eficaz, ao comprar o robô forex de alguém, você geralmente está comprando uma caixa preta:
você não sabe como ele funciona, quais são as regras exatas e está à mercê de seu criador, com possíveis adaptações às mudanças
nas condições do mercado.

O StrategyQuant permite que você crie suas próprias estratégias de negociação, exportáveis para um código-fonte simples do Expert
Advisor, para que você tenha controle total sobre sua estratégia.

E se você for um trader manual?

Você ainda pode usar o StrategyQuant para gerar ideias de negociação. Você ficará surpreso ao encontrar muitas estratégias

lucrativas baseadas em regras relativamente simples que você não imaginaria.

Cada estratégia criada pelo StrategyQuant pode ser exportada para um pseudocódigo legível com descrição completa das regras

de negociação e também pode ser negociada manualmente.

9
Machine Translated by Google

Guia do usuário do StrategyQuant

O que esperar

Por favor, tenha em mente que o StrategyQuant é uma ferramenta poderosa, mas não é uma caixa mágica que vai

começar a fazer você ganhar dinheiro com um clique em um botão. Ele tem que ser usado da maneira certa para obter os resultados.

Gerar novas estratégias no StrategyQuant representa apenas cerca de 50% do trabalho.

O restante do trabalho deve ser dedicado à avaliação das estratégias geradas para filtrar aquelas que são ajustadas à curva ou
não são robustas o suficiente.
Cabe a você avaliar suas novas estratégias adequadamente e conhecer seus pontos fortes, fracos e limitações antes de
colocá-las em prática.

Pode facilmente acontecer que, de todas as estratégias lucrativas geradas pelo StrategyQuant, apenas 1 em cada 10 passe na
avaliação e possamos considerar usá-la para negociações ao vivo.
Mas - o número de estratégias que podemos gerar é quase infinito, então mesmo 5-10% do infinito é um número bem
grande :-)

Existem algumas etapas para avaliar a qualidade das estratégias e medir o quão boas elas serão em negociações reais. Leia a
seção Avaliando Estratégias Geradas para obter mais informações.

10
Machine Translated by Google

Guia do usuário do StrategyQuant

1.2 Requisitos do sistema

StrategyQuant não é um EA, é um programa normal (arquivo EXE) para Microsoft Windows e pode ser executado em
todos os computadores padrão com conexão à Internet.

Requisitos mínimos do sistema:

• Processador de 1,2 GHz

• 512 MB de RAM

• 500 MB de espaço no disco rígido

• Sistema operacional Windows XP, Vista, Windows 7 ou Windows 8

Poder de computação
A geração de estratégias e o backtesting exigem muito poder de processamento, então quanto mais rápido o
computador tiver, mais estratégias serão geradas e testadas.

O componente mais importante que afeta a velocidade do teste é o processador (CPU). O StrategyQuant é capaz de
usar todos os núcleos do
processador, então os melhores resultados serão alcançados usando processadores multi-core, como i5 ou i7.

11
Machine Translated by Google

Guia do usuário do StrategyQuant

1.3 Instalação

O StrategyQuant vem com um assistente de configuração padrão: basta baixar e executar o arquivo EXE de instalação e seguir
os passos do assistente de instalação.

Importante !!!
Por favor, NÃO instale o StrategyQuant no diretório padrão C:\Program Files!

Pode não funcionar corretamente porque as configurações de segurança do Windows não permitem que o programa grave em seus
arquivos de dados.

Em vez disso, instale-o em qualquer unidade ou diretório normal no disco, como C:\StrategyQuant
ou C:\Trading\StrategyQuant

1.3.1 Etapas pós-instalação

há algumas coisas que você deve fazer após a instalação, dependendo da plataforma de negociação que você usa.

MetaTrader4
Alguns dos indicadores técnicos usados no StrategyQuant não são indicadores MT4 padrão e você precisa adicioná-los ao
MT4. Todos esses indicadores adicionais são parte do pacote de instalação, você pode encontrá-los na pasta {StrategyQuant}/
custom_indicators/mt4 .

Basta copiar todos os arquivos *.mq4 desta pasta para a instalação do MetaTrader no caminho:
{Seu diretório de instalação do MetaTrader}/experts/indicators

Se você usar mais de uma instalação do MetaTrader, será necessário repetir esta etapa para cada MetaTrader instalado.

-------------------------------------------------- -------------------------------------------------- ----------------

Nota importante! Se você atualizou para o MT4 Build 600+, as pastas MetaTrader têm
alterado. A pasta Indicators NÃO ESTÁ MAIS no diretório de instalação do MetaTrader, você pode obter sua localização abrindo
o MetaTrader, Arquivo -> Abrir Pasta de Dados.

Você deve salvar os indicadores nesta pasta:

C:\Usuários\[nome de usuário]\AppData\Roaming\MetaQuotes\Terminal\[id_de_string_única]\MQL4\Indicadores
-------------------------------------------------- -------------------------------------------------- ----------------

Ninja Trader
Para que as estratégias SQ funcionem com o NinjaTrader, você precisa importar alguns scripts do NinjaTrader para o seu
NinjaTrader.

Abra seu NinjaTrader, vá em Arquivo -> Utilitários -> Importar Script Ninja...
então encontre o arquivo:

{StrategyQuant}/custom_indicators/SQ_NinjaTrader.zip e importe-o.

Isso importará todos os indicadores adicionais e classes base que o StrategyQuant usa, para que suas novas estratégias
sejam executadas no NinjaTrader.

12
Machine Translated by Google

Guia do usuário do StrategyQuant

1.4 Mecanismos de backtesting - NinjaTrader e MetaTrader4

O StrategyQuant pode exportar estratégias de negociação para diversas plataformas de negociação:

• MetaTrader4 - forex, CFDs

• NinjaTrader - futuros, ações, forex

Existem algumas diferenças entre essas plataformas na forma como cada uma delas lida com negociações, abre e fecha posições,

gerencia as negociações abertas, etc.

O StrategyQuant permite que você alterne o mecanismo de backtesting entre MetaTrader4/NinjaTrader para que o mecanismo de

teste interno saiba como tratar as negociações de uma forma que corresponda à plataforma selecionada.

Cada plataforma de negociação e mecanismo de backtesting também permite que você configure algumas configurações específicas

para uma determinada plataforma.

Por que uma estratégia pode ter resultados diferentes em diferentes mecanismos de backtesting
Como mencionado anteriormente, há diferenças em como cada plataforma lida com negociações e como seu mecanismo

de backtesting e negociação funciona internamente.

Por esse motivo, a estratégia pode ter resultados diferentes quando testada com outro mecanismo de backtesting.

Outro motivo são as diferenças no tratamento de dados entre o MetaTrader e o NinjaTrader.

Observação

Certifique-se de testar sua estratégia negociando-a em uma conta de papel antes de colocá-la em prática.

dinheiro.

Diferenças de tratamento de dados entre MetaTrader e NinjaTrader

Diferença nos dados

Há diferenças na forma como as velas (barras) são calculadas e desenhadas em cada plataforma, por exemplo:

• no MetaTrader4, vela de 15 minutos com tempo 13:15 significa vela que começou às 13:15:00 e contém dados de 13:15:00 a 13:29:59

• no NinjaTrader, vela de 15 minutos com tempo 13:15 significa vela que terminou em 13:15, então ela contém dados de 13:00:01
a 13:15:00

Além disso, diferentemente do forex, futuros e ações não são negociados 24/7. Eles são negociados em bolsas com horários de
negociação determinados, então as sessões de negociação entram em jogo quando você trabalha, por exemplo, com dados de futuros.

Por isso, agora é necessário escolher o tipo de dado ao importá-lo para o StrategyQuant e é recomendável usar apenas os
dados da plataforma específica durante a geração da estratégia.

13
Machine Translated by Google

Guia do usuário do StrategyQuant

Além disso, por esse motivo, há uma diferença em como cada dado é manipulado pelo StrategyQuant para corresponder a cada
plataforma. Como resultado, o StrategyQuant pode calcular automaticamente prazos maiores a partir de dados de minuto para
forex, mas não pode fazer isso para dados do NinjaTrader (porque as sessões de negociação teriam que ser
consideradas).

Para simplificar o trabalho com sessões de negociação, você precisa importar diretamente o período de tempo alvo
para o StrategyQuant.

14
Machine Translated by Google

Guia do usuário do StrategyQuant

2 Como funciona?

StrategyQuant é um programa, não tem o cérebro ou a experiência de um trader e não sabe

como criar uma estratégia lucrativa.

O que ele faz é combinar aleatoriamente blocos de construção disponíveis (indicadores, preços, etc.) para criar novas regras de

negociação. A estratégia resultante é então testada em dados históricos para ver se é lucrativa.

A geração aleatória é a base do StrategyQuant. Estratégias geradas dessa forma podem ser melhoradas (evoluídas) ainda mais

usando a evolução genética.

2.1 Geração aleatória de estratégias de negociação

Uma estratégia de negociação na população inicial é construída usando uma combinação de padrões de preços, indicadores

técnicos, tipos de ordens e outras partes para formar as regras de entrada e saída.

StrategyQuant pode usar todos os indicadores técnicos e osciladores padrão (como CCI, RSI, Stochastic, etc.), valores de tempo

(como hora do dia, dia da semana) e padrões de preço. Esses blocos de construção são então combinados usando

operadores lógicos e de igualdade (e, ou, >, <, etc.) para formar uma regra de entrada ou saída.

Além disso, ele suporta diferentes tipos de ordens de entrada e saída (ordem de mercado, ordem de limite, meta de lucro fixa,

saída após X barras, etc.).

Com todas as combinações possíveis de regras e ordens, o StrategyQuant é capaz de gerar literalmente trilhões de

diferentes estratégias de negociação possíveis.

O processo de construção em si é completamente aleatório: o construtor escolhe aleatoriamente diferentes blocos de construção

do conjunto disponível e os combina para criar uma regra de entrada, um tipo de ordem e uma regra de saída.

Existem algumas restrições de validade que garantem que, por exemplo, o preço não seja comparado ao valor do tempo, etc.

O resultado é uma estratégia de negociação aleatória completamente nova. Claro, nem toda estratégia criada aleatoriamente

15
Machine Translated by Google

Guia do usuário do StrategyQuant

A estratégia é lucrativa, mas a StrategyQuant pode produzir e testar milhares de novas estratégias por hora, e há muitas
lucrativas nessa quantidade.

2.2 Evolução Genética

A evolução genética leva o processo de encontrar estratégias de negociação adequadas ainda mais longe.
Neste modo, o StrategyQuant primeiro cria uma série de estratégias aleatórias, que são usadas como população inicial na
evolução.

Essa geração inicial de estratégias é então "evoluída" ao longo de gerações sucessivas usando tecnologia de
programação genética.

Esse processo imita a evolução: o algoritmo escolhe as estratégias mais adequadas (usando critérios de desempenho
selecionados) em cada geração, e o grupo de candidatos mais adequados é então usado para produzir uma nova geração de
estratégias de negociação.

Assim como na evolução, isso deve resultar em candidatos cada vez melhores, no nosso caso, em estratégias mais
lucrativas, mais estáveis ou geralmente melhores nos critérios de desempenho selecionados.

16
Machine Translated by Google

Guia do usuário do StrategyQuant

2.3 Exemplo de código de estratégia

Abaixo está um exemplo de pseudocódigo de uma estratégia gerada pelo StrategyQuant. Você pode ver que a
estratégia consiste em ordens de entrada, ordens de saída e comandos de gerenciamento de negociação – como
movimentos de trailing stop, etc.
Cada estratégia gerada pelo programa pode ser visualizada neste pseudocódigo ou exportada na forma de estratégia
MetaTrader Expert Advisor (EA) ou NinjaTrader NinjaScript C#.

================================================= ==================

== Condições de entrada
================================================= ==================

CondiçãoEntradaLonga = (Stoch(40, 1, 3) < 50)

CondiçãoEntradaCurta = (Stoch(40, 1, 3) > 50)

================================================= ==================

== Ordens de entrada
================================================= ==================

-- Entrada longa

se LongEntryCondition for verdadeiro {

se nenhuma posição estiver aberta, compre em Ichimoku(6, 18, 38, Kijun-sen) + (0,4 * ATR(86)) Limite;

A ordem stop/ limit expira após 34 barras.

Stop Loss = 190 pips; Meta

de lucro = (0,74 * ATR(87)) pips;

// Mover SL para BE (ao fechar)

Mova o Stop Loss para o preço de entrada quando o lucro for de pelo menos (77 * ATR(12)) pips;

// Lucro residual (no fechamento)

Lucro com queda de 222 pips;

// Parar de arrastar (ao fechar)

Mova Stop para (Fechar(1) + (0,5) * BBWidthRatio(20, 2,0))) no fechamento da barra;

-- Entrada curta

se ShortEntryCondition for verdadeiro {

Se nenhuma posição estiver aberta, então venda em Ichimoku(6, 18, 38, Kijun-sen) + (-0,4 * ATR(86)) Limite; A

ordem Stop/ Limit expira após 34 barras.

Stop Loss = 190 pips;

Meta de lucro = (0,74 * ATR(87)) pips;

================================================= ==================

== Ordens de saída

17
Machine Translated by Google

Guia do usuário do StrategyQuant

================================================= ==================

-- Saída longa

se MarketPosition for Longo {


se (Barras desde a entrada >= 33) {

Fechar posição no mercado;


}
}

2.4 Abordagem de 3 partes de dados

Desde a versão 3.5, é possível usar a abordagem de 3 partes de dados ao utilizar a evolução genética para geração de estratégias.

Tradicionalmente, apenas In Sample + Out of sample (2 partes de dados) eram usados na evolução. As estratégias eram desenvolvidas

apenas em dados In Sample e testadas em dados Out of Sample.

Com a abordagem de 3 partes de dados, podemos dividir os dados de amostra em duas partes adicionais, então obteremos três

partes:

No Sample Training (IS Training), esta

parte é usada para evolução das estratégias. A aptidão da estratégia é medida nesta parte de dados e as estratégias com melhor aptidão

são escolhidas para produzir a próxima geração.

Na validação de amostra (validação IS)

esta parte é usada para comparar o desempenho com a parte de Treinamento. A aptidão da estratégia é medida nesta parte também e você

pode reiniciar a evolução quando a aptidão ou o desempenho começar a estagnar nos dados de Validação, ou se o desempenho

da estratégia (Lucro Líquido, Fator de Lucro, etc.) nos dados de Validação não corresponder ao desempenho nos dados de Treinamento.

A terceira parte dos dados

fora da amostra (OOS) é usada para verificar a estratégia em dados desconhecidos. Como usamos a validação IS para influenciar a

evolução, então ela não é mais uma parte "desconhecida" dos dados, devemos testar a estratégia em uma parte nova e desconhecida (OOS)

dos dados para verificar seu desempenho de forma independente.

Qual é a vantagem da abordagem de 3 partes


tradicionalmente, apenas duas partes (na amostra, fora da amostra) eram usadas para a evolução genética das estratégias de

negociação.

Dividir os dados em três partes nos permite controlar melhor a evolução. Comparando o desempenho na parte de Treinamento vs.

Validação, podemos decidir reiniciar a evolução para evitar desperdiçar tempo com a evolução indo a lugar nenhum.

Artigos científicos sugerem que usar a abordagem de 3 partes de dados pode trazer melhores resultados mais rapidamente.

18
Machine Translated by Google

Guia do usuário do StrategyQuant

Como usar a abordagem de 3 partes


Você pode usar a abordagem de 3 partes somente para o modo de evolução genética. Na geração aleatória não há
evolução para gerenciar, então não faria sentido lá.

Todas as configurações estão na aba Opções genéticas , na seção Gerenciamento de evolução . Aqui você pode definir
que deseja usar a abordagem de 3 partes marcando "Dividir no período de amostra para treinamento/validação".
Uma boa regra é dividir a arte In Sample em 50%. Então, se o seu período Out of Sample for cerca de 30% dos dados e
você dividir a parte In Sample pela metade, todas as três partes serão cerca de 1/3 de todos os dados
disponível.

Por exemplo:
Digamos que todos os dados tenham 900 dias.

A parte Fora da Amostra é cerca de 1/3 disto, que é 300 dias. Na parte da Amostra se o resto: 600 dias.
Quando dividimos a Amostra pela metade entre Treinamento/Validação, o Treinamento de IS será 50% de todos os dados da
Amostra (50% de 600 dias), o que equivale a 300 dias, e o mesmo se aplica à parte de Validação de IS.

Portanto, o treinamento IS será de 1/3 (300 dias), a validação IS será de 1/3 (300 dias) e fora da amostra será de 1/3 (300 dias).

Dividir o período In Sample em Treinamento/Validação é o primeiro passo, agora também devemos usá-lo para gerenciar
a evolução.

A configuração mais simples é reiniciar a evolução se a aptidão estagnar por X gerações na parte de validação do IS - se
essa
estagnação acontecer, significa que a evolução possivelmente atingiu o fim das melhorias e uma evolução posterior não
criaria estratégias melhores, então devemos reiniciá-la.

Use condições personalizadas especiais para gerenciamento de evolução


Estas são condições especiais que você pode usar para comparar taxas de desempenho ou desempenho exato

19
Machine Translated by Google

Guia do usuário do StrategyQuant

da estratégia top / top 5 estratégias entre a parte de Treinamento e Validação. Tenha em mente que você está comparando a estratégia top ou

a média das 5 estratégias top encontradas até agora na evolução.

Razões
Todas as proporções estão em porcentagem, por exemplo:

Proporção - Lucro Líquido de Treinamento vs Validação da Melhor Estratégia é a proporção percentual do Lucro Líquido da melhor estratégia

nos dados de Treinamento vs Dados de Validação.

Por exemplo, se a estratégia de ponta lucrou US$ 5.000 na parte de treinamento e US$ 3.000 na parte de validação, essa proporção será de 60%,

porque a estratégia lucrou apenas 60% do lucro líquido na parte de validação em comparação à parte de treinamento.

Se a proporção entre Treinamento/Validação for muito pequena, também é um bom sinal de que a evolução chegou a um beco sem saída e
devemos reiniciá-la.

Desempenho exato
além de proporções, você pode escolher reiniciar a evolução também verificando os resultados de desempenho da estratégia top / top 5 estratégias

em dados de validação. Por exemplo:

Top 5 Strategies Avg Validation Profit Factor retorna o Top 5 strategies average Profit Factor na parte de validação (não uma proporção

entre treinamento/validação). Por exemplo, podemos reiniciar a evolução se o Top 5 strategies average Profit Factor nos dados de validação for

menor que 1,5.

Visualizando a performance das três partes


Você pode assistir ao gráfico de aptidão em tempo real no painel Aptidão da população no Progresso. Agora há 4 abas diferentes para cada parte

dos dados.

Os gráficos abaixo são um exemplo de evolução executada por 100 gerações sem nenhuma reinicialização. Você pode ver que neste exemplo,

mesmo que o desempenho da estratégia (fitness) esteja melhorando para a parte de treinamento de IS, ele está estagnado na parte de

validação de IS ou até mesmo piorando na parte OOS.

Então a evolução pode ter sido reiniciada em algum lugar por volta da 20ª-30ª geração, porque desde então não houve nenhuma melhoria em partes

desconhecidas dos dados.

Se você escolher alguma estratégia do banco de dados e olhar para seu gráfico de patrimônio, você pode ver como ela é dividida em três partes e o

desempenho em cada uma delas. Neste exemplo, a estratégia tem desempenho negativo na parte de Validação de IS.

20
Machine Translated by Google

Guia do usuário do StrategyQuant

Uma estratégia melhor deveria se parecer mais com o exemplo abaixo, onde todas as três partes têm aproximadamente
o mesmo desempenho (visível pela linha vermelha). Essa estratégia ainda não é perfeita (rebaixamentos muito grandes), é
apenas um exemplo.

Novas condições personalizadas para banco de dados


As configurações na aba Opções genéticas descritas acima são usadas para gerenciar a evolução. Além disso, há um novo
grupo de condições personalizadas baseadas em proporção em Classificação -> Condições personalizadas, que podemos
usar para controlar quais estratégias chegarão ao banco de dados e quais serão descartadas.
Essas novas condições personalizadas não estão tecnicamente relacionadas à abordagem de 3 partes, mas são inspiradas
nessa ideia e permitem medir a taxa de desempenho de determinadas características entre os resultados Na Amostra e Fora
da Amostra.

21
Machine Translated by Google

Guia do usuário do StrategyQuant

Todas as proporções estão em %, como no exemplo anterior:

Se a estratégia render US$ 6.000 em todo o período dentro da amostra e US$ 4.000 no período fora da amostra, então seu lucro líquido

(relação IS/OOS) será de 66,6% (porque US$ 4.000 é 66,6% de US$ 6.000).

Essas novas condições personalizadas podem ser usadas para filtrar estratégias que apresentam desempenho muito pior na parte de dados

fora da amostra do que na parte dentro da amostra.

Suporte para barras Renko / Faixa 2.5

O suporte para barras Range/Renko é a mais nova adição aos recursos do StrategyQuant. Agora você pode usar o StrategyQuant para

gerar estratégias que serão negociadas nesses gráficos não padronizados.

Suporte para Range/Renko em plataformas de negociação:

A plataforma NinjaTrader tem suporte integrado para esses tipos de gráficos, então a única coisa que você precisa fazer para usar esses

gráficos no SQ é exportar os dados do gráfico (veja mais informações sobre isso nos próximos capítulos).

A plataforma MetaTrader4 não oferece suporte nativo aos gráficos Range ou Renko. Para exibi-los e usá-los, você precisa de um plugin

de terceiros.

Fornecedor muito acessível de plugins Range/Renko para MT4 que testamos e podemos recomendar

é [Link]

22
Machine Translated by Google

Guia do usuário do StrategyQuant

O que são gráficos Range e Renko?

Eles são gráficos alternativos que não exibem dados em blocos agrupados por tempo (5 minutos, 15 minutos, 1 hora), mas por outro

critério. Para a barra Range, uma vela no gráfico representa um intervalo dado, por exemplo, 10 pips. Então, toda vez que o

mercado se move por mais 10 pips, uma nova vela é desenhada.

Exemplo de gráfico de intervalo

Para mais informações sobre gráficos Range ou Renko, consulte o Google ou o site [Link].

Como os gráficos Range/ Renko funcionam no StrategyQuant?

Funciona da mesma forma que com dados de período de tempo padrão – você precisa importar os dados do intervalo ou do gráfico

renko como qualquer outro dado histórico e executar a geração de estratégias normalmente.

Limitações do uso de dados de intervalo/Renko no StrategyQuant:

1. Apenas a precisão “Período de tempo selecionado” está disponível para esses tipos de gráficos, então você não poderá testá-

los usando a precisão de tick

2. Você deve gerar dados para gráficos Range / Renko usando spreads fixos. StrategyQuant não é

capaz de testar as estratégias usando spreads variáveis nesses gráficos.

23
Machine Translated by Google

Guia do usuário do StrategyQuant

2.6 Blocos de construção suportados

Atualmente, o StrategyQuant oferece suporte aos seguintes componentes para criar regras de entrada e saída:

Indicadores

Média Móvel Simples Índice de Movimento Direcional Médio (ADX)

Média Móvel Exponencial Intervalo médio real (ATR)

Média Móvel Ponderada Momento

Índice de Canal de Commodities (CCI) Faixa de Williams %

Índice de Força Relativa (RSI) Alcance real


Estocástico Diferença de preço
MACD Mais alto, mais baixo

Bandas de Bollinger Canal Keltner

Estimativa Qualitativa Quantitativa (QQE) SAR parabólica

Média Móvel Tripla Exponencial Ichimoku

Indicadores personalizados ***

Valores de preço

Abrir Baixo

Alto Fechar

Aberto diariamente Baixa diária

Alta diária Fechar diariamente

Heiken Ashi Aberto Heiken Ashi Baixo

Escola secundária Heiken Ashi Heiken Ashi Fechar

Aberto hoje Este bar está aberto


Pivôs

Padrões de velas Estrela cadente

Doji Cobertura de nuvens escuras

Martelo Linha de perfuração

Engolfando de alta Engolfo de baixa

24
Machine Translated by Google

Guia do usuário do StrategyQuant

Operadores
Maior Adição (+)
Mais baixo Subtração (-)
Cruzes Acima Multiplicação (*)
Cruzes Abaixo É igual a
E Não é igual a
Ou Fecha acima
Fecha abaixo

Valores de tempo

Hora Dia da semana


Minuto

Tipos de pedidos
Entrar no Mercado Entre no Stop
Entrar/Reverter no Mercado Entrar no Limite

Tipos de saída
Meta de lucro
Parar Perda
Mover Stop Loss para o ponto de equilíbrio
Sair após X barras
Pare de arrastar
Regra de Saída (Preço + Operadores + Indicadores, ...)
Lucro à vista

Adicionaremos continuamente novos indicadores técnicos e outros recursos ao Builder.


Se você tiver algum indicador favorito que gostaria de ver no StrategyQuant, é só nos avisar.

Uma explicação: Qual é a diferença entre Closes Above e Crosses Above?


O operador de fechamento acima funciona apenas para o preço de fechamento em relação a um indicador e é verdadeiro se o preço

abrir abaixo do indicador fornecido e fechar acima dele.

O operador de cruzamentos acima funciona para qualquer indicador versus Indicador e verifica se o Indicador1 estava
abaixo do Indicador2 na vela anterior e agora cruzou acima do Indicador2 na vela atual.

2.7 Indicadores personalizados

Desde a versão 2.0, o programa oferece flexibilidade quase infinita de blocos de construção com indicadores
personalizados. Em contraste com indicadores integrados, o StrategyQuant não sabe como calcular indicadores personalizados;
eles são definidos por seus dados. Isso permitirá que você use virtualmente qualquer um dos seus indicadores favoritos no
StrategyQuant.
Não há limites reais – você pode usar indicadores multi-timeframe ou multi-símbolos, geralmente todos os indicadores que
funcionam no MetaTrader podem ser usados no StrategyQuant.

25
Machine Translated by Google

Guia do usuário do StrategyQuant

O funcionamento é que você precisa exportar os valores do indicador calculado em um símbolo e período de tempo específicos para um

arquivo e, em seguida, importar esse arquivo como um indicador personalizado para o Builder.

Dessa forma, você criará um novo indicador personalizado (com valores calculados em outro programa, como o MT4) para esse símbolo

e período específicos também no SQ.

Lembre-se de que cada indicador personalizado é definido para uma combinação específica de símbolo e período de tempo (no qual foi

calculado).

Para usar o mesmo indicador em outro símbolo ou período, você precisa recalcular seus dados no MT4, exportá-los e criar um novo indicador

personalizado para essa combinação de símbolo/período.

Você pode encontrar mais informações sobre indicadores personalizados nestes tópicos:

Gerenciar indicadores personalizados

Como ... Importar novo indicador personalizado

26
Machine Translated by Google

Guia do usuário do StrategyQuant

3 Início rápido com o programa

3.1 Conceitos principais

3.1.1 Disposição

Ao iniciar o programa pela primeira vez, você verá a tela principal como na imagem abaixo.

A funcionalidade do programa é dividida em abas no lado esquerdo.

Essas abas são:


• Home - tela inicial do programa, contém as configurações de amostra, notícias e links úteis • Gerenciador
de dados • Construir
estratégias • Testar
estratégias • Melhorar
estratégias • Otimizador

27
Machine Translated by Google

Guia do usuário do StrategyQuant

3.1.2 Bancos de dados

O Databank é o conceito mais importante que você deve entender ao usar o StrategyQuant. Não importa qual modo
você usa, as melhores estratégias resultantes são sempre armazenadas no Databank.

Lá você pode classificar as estratégias por suas propriedades, carregá-las e salvá-las e, ao clicar duas vezes em uma
linha, os detalhes do teste de estratégia serão abertos na janela de resultados acima.

Você pode configurar quantas estratégias principais (10, 100 ou 500) serão armazenadas no Databank, qual
critério de comparação usar e quais estratégias descartar automaticamente (por exemplo, aquelas com P/L
negativo).

28
Machine Translated by Google

Guia do usuário do StrategyQuant

3.1.3 Trabalhando com arquivos

As estratégias no StrategyQuant são salvas em seu próprio formato de arquivo proprietário (com extensão .str) que pode
ser aberto somente pelo StrategyQuant.
Se você encontrar estratégias potencialmente boas, você deve sempre salvá-las para que possa trabalhar com elas
mais tarde.

Estratégias de execução no MetaTrader


O MetaTrader não consegue ler os arquivos .str da estratégia. Se você quiser testar ou executar suas novas
estratégias no MetaTrader, você tem que exportar a estratégia para o código-fonte MQL.
Verifique a seção Como ... Exportar estratégia do StrategyQuant e testá-la no MetaTrader.

Observe que os arquivos exportados (*.MQ4) não são legíveis pelo StrategyQuant, portanto, certifique-se de sempre salvar
sua estratégia também como um arquivo de estratégia normal (*.str).

29
Machine Translated by Google

Guia do usuário do StrategyQuant

3.2 Fluxo de trabalho

Consulte a seção Artigos em nosso site para obter as dicas mais atualizadas sobre como usar o

programa:

[Link]

O fluxo geral de trabalho ao gerar novas estratégias pode ser descrito da seguinte forma:

1. Configurar dados para backtest


Você pode usar os dados históricos que vêm com o programa ou, opcionalmente, importar seus próprios dados no formato
MetaTrader. Em seguida, configure o intervalo de tempo e o período de tempo que você deseja usar.
Se você usar o modo de evolução genética, deverá dividir os dados em períodos dentro da amostra e fora da amostra.

Você também pode usar dados adicionais ou testes de robustez para testar automaticamente a robustez da estratégia.

2. Configurar as definições
Passe por todas as configurações e configure o tipo de estratégia, indicadores e tipos de ordem a serem usados para regras de

negociação. Opcionalmente, use restrições de tempo para limitar a negociação a um determinado intervalo de tempo.

3. Configurar opções de classificação

As opções de classificação permitem que você selecione os Critérios de Seleção de Estratégia, que é como as melhores estratégias
são determinadas.

Você também deve configurar Condições Personalizadas para filtrar apenas estratégias que atendem a determinados critérios.

Faz sentido descartar todas as estratégias que têm muito pouco lucro ou negociações, ou Fator de Lucro, Relação Retorno/DD ou

Número de Qualidade do Sistema muito pequenos.

4. Executar compilação

Inicie o processo de construção. Dependendo das suas configurações, você pode deixá-lo rodar por vários minutos, várias horas ou

até vários dias. Quanto mais tempo ele rodar, mais estratégias potenciais ele testará.
Os melhores deles serão armazenados no banco de dados.

5. Avalie as estratégias geradas

Passe pelas estratégias geradas e avalie-as. Você pode avaliá-las visualmente, verificando o gráfico de patrimônio, ou classificando-as

por seus parâmetros no Databank.

Escolha os melhores para passar para a próxima etapa e salve-os no arquivo de projeto StrategyQuant (.sqn) para que você possa

trabalhar com eles mais tarde.

A avaliação pode consistir também em testar novamente as estratégias em símbolos e/ou prazos adicionais, ou com spread e slippage

diferentes, e comparar os resultados.


Você também deve executar testes de robustez.

30
Machine Translated by Google

Guia do usuário do StrategyQuant

O objetivo da avaliação estratégica é encontrar estratégias que sejam robustas - o que significa que funcionam em
condições diferentes

e não se desfaçam quando houver uma pequena alteração nos parâmetros ou nos dados de preços ou se perderem alguns
negócios.

31
Machine Translated by Google

Guia do usuário do StrategyQuant

As etapas adicionais opcionais são:

6. Melhore a estratégia
Você pode tentar melhorar a estratégia no Improver. Você pode tentar aplicar diferentes combinações de regras de saída ou
condições adicionais às regras de entrada em busca de melhor desempenho.

Após a melhoria, você deve executar novamente a nova variação de estratégia por meio de testes de robustez para garantir
que ela não perdeu sua robustez.

6. Otimize a estratégia
Você pode executar otimização simples para encontrar melhor combinação de parâmetros de entrada da sua estratégia. Você
também pode executar otimização Walk-Forward para descobrir se a estratégia se beneficiaria de reotimização periódica.

Como última etapa, você pode executar a análise da Matriz Walk-Forward para determinar o melhor período de
reotimização.

Há artigos em nosso site que descrevem o fluxo de trabalho de forma mais detalhada:

[Link]

[Link]

32
Machine Translated by Google

Guia do usuário do StrategyQuant

4 modos de programa

O programa é dividido em quatro seções independentes (+ gerenciador de dados):

4.1 Gerenciador de Dados

um lugar onde você pode gerenciar dados históricos e indicadores personalizados usados no programa.

4.1.1 Dados históricos


Esta tela é onde você pode gerenciar (criar, importar, modificar) os dados históricos que são usados para backtesting.

O StrategyQuant já vem com mais de 4 anos de dados de histórico para os principais pares fornecidos
pelo [Link], mas se você tiver seus próprios dados de histórico no Metatrader, poderá importar
seus dados facilmente

Confira a seção Importar dados do histórico do MetaTrader para mais descrições.

33
Machine Translated by Google

Guia do usuário do StrategyQuant

4.1.2 Indicadores personalizados

Nesta tela você pode gerenciar e importar indicadores personalizados para serem usados no StrategyQuant.

A tela é dividida em duas tabelas. A tabela superior (1) contém a lista de todos os indicadores personalizados que são
definidos no sistema.

A tabela inferior (2) contém dados do indicador - dados para um indicador com parâmetros fornecidos, valores de saída e
símbolo/período.
É importante entender que o StrategyQuant não é capaz de executar código de indicador, então a única maneira de trabalhar
com indicadores personalizados no SQ é importando seus dados.
Os dados dependem dos valores dos parâmetros do indicador, bem como do símbolo e do período em que foram gerados.

Para saber mais sobre como trabalhar com indicadores personalizados, consulte a seção Como ... Importar novo indicador
personalizado

34
Machine Translated by Google

Guia do usuário do StrategyQuant

4.2 Construir estratégias

o coração do programa. Aqui você pode gerar novas estratégias de negociação usando diferentes opções de configuração e blocos
de construção.
As estratégias resultantes devem ser salvas no arquivo StrategyQuant (.str) para que você possa trabalhar com elas mais tarde.

Modos de construção disponíveis:

Evolução genética
O StrategyQuant primeiro gera uma população inicial de candidatos aleatórios (usando o modo Geração Aleatória) e então usa o

processo de evolução genética

para evoluir a população e produzir candidatos cada vez melhores a cada geração.

O processo termina quando o número predefinido de gerações é atingido ou quando não há mais melhorias.

Prós:

• em teoria, deveria levar a estratégias melhores do que a geração aleatória inicial

• isto significa que as estratégias já boas da primeira geração podem ser melhoradas ainda mais

• a busca por estratégias lucrativas em trilhões de combinações possíveis pode ser mais eficaz

com o poder da evolução


Contras:

• a evolução pode ser mais lenta

• às vezes a evolução pode levar ao beco sem saída, então a geração deve ser observada

• o grupo de estratégias geradas é limitado pelo tamanho da população

Geração aleatória
Neste modo, o StrategyQuant gera e testa continuamente novas estratégias aleatórias, uma após a outra, até ser

interrompido.

Os principais candidatos (com base em critérios predefinidos) são armazenados no Databank para que você possa revisá-los mais
tarde.

Prós:

• mais rápido e simples que a evolução genética

• ele será executado até ser parado, então se você deixá-lo rodar por alguns dias ele pode gerar e avaliar

milhões de estratégias
Contras:

• uma vez geradas as estratégias não são mais melhoradas

35
Machine Translated by Google

Guia do usuário do StrategyQuant

4.3 Estratégias de reteste

esta seção é usada para testar novamente estratégias já existentes. Você pode testar novamente a estratégia em outros dados
históricos ou período de tempo; executar testes de Robustez na estratégia,
tente opções diferentes (por exemplo, negocie apenas durante determinados horários do dia).

4.4 Melhorar estratégias

esta seção pode ser usada para melhorar a estratégia existente criada na etapa Build. "Melhorar" a estratégia significa substituir
parte de sua parte (regra de entrada, tipo de ordem, regra de saída)
ou adicionar novas condições para tornar a estratégia "melhor".

O Improver funciona de forma a gerar aleatoriamente a parte selecionada da estratégia, mantendo as outras partes da estratégia
intactas.
Dessa forma, você pode procurar uma melhor regra de saída ou uma condição de regra de entrada adicional que melhorará
o desempenho da estratégia.

4.5 Otimizador

O otimizador pode ser usado para otimizar parâmetros de estratégia para valores ótimos, bem como para otimização
Walk-Forward e análise de Matriz Walk-Forward.

36
Machine Translated by Google

Guia do usuário do StrategyQuant

5 Layout do programa

O programa é dividido em várias seções independentes que correspondem à funcionalidade principal.

1. Casa
tela inicial do programa, contém configurações de amostra, notícias e links úteis

2. Gerenciador de dados
aqui você pode gerenciar seus dados de histórico e indicadores personalizados

3. Crie uma seção de


estratégias para criar novas estratégias de negociação

4. Seção de estratégias de
reteste para retestar estratégias existentes com configurações diferentes ou em símbolos/prazos diferentes

5. Melhore a seção de
estratégias para melhorar a estratégia existente gerando condições de regras adicionais

6. Otimizador com
recursos de otimização simples e Walk-Forward e Walk-Forward Matrix

7. Área de configurações:
cada seção tem sua própria área de configurações independente, onde você pode configurar o processo de construção/teste.

8. Área de resultados

aqui você pode ver o desempenho da estratégia selecionada e obter seu código EA

37
Machine Translated by Google

Guia do usuário do StrategyQuant

9. botões para iniciar, pausar e parar o processo

10. bancos de dados - listas onde as estratégias geradas são armazenadas


área de armazenamento para estratégias, contém todas as estratégias construídas/testadas

5.1 Progress

A tela de progresso é o lugar onde você pode iniciar, pausar ou parar o processo de construção/teste. Ela também mostra
o log e o consumo de memória.

Antes de começar a construção ou teste, você deve ter os dados e as configurações configurados. Os resultados (estratégias

de topo geradas) serão armazenados continuamente no banco de dados na parte inferior.

38
Machine Translated by Google

Guia do usuário do StrategyQuant

5.2 Configurações

5.2.1 Dados

Em Dados, você deve selecionar o símbolo, o período e o intervalo de tempo nos quais as estratégias serão testadas.

Mecanismo de backtesting

permite que você escolha qual dos mecanismos de backtesting disponíveis (MetaTrader4 / NinjaTrader) deve ser usado para testar

a estratégia.

Mais sobre as diferenças nos mecanismos de backtesting é descrito em Mecanismos de backtesting - NinjaTrader &
MetaTrader4

Permitir apenas símbolos de motor

se você marcar isso, você poderá escolher apenas entre os símbolos que pertencem a um determinado mecanismo. Por

exemplo, você não poderá executar testes com o mecanismo NinjaTrader em dados MT4.

Símbolo, Período, Datas de Início e Fim

O StrategyQuant testa todas as estratégias geradas em um determinado histórico de dados e esta tela permite que você escolha o

símbolo e o período a serem usados para backtests.

Há uma opção para escolher também o período de teste (Data de, Data até).

Período fora da amostra

Permite dividir os dados do histórico em duas partes:

• Em Amostra - é usado durante a evolução genética para calcular a classificação das estratégias, de modo que

o programa é capaz de compará-los

39
Machine Translated by Google

Guia do usuário do StrategyQuant

• Fora da amostra - esta parte dos dados é usada para verificar se a estratégia realmente funciona como esperado também
em dados que não foram evoluídos

Parâmetros de teste

Testando a precisão
testar a precisão significa como os dados de preço são simulados durante o backtest.
Normalmente, é suficiente usar o modo Período de tempo selecionado para ordens de mercado ou o modo de simulação de tick
para ordens Stop/Limit.
Você também pode usar o modo mais rápido para geração e, depois, o modo mais lento para novo teste de estratégias.

Comércio em Barra Aberta


Neste modo, o sistema verificará os sinais e realizará negociações somente na abertura de uma barra.
Isso é válido não apenas para abrir a negociação, mas também para fechá-la com stop loss ou meta de lucro.
Se a negociação atingir seu stop loss ou meta de lucro, ela NÃO será fechada imediatamente neste nível, mas apenas na abertura da
próxima barra!

Se você usar esse modo, terá que gerar uma versão especial do EA que também negociará somente na abertura da barra para
obter os mesmos resultados.

Somente período de tempo selecionado

junto com o Trade On Bar Open é o modo de teste mais rápido. Ele usa apenas o timeframe principal para simular os preços.

Isso resulta em um backtesting muito rápido com precisão muito boa. No entanto, para ordens Stop ou Limit, a precisão do teste pode
não ser suficiente e você deve tentar um modo mais preciso.

Dados de 1 minuto

modo de teste mais lento, ele usa dados de minuto (se disponíveis) para simular mudanças de preço durante o teste.

Simulação de carrapato

modo de teste lento, ele usa simulação de tick dentro de dados de minuto para obter resultados mais precisos. Este é o teste mais
preciso que pode ser alcançado sem dados de tick reais.
Este modo de teste é preciso o suficiente para qualquer tipo de pedido.

Carrapato Real

este modo usa dados de ticks reais (se disponíveis) para simulação exata de preço. É muito mais lento que os outros modos e deve ser
usado para verificação final de novas estratégias.

Nota! O backtester NinjaTrader pode funcionar apenas com precisão de período de tempo selecionado

40
Machine Translated by Google

Guia do usuário do StrategyQuant

Dados adicionais para teste

você pode testar suas estratégias automaticamente em múltiplos símbolos/períodos de tempo especificando dados adicionais.

Para selecionar dados adicionais, escolha o símbolo na caixa de combinação e defina seu período, intervalo de
tempo, spread, etc.
A estratégia é testada em dados adicionais somente se a linha for verificada.

Dessa forma, você pode testar sua estratégia simultaneamente em vários símbolos, ou no mesmo símbolo e em
diferentes períodos de tempo, ou até mesmo no mesmo símbolo e período de tempo, e apenas com spread,
deslizamento ou precisão diferentes.

Visualizando os resultados de testes de dados adicionais


Se você selecionar quaisquer dados adicionais, poderá verificar os resultados para cada símbolo/
período de tempo adicional, bem como o resultado para todo o portfólio (estratégia testada nos dados principais + todos
os dados adicionais resumidos juntos)
na seção Resultados .

Se você usar dados adicionais para testes, também terá a oportunidade de filtrar as estratégias resultantes
pelo desempenho de todo o portfólio nas Condições Personalizadas das Opções de Classificação.

41
Machine Translated by Google

Guia do usuário do StrategyQuant

5.2.2 Blocos de construção

Os blocos de construção são os componentes principais que são combinados para criar regras para cada negociação

estratégia.

Regras de entrada Blocos de construção

Os blocos de construção de entrada podem ser divididos em quatro partes principais:

• dados de preços - Abertura, Máxima, Mínima, Fechamento

• indicadores técnicos - RSI, CCI, Momentum, etc.

• operadores que são usados para comparação e para combinar as regras - <, >, and, or, etc.

• constantes de tempo - Hora, Minuto do dia, Dia da semana

• regras simples predefinidas - CCI > 0, Estocástico < 50 etc.

Você pode escolher cada componente que deseja usar na estratégia, para poder selecionar seus indicadores favoritos ou escolher,
por exemplo,

apenas dados de preço + operadores se quiser gerar estratégias baseadas apenas no preço.

Boa prática
De acordo com nossa experiência, às vezes você pode obter melhores resultados se não verificar todos os componentes disponíveis,

mas restringir sua escolha a um grupo menor de indicadores ou valores de preço.

Você pode encontrar a descrição de todos os nós de entrada e saída aqui.

42
Machine Translated by Google

Guia do usuário do StrategyQuant

5.2.3 Opções de estratégia

Essas configurações permitem que você especifique as propriedades das estratégias geradas, bem como as condições de teste.

Lados do mercado

Você pode escolher gerar estratégias que negociem apenas em uma direção (Longa ou Curta) ou em ambas as direções (o que é

padrão).

Você também pode selecionar que quer que as regras de entrada ou saída sejam simétricas. Se forem simétricas, então as regras

para ambas as direções são as mesmas, apenas invertidas.

Um exemplo de regras simétricas:

Vá Longo se CCI > 0

Vá curto se CCI < 0

Como alternativa, você pode escolher usar regras não simétricas; nesse caso, as regras para os lados Longo e Curto serão geradas

independentemente.

Um exemplo de regras não simétricas:

Vá Longo se CCI > 0

Vá curto se RSI < 0 e Momentum < 100

Essas configurações podem ser usadas para regras de entrada e saída. Por exemplo, você pode ter regras de entrada simétricas,

mas regras de saída não simétricas, de modo que

a estratégia usará efetivamente (por exemplo) diferentes stop loss e metas de lucro para ordens longas e curtas.

Lógica de negociação
A lógica de negociação define o comportamento da estratégia e as restrições do backtester. Como há dois mecanismos de backtesting

diferentes (MetaTrader/NinjaTrader), também há alguns parâmetros que são exclusivos para apenas um deles.

Tipo de preenchimento (somente NinjaTrader)

Padrão ou Liberal. Define o tipo de preenchimento usado em backtesting. Para a diferença entre esses tipos de preenchimento,
consulte a ajuda do NinjaTrader.

Preços de parada estritos (somente NinjaTrader)


normalmente há restrições para colocar ordens stop/limit. Por exemplo, você pode inserir uma ordem stop longa somente acima
do preço real, e uma stop curta somente abaixo do preço real. Se você definir StrictStopPrices=true,
ele usará esse comportamento padrão, recusando ordens com níveis de preço fora dessas restrições.

Se você definir como falso, ele verificará se o preço da ordem de parada está correto e se, por exemplo, você quiser entrar em uma
parada longa abaixo do preço real, ele entrará em Mercado.
Portanto, definir StrictStopPrices como falso permitirá que suas ordens entrem no mercado se o preço já tiver ultrapassado o nível
permitido.

43
Machine Translated by Google

Guia do usuário do StrategyQuant

Pedidos pendentes válidos uma barra (somente NinjaTrader)

se definido como true, suas ordens pendentes serão válidas para apenas uma barra. Elas teriam que ser reenviadas em cada barra

para serem válidas.

Se você definir como falso, os pedidos pendentes serão válidos até expirarem ou serem cancelados.

No MetaTrader, as ordens pendentes são sempre válidas até expirarem.

Substituir pedidos pendentes

esta é uma configuração importante que tem grande influência em ordens Stop e Limit. Se definido como true, as ordens stop são

substituídas por uma versão atualizada sempre que houver um novo sinal e a ordem ainda estiver pendente.

Nas versões mais antigas do StrategyQuant, essa configuração era implicitamente definida como falsa e ficava oculta.

Parece que defini-lo como verdadeiro leva a estratégias de fuga melhores e mais bem-sucedidas, e geralmente é

recomendado.

Máximo de negociações por dia

você pode limitar o máximo de negociações que a estratégia realiza por dia

Total máximo de negociações


você pode limitar o máximo de negociações totais a um número dado. Geralmente é bom usar esse limite e defini-lo para um número
grande (1000-5000, dependendo de quantas negociações você espera durante um período testado).

Saída no final do dia/fim do intervalo


se selecionada, a estratégia fechará todas as posições no fim do dia ou fim do intervalo de negociação (se definido). Dessa forma,
você não terá nenhuma posição aberta durante a noite.

Limitar sinais para intervalo de tempo, intervalo de tempo de, intervalo de tempo para
isso limita as horas em que a estratégia verifica o sinal de entrada para um determinado intervalo de tempo.
Se usado em combinação com Exit At End Of Range , todas as posições abertas serão fechadas no final do intervalo.
faixa.
Se você não marcar a opção Sair no Fim do Intervalo , a estratégia não abrirá novas negociações fora do intervalo de negociação,
mas as posições já abertas não serão fechadas.

Saída no fim do intervalo, saída no fim do dia, saída na sexta-feira

três configurações que gerenciam se as negociações devem ser fechadas no final do intervalo, dia ou semana.

Opções de Stop Loss e Meta de Lucro


Essas configurações permitem que você especifique se o Stop Loss e a Meta de Lucro devem ser obrigatórios na estratégia e quais

são os valores mínimo e máximo de SL/PT em pips.


Você também pode definir a relação risco-recompensa desejada.

Definir SL/PT na estratégia é a abordagem mais simples e muitas vezes mais eficaz.

Se você desmarcar o SL/PT obrigatório, a estratégia gerada aleatoriamente pode (mas não precisa)

44
Machine Translated by Google

Guia do usuário do StrategyQuant

tem SL/PT fixo. É aconselhável usar uma regra de saída diferente se você desmarcar esta configuração,
por exemplo, sair após X barras, caso contrário a estratégia não terá como sair da negociação.

Períodos de retrospectiva
Aqui você pode configurar os períodos e coeficientes usados pelo GB ao gerar as regras de negociação.

Período Máximo para Indicadores

define o período máximo que será usado para indicadores. Normalmente não usamos períodos maiores que 100-300 no
sistema de negociação (dependendo do tipo de estratégia de negociação), então é aconselhável definir o valor do período
máximo desejado.

Período Máximo para Padrões de Preços

este é o período máximo de lookback para padrões de preços (preços de abertura, alta, baixa e fechamento). Realmente
não faz sentido defini-lo para mais de 10-20, porque o preço mais antigo geralmente não tem relação com
o movimento atual do mercado.

Múltiplo ATR mínimo e máximo


esses são coeficientes usados no Stop Loss adaptativo ou na Meta de Lucro, se forem baseados no valor do Average
True Range.
* ATR
Por exemplo, definir o Mínimo como 0,5 e o Máximo como 5 informa ao SQ que ele pode usar o mínimo 0,5
como o valor SL ou PT e máximo 5 * ATR como valor SL ou PT.

45
Machine Translated by Google

Guia do usuário do StrategyQuant

5.2.4 Opções genéticas


configurações que afetam a evolução genética.

Uma coisa importante é que não há uma configuração ideal. Você pode experimentar com configurações de evolução

genética para obter os resultados que deseja.

Opções genéticas

O tamanho da
população é o número de estratégias diferentes em uma população. Deve ser pelo menos 50, o valor ideal será entre 100 - 1000 ou

talvez até mais.

Máx. # de gerações

é a contagem de quantas gerações a evolução deve ser realizada.

Probabilidade de mutação

é a probabilidade de uma estratégia sofrer mutação, devendo ficar em torno de 5-15%.

Probabilidade de Crossover
é a probabilidade de que a estratégia seja selecionada para operação de crossover. A cada geração há um crossover de

estratégias realizado durante o qual as duas estratégias parentais "acasalam" e produzem dois filhos. Valor recomendado é 95%.

Geração inicial da população

para população inicial você pode escolher duas opções:

Gerar população aleatória

A população inicial será gerada aleatoriamente usando as configurações e blocos de construção predefinidos.

Coeficiente de dizimação

dizimação significa que o sistema gera mais estratégias do que o necessário para a população inicial e, então, escolhe apenas as

melhores. Para coeficiente de dizimação é 1, significa que não há dizimação.

Para coeficiente de dizimação = 2, o sistema gera 2 estratégias de tamanho populacional e então escolhe a melhor metade para

a população inicial.

Para coeficiente de dizimação = 3, o sistema gera 3 estratégias x tamanho da população e então escolhe o melhor terço para a

população inicial.

Profundidade máxima da árvore

permite que você especifique a profundidade máxima da árvore de condições de estratégia. Se você não marcar 'Force...', ela

será imposta somente para a geração inicial, gerações subsequentes podem obter árvores com profundidades maiores que

são o resultado de clonagem e mutação de estratégia.

Se você marcar Forçar para todas as gerações, a profundidade máxima da árvore será aplicada para todas as

estratégias geradas.

46
Machine Translated by Google

Guia do usuário do StrategyQuant

Utilizar sistemas de banco de dados como população inicial


estratégias existentes podem ser usadas como população inicial. Essas estratégias precisam ser carregadas no banco de
dados da população inicial .

Condições iniciais da população


ao gerar a população inicial, você pode especificar configurações adicionais para filtrar estratégias ruins que você não
quer usar. Por exemplo, você pode configurá-lo para descartar (jogar fora) estratégias onde o Lucro Líquido está abaixo
de zero ou onde o número de negociações está abaixo de um certo nível.

Gestão da Evolução
isso foi atualizado na versão 3.5, agora permite que você divida o período de amostra em duas partes para uma abordagem
de 3 partes e controle a evolução de mais maneiras.

Leia a abordagem de 3 partes de dados para obter mais informações sobre a nova funcionalidade e exemplos.

Comece novamente quando terminar

se marcado, reiniciará a evolução quando terminar (atingir o número máximo de gerações).

Reinicie quando a aptidão física estagnar por X gerações


se marcado, ele reiniciará se a aptidão estagnar por um número determinado de gerações. A aptidão é a pontuação da
estratégia. Se estagnar por 5-10 gerações, geralmente é um sinal de que a evolução atingiu seu potencial ou entrou em
um beco sem saída, então pode ser uma boa ideia apenas reiniciá-la.

47
Machine Translated by Google

Guia do usuário do StrategyQuant

5.2.5 Gestão de dinheiro

A gestão de dinheiro (ou dimensionamento de posição) especifica quantos lotes ou ações são negociados em cada operação.

O StrategyQuant contém três opções diferentes de gerenciamento de dinheiro que podem ser usadas no programa e também
posteriormente em negociações reais no MetaTrader.

Tamanho fixo
a estratégia negociará com um número fixo de lotes. Esta é uma configuração recomendada quando você gera uma nova
estratégia, porque ela lhe dá uma visão geral clara do desempenho real da estratégia.

Valor fixo
a estratégia arriscará uma quantia fixa de dinheiro para cada negociação.

Este é um gerenciamento básico de dinheiro sem composição. Pode ser usado para testar o desempenho real de estratégias
onde o Stop Loss é baseado na volatilidade (ATR),
ou se você quiser comparar o desempenho de estratégias com diferentes Stop Loss.

Risco fixo % da conta


gerenciamento financeiro avançado que é recomendado para negociação real. A estratégia arriscará uma determinada % de
capital em cada negociação.
Esta é uma gestão financeira simples, mas muito eficaz, que permitirá que a estratégia aumente o número de lotes à medida
que sua conta cresce.

Geralmente, é recomendado arriscar no máximo 2-5% do patrimônio da conta por negociação.

48
Machine Translated by Google

Guia do usuário do StrategyQuant

5.2.6 Testes de robustez

Testes de robustez são testes adicionais que podem ser aplicados à sua estratégia. A ideia por trás do teste de robustez
é verificar o quão bem a estratégia se comportará quando houver pequenas mudanças em entradas, dados históricos ou outros
componentes da estratégia.

Uma estratégia robusta deve ter bom desempenho mesmo quando os parâmetros de entrada são ligeiramente alterados ou
quando algumas ordens são ignoradas.

O StrategyQuant permite que você use testes de robustez em uma forma de análise de Monte Carlo.
Isso significa que o programa executará um número especificado de testes de estratégia com alterações aleatórias dadas.
Como resultado, você receberá um número de resultados de saída e ações de saída, um para cada teste.

Você pode então verificar esses resultados para ver como a estratégia se comporta quando as entradas são alteradas, o que
ajuda a decidir se você pode negociar tal estratégia.

Configurações de simulação de Monte Carlo

Testar a estratégia com dados de entrada aleatórios ou históricos fornece apenas uma alternativa que pode ser comparada ao resultado
original.
Para obter uma imagem mais completa, o teste de robustez pode ser repetido até recebermos um conjunto maior de resultados
diferentes.

Você pode especificar o número de testes na variável Number of simulations . Quanto mais simulações forem executadas, melhor será
a significância estatística dos resultados, mas isso tem um preço.
Cada teste leva seu tempo, então quanto mais testes você executar, mais tempo levará para fazer o backtest completo da estratégia.

O melhor valor dos testes está entre 10 e 100.

O nível de confiança para relatórios é simplesmente um nível de confiança marcado com um fundo escuro na tabela de análise de
robustez (veja abaixo).
O nível de confiança usual a ser usado é de 95%.

Tipos de testes de robustez

Abaixo está uma explicação de diferentes tipos de testes que você pode usar. Se mais de uma opção for marcada, os testes serão
combinados.

Ordem de negociação aleatória


este é o teste mais simples, na variação Exact ele apenas embaralha aleatoriamente a ordem das negociações. Isso não muda o
Net Profit resultante, mas é muito útil para examinar diferentes variações de Drawdown que podem ser resultado de diferentes
ordens de negociações.

Na variação mais avançada de Reamostragem deste teste, as negociações não são apenas embaralhadas. Em vez disso, o
programa escolhe aleatoriamente o número total de negociações do conjunto de todas as negociações no histórico. A diferença é que
neste método a lista de negociações pode não ser a mesma. Ele pode escolher uma negociação várias vezes e algumas outras
negociações podem não ser escolhidas.
Isso dará ainda outra visão do sistema. Esse método geralmente mudará tanto o Lucro Líquido quanto o Drawdown e é um teste
bastante extremo.

49
Machine Translated by Google

Guia do usuário do StrategyQuant

Pular negociações aleatoriamente

ele pulará aleatoriamente negociações com probabilidade dada. Em negociações reais, você pode frequentemente perder uma negociação
por causa de falha de plataforma ou Internet, ou simplesmente porque você pausou a negociação por algum tempo.
Este teste lhe dará uma ideia de como a curva de patrimônio pode ficar se algumas negociações forem ignoradas aleatoriamente.

Parâmetros de estratégia de randomização

toda estratégia usa parâmetros, como o período de um indicador ou constante que é usada na comparação.
Este teste verifica a sensibilidade da estratégia a uma pequena alteração no valor do parâmetro.
Probabilidade de mudança é uma probabilidade de que qualquer parâmetro mude seu valor. Mudança máxima de parâmetro é a
porcentagem máxima para a qual o parâmetro muda seu valor.
Por exemplo, se você definir a alteração máxima do parâmetro como 10%, um parâmetro com valor 60 poderá ser alterado
aleatoriamente para um intervalo de 54 a 66 (+- 10% do seu valor original de 60).

Barra de Início Randomizada

isso testará o comportamento da estratégia quando o teste começar em uma barra inicial diferente. É óbvio que uma boa estratégia
não pode ser sensível a qual barra você inicia o teste.

Randomizar dados históricos

um caso muito comum de ajuste de curva é quando a estratégia é muito dependente de dados históricos. Esta opção verifica o
comportamento da estratégia a uma mudança nos dados históricos.
A Probabilidade de mudança define para cada barra o quão provável é que o preço de abertura, alta, baixa ou fechamento seja alterado. A
mudança máxima de preço é um valor percentual da mudança em relação ao ATR (Average True Range).

Então, se por exemplo o preço de fechamento for escolhido aleatoriamente para ser alterado, o valor do ATR for 10 pips e a alteração
máxima do preço for 20%, então o preço pode mudar em +- 2 pips

Randomize Spread, Slippage, Distância mínima do preço

Essas simulações executarão o teste com spread, slippage ou distância mínima da ordem de parada do preço escolhido aleatoriamente
no intervalo fornecido.

Para obter informações sobre como usar testes de robustez e como interpretar os resultados, consulte a seção Testes de
robustez e análise .

50
Machine Translated by Google

Guia do usuário do StrategyQuant

5.2.7 Opções de classificação

Quando as estratégias são geradas, cada nova estratégia é testada em um histórico de dados e os resultados do teste são então

usados para calcular a aptidão (classificação) da estratégia.

A aptidão é um número de 0 a 1 e deve refletir a "qualidade" da estratégia de acordo com o dado


critérios.

Nesta tela você pode configurar:

• como esse valor de aptidão é calculado (critérios de seleção de estratégia)

• quantas estratégias principais são armazenadas no banco de dados

• quais estratégias são armazenadas no banco de dados e quais são descartadas (condições personalizadas)

Opções de banco de dados


As melhores estratégias encontradas são continuamente armazenadas no Banco de Dados.

Não é possível armazenar todas as estratégias (lembre-se de que o StrategyQuant pode criar milhares de novas estratégias a cada hora),

então temos que especificar quantas estratégias devem ser

armazenadas no banco de dados, como elas devem ser classificadas para descobrir as melhores e quais estratégias devem ser

descartadas.

Estratégias Máximas para Armazenar em Banco de Dados

simplesmente o número máximo de estratégias lembradas no programa

Descartar estratégias que tenham 100% de ordens duplicadas

se marcado, estratégias que têm exatamente as mesmas ordens que alguma estratégia no banco de dados serão descartadas.

É recomendado marcar isso, se houver uma estratégia com

ordens duplicadas, provavelmente será a mesma estratégia com regras redundantes.

Condições personalizadas
Você pode definir regras para descartar estratégias com propriedades ruins. Por exemplo, geralmente faz sentido descartar
estratégias que resultam em perdas ou aquelas que têm um número muito pequeno de negociações.

As condições personalizadas permitem que você especifique suas próprias regras personalizadas que serão avaliadas para cada
estratégia.
Se a estratégia corresponder a qualquer uma das regras, ela será descartada.
Isso é útil para descartar rapidamente estratégias que resultam em perdas ou com número muito pequeno de negociações.

Há valores separados para desempenho dentro e fora da amostra e para testes de robustez (se usados) ou portfólio (se você usou dados
adicionais).

51
Machine Translated by Google

Guia do usuário do StrategyQuant

As abreviações utilizadas nas condições personalizadas são:

IS (In Sample) - resultado da parte In Sample dos dados


OOS (Out of Sample) - resultado da parte Out of Sample dos dados
RT (Robustness Tests) - resultado dos testes de robustez
P (Portfólio) - resultados para o portfólio (se existir)

Critérios de seleção de estratégia


Aqui você pode escolher de quais dados os critérios de estratégia serão calculados e quais critérios devem ser

ser usado para calcular a aptidão total da estratégia.

Calcule a aptidão de:

Você pode selecionar se deseja calcular a aptidão (pontuação de aptidão da estratégia) a partir dos dados principais ou do

portfólio (se também usar dados adicionais).

Geralmente é recomendado usar o Portfólio, então a adequação da estratégia será calculada a partir da soma de todas as

negociações em todos os símbolos do seu portfólio.

Se você usar esta configuração e não tiver dados adicionais, o condicionamento físico será calculado automaticamente a partir dos
dados principais.

Determinar as melhores estratégias por

Você pode escolher entre os critérios predefinidos mais usados ou pode criar sua própria função de condicionamento físico complexa

com base em vários critérios, cada um com um peso diferente.

Note que se você escolher combinar muitos critérios, eles podem "lutar" uns contra os outros sem atingir o que você esperava. Fator

de lucro

critério para maximizar o Fator de Lucro de uma estratégia.

Você pode encontrar explicações para cada critério de classificação aqui.

52
Machine Translated by Google

Guia do usuário do StrategyQuant

5.2.8 Partes a melhorar

A estratégia consiste em três partes - Regras de entrada, Tipo de ordem e Regras de saída. Cada uma dessas partes pode ser
melhorada independentemente.

Dessa forma, você pode, por exemplo, procurar melhores regras de saída ou gerar uma nova regra para entrada longa, mantendo a regra
de entrada curta da estratégia original.

Você tem que verificar a parte que quer melhorar. Também há a possibilidade de melhorar partes longas/curtas independentemente.

Tipos de adição:
adicionar - adiciona nova condição à regra
substituir - substituir toda a regra por uma nova condição
adicionar ou substituir - determina aleatoriamente se deve adicionar ou substituir

Processo de melhoria
Melhoria significa que o StrategyQuant fará uma cópia da estratégia original e gerará aleatoriamente novas condições que
substituirão ou adicionarão à parte da estratégia selecionada.

Em seguida, ele testará a nova variação da estratégia para verificar se a "melhoria" resultou em melhor desempenho.

As estratégias que apresentam melhor desempenho que a estratégia original são então armazenadas no banco de dados.

53
Machine Translated by Google

Guia do usuário do StrategyQuant

5.2.9 Parâmetros

esta tela de configurações está disponível somente para o Optimizer. Quando você carrega uma estratégia para o
optimizer, então você tem que especificar quais parâmetros devem ser otimizados na tela Parameters.

Cada parâmetro que você deseja otimizar deve ser verificado e você deve definir seus valores de Início, Parada e Passo.

O mecanismo de otimização tentará todos os valores do início ao fim, executando etapas.


O valor original está lá para comparação com o desempenho da estratégia original.

Número de testes
O valor em Número de testes mostra quantos testes no total precisam ser realizados.

Se você escolher otimizar mais de um parâmetro, o mecanismo de otimização testará todas as combinações de
todos os parâmetros.
Se você escolher muitos parâmetros para otimizar, isso pode resultar em milhares ou até milhões de testes.

Método de otimização
Existem dois métodos de otimização disponíveis:
Força bruta - métodos de força bruta passam por todas as combinações possíveis de parâmetros. Pode ser muito lento
quando você otimiza muitos parâmetros.

Otimização genética - para cada otimização com número de testes maior que 500 ou 1000 você deve usar o
método de Otimização Genética.

54
Machine Translated by Google

Guia do usuário do StrategyQuant

5.2.10 Critérios de sucesso

Nota - Mudança na versão 3.5


Os critérios de sucesso do Walk-Forward não são mais configurados nas Configurações; em vez disso, há critérios de sucesso
totalmente dinâmicos disponíveis na página de resultados do Walk-Forward.
Em vez de em Configurações, agora você encontrará esta página em Resultados -> Resultados do Walk-Forward ao clicar
duas vezes em um resultado do Walk-Forward no banco de dados após a otimização.

A primeira parte da página de resultados do Walk-Forward mostra a pontuação total da estratégia (calculada a partir dos
critérios de sucesso, veja abaixo) e outras características das execuções do Walk-Forward, como valores de lucro,
eficiência ou consistência.

A segunda parte contém critérios de Score configuráveis dinamicamente . Você pode verificar qualquer critério que queira
avaliar na avaliação de execução do WF, bem como definir seu valor limite.

Lista de testes disponíveis:

Pontuação total
é um critério especial, aqui você define quantos dos seguintes critérios precisam passar para considerar a execução aprovada.
No nosso caso, precisamos de pelo menos 4 critérios disponíveis
(Lucro, Eficiência, Consistência, Distribuição, Drawdown, Negociações) para ser bem-sucedido.
No nosso caso, 5 testes foram bem-sucedidos, o que é mais do que os 4 necessários, então a execução passou no teste de critérios de pontuação.

Lucro (Lucratividade Geral)


A lucratividade geral verifica se o lucro líquido resultante do teste de otimização é maior que o valor fornecido.
No nosso caso, o lucro total foi de 5.743%, o que é mais do que o necessário, US$ 1.990.

Eficiência (robustez de avanço)

55
Machine Translated by Google

Guia do usuário do StrategyQuant

este critério mede a robustez das execuções walk-forward. Por exemplo, se as partes de otimização ganharam $ 10.000 e as partes
de execução ganharam $ 5.000, então a Eficiência Walk-
Forward é exatamente 50% (partes de execução ganharam 50% do que as partes de otimização).
No nosso caso, o teste de eficiência falhou, porque a parte de execução obteve apenas 46% da parte de otimização e o valor necessário
para passar no teste é 60%.

Consistência (de Lucros)


Ele verifica qual porcentagem de peças executadas é lucrativa e a compara com a porcentagem mínima fornecida.

No nosso caso, a consistência foi de 60%, que é exatamente o valor mínimo necessário.

Distribuição (de Lucros)


isso mede o quão grande foi o impacto de cada execução no lucro geral da estratégia. Por exemplo, se um período contribuiu para
mais de 50% do lucro total da estratégia
significa que o restante dos períodos teve um desempenho bastante ruim.
No nosso caso, esse teste foi aprovado, porque nenhuma execução produziu mais de 50% do lucro total.

Drawdown (Redução Máxima)


ele verifica se a porcentagem máxima de redução de qualquer execução excedeu o máximo fornecido.
No nosso caso, o drawdown máximo foi de apenas 9%, dos até 25% permitidos.

Negociações mínimas

ele verifica se há pelo menos um número mínimo de negociações produzidas em cada execução. Se uma execução produz poucas
negociações, é menos estatisticamente significativa.
No nosso caso, cada execução teve mais de 100 negociações.

Controle de critérios de pontuação explicado

5.2.11 Opções globais

As opções globais estão disponíveis no menu Ferramentas -> Opções.

Em geral
A guia geral permite que você configure coisas gerais, como o título do programa, como salvar mensagens de log ou formato de
data e hora.

56
Machine Translated by Google

Guia do usuário do StrategyQuant

Desempenho
A aba performance permite que você configure quantos núcleos da sua CPU serão usados para computação. Quanto mais núcleos você escolher,
maior será a carga do seu computador.

Não armazene lista de negociações na memória


Se você marcar esta opção, todas as estratégias que são armazenadas no banco de dados terão suas negociações armazenadas em arquivos
temporários. Isso economiza bastante memória, porque o histórico da lista de negociações consome a maior parte da memória para cada
estratégia.
Se as negociações forem armazenadas em arquivos temporários, elas serão carregadas somente quando forem necessárias, por exemplo, quando
você alternar para a lista de negociações ou para o gráfico de ações.

Não armazene pedidos expirados e pendentes de substituição


se você marcar essas opções, ordens pendentes expiradas e substituídas não serão salvas no histórico de estratégias.
Esta é a configuração padrão. Você deve desmarcá-la somente se precisar investigar algo com os pedidos expirados.

Parâmetros de estratégia
esta aba permite que você defina o comportamento dos parâmetros globais. A estratégia contém dois conjuntos de regras, um para o lado longo e
um para o lado curto. Normalmente, elas são simétricas.

Use os mesmos parâmetros para regras longas e curtas


Os parâmetros usados nessas regras (por exemplo, períodos para indicadores) podem ser nomeados por nomes comuns, os mesmos para regras
longas e curtas, ou separados para cada direção.
A menos que você queira otimizar a estratégia especialmente para regras longas e curtas, você deve deixá-la marcada.

Adicionar parâmetros para opções de estratégia


essa configuração se aplica às configurações de Optimizer -> Parameters . Quando você otimizar a estratégia, você pode escolher exibir apenas
parâmetros de estratégia, ou também parâmetros para opções gerais de negociação, como intervalo de tempo para negociação, etc.

Parâmetros sem e com opções de estratégia:

Relatórios HTML
possibilidade de personalizar relatórios HTML produzidos pelo programa. Você pode personalizar quais gráficos você quer ver no relatório de
desempenho da estratégia.

57
Machine Translated by Google

Guia do usuário do StrategyQuant

5.3 Resultados

5.3.1 Bancos de dados

Banco de dados é um local de armazenamento onde as estratégias geradas/testadas são armazenadas com seus resultados.

Cada modo (Construir/Testar/Melhorar/Otimizar) tem sua própria tabela de banco de dados independente.

Por razões de memória, o Banco de Dados não pode manter um número ilimitado de estratégias; em vez disso, ele armazena o

número selecionado de estratégias principais, por exemplo, as 100 principais ou as 1000 principais estratégias.

A configuração de quantas estratégias armazenar no Banco de Dados e como classificá-las pode ser definida em Configurações ->

Opções de Classificação

Funções do banco de dados

Cada resultado de estratégia no Banco de Dados pode ser visualizado na tela Resultados usando um clique duplo.

Carregar

este botão está disponível apenas no banco de dados Retest , ele carrega projetos de estratégia (arquivos .str) para que possam ser
testado novamente.

Salvar (como Estratégia/Portfólio/Relatório HTML/Código-fonte)


Dessa forma você pode salvar sua estratégia. Você deve sempre salvar boas estratégias em um Projeto de Estratégia (.str) para que
possa trabalhar com elas mais tarde.

Editar (Parâmetros/Regras de negociação)

aqui você pode editar manualmente a estratégia selecionada - os valores de seus parâmetros ou a negociação
regras.

Excluir/Limpar tudo
isso excluirá todas as estratégias selecionadas ou da lista

Criar portfólio
ele combinará estratégias selecionadas em um portfólio - um relatório especial que combina resultados de negociação de múltiplas
estratégias. Você pode então verificar/analisar os resultados de todo o portfólio de estratégias.

Visualizações

Cada linha na tabela representa uma estratégia mais os resultados do backtest da estratégia — número de negociações, lucro/perda

total, pontuação de aptidão, etc. — são visíveis nas colunas da tabela.

Os resultados são divididos em partes Dentro da Amostra e Fora da Amostra.

58
Machine Translated by Google

Guia do usuário do StrategyQuant

Todas as colunas no banco de dados são personalizáveis, você pode escolher quais colunas deseja ver usando visualizações.

Exportar para CSV


você também pode exportar todo o conteúdo da tabela para um arquivo CSV

5.3.2 Visão geral

A tela de visão geral exibe várias estatísticas calculadas a partir dos dados do backtest.

5.3.3 Lista de negócios

Contém a lista completa de negociações geradas pelo backtest.

Se você testou sua estratégia em vários símbolos/períodos de tempo, você pode alternar entre os resultados ou verificar a lista de
negociações de todo o portfólio.

5.3.4 Gráfico de patrimônio líquido

Exibe o gráfico de patrimônio da estratégia.

O marcador de estagnação mostra o período máximo de estagnação - este é o período mais longo que a estratégia levou para atingir
uma nova máxima no patrimônio líquido.

No caso de portfólio, ele exibe gráficos para cada símbolo/período de tempo testado, além do patrimônio do portfólio completo.

5.3.5 Análise de negociação

Esta tela exibe o desempenho anual da estratégia, além de pequenos gráficos configuráveis com negociações por hora, dia da semana, dia
do mês, etc.

5.3.6 Análise de robustez

Esta tela estará vazia se você não configurou nenhum Teste de Robustez.

Caso contrário, ele contém um gráfico de equidade para cada simulação de teste de robustez e uma tabela de níveis de confiança
importantes calculados usando a análise de Monte Carlo de simulações.

Para obter informações sobre como usar testes de robustez e como interpretar os resultados, consulte a seção Testes de
robustez e análise .

59
Machine Translated by Google

Guia do usuário do StrategyQuant

5.3.7 Configurações de estratégia

Esta tela exibe as configurações atuais do programa em comparação com as configurações que foram usadas quando a estratégia
foi testada/gerada pela última vez.
As diferenças são destacadas em vermelho.

Para carregar rapidamente as configurações da estratégia, você pode usar o botão Aplicar configurações da estratégia.
Isso carregará as configurações da estratégia e as aplicará à seção do programa selecionada.

60
Machine Translated by Google

Guia do usuário do StrategyQuant

5.3.8 Código fonte

A aba Source code é onde você obterá o resultado do programa. Para cada estratégia selecionada, ele gera o código-fonte
selecionado.

Tipo de código fonte

Existem três tipos de código-fonte que podem ser gerados:

Pseudocódigo
pseudo código legível por humanos da estratégia. Você pode ver a lógica da estratégia e pode usá-la para negociação
manual.

Consultor especialista MetaTrader4


o código EA para MetaTrader. Você pode salvar o código EA no diretório MetaTrader/experts e poderá executar seu novo EA
no MetaTrader.

MT4 EA especial - Negocie na barra aberta


versão especial do MetaTrader4 EA - ele verifica sinais e realiza negociações somente na abertura de uma barra.
Isso é válido não apenas para abrir a negociação, mas também para fechá-la com stop loss ou meta de lucro.
Se a negociação atingir seu stop loss ou meta de lucro, ela NÃO será fechada imediatamente neste nível, mas na abertura
da próxima barra!

O EA gerado dessa forma será 100% compatível com a estratégia testada no SQ usando a precisão do teste Trade on Bar
Open .

Código NinjaTrader
Código de estratégia para NinjaTrader. Você pode copiar e colar o código na nova estratégia NinjaTrader.
Verifique mais sobre isso na seção Exportando a estratégia do StrategyQuant para o NinjaTrader

Colocar valores em parâmetros

marcando esta caixa de seleção você pode gerar um código onde todas as constantes numéricas, como períodos
indicadores, constantes de comparação
etc., serão parametrizadas - um parâmetro será adicionado para cada constante.
Isso permitirá que você otimize seu EA no MetaTrader ou teste-o com diferentes valores de parâmetros.

61
Machine Translated by Google

Guia do usuário do StrategyQuant

6 Funcionalidade avançada

6.1 Testes e análises de robustez

A estratégia de ajuste de curva aos dados históricos nos quais ela foi construída é o maior perigo das estratégias geradas
usando qualquer processo de aprendizado de máquina.
Depois de desenvolver uma nova estratégia, você deve garantir que ela seja robusta, o que deve aumentar a probabilidade de
que ela funcione também no futuro.

O que é robustez?
É simplesmente a propriedade da estratégia de ser capaz de lidar com condições mutáveis.
- Primeiramente, a estratégia deve trabalhar com dados desconhecidos (se as características do mercado não mudaram),
com ou sem reotimização periódica dos parâmetros.
- Não deve se desfazer se algumas negociações forem perdidas.
- Uma estratégia robusta não deve ser muito sensível aos parâmetros de entrada - ela deve funcionar mesmo se você alterar
ligeiramente os valores dos parâmetros de entrada, como o período do indicador ou alguma constante.

Como testar estratégias para robustez

1. Utilize os períodos In Sample e Out of Sample

o teste mais básico para robustez é testar a estratégia em dados Out of Sample. Se você executar evolução genética, a
estratégia é evoluída apenas na parte In Sample dos dados. A parte Out of Sample é "desconhecida" para a estratégia,
então ela pode ser usada para determinar se a estratégia também funciona em parte desconhecida dos dados.

A parte azul de cada gráfico são os dados fora da amostra (desconhecidos). Podemos ver que a estratégia à esquerda
também tem um bom desempenho nessa parte, enquanto a estratégia à direita falha nos dados desconhecidos - é quase certo
que seja ajustada à curva.

2. Teste estratégias em vários símbolos e prazos

o segundo teste de robustez é muito difícil - significa testar a mesma estratégia em diferentes símbolos e/ou outro(s) período(s).
Uma estratégia robusta deve idealmente funcionar em múltiplos símbolos/períodos.
Na realidade, como cada mercado tem suas próprias características, volatilidade diária, etc., não será fácil encontrar uma
estratégia que tenha o mesmo desempenho perfeito em vários símbolos usando apenas um conjunto de configurações.

Podemos ficar satisfeitos se a estratégia tiver desempenho em outros mercados com pelo menos algum grau de
lucratividade, ou apenas com pequenas perdas.

62
Machine Translated by Google

Guia do usuário do StrategyQuant

StrategyQuant permite que você especifique símbolos adicionais para construir/testar as estratégias
na seção Dados adicionais. Você pode até testar a estratégia no mesmo símbolo com diferentes prazos.

63
Machine Translated by Google

Guia do usuário do StrategyQuant

Nos dois gráficos acima você pode ver o teste de estratégia no EURUSD (linha verde), GBPUSD (linha ciano) e o portfólio de
ambos (linha azul).
Enquanto no gráfico da esquerda a estratégia tem um bom desempenho em ambas as moedas, no gráfico da direita você pode
ver que o desempenho em GBPUSD é ruim. Essa estratégia provavelmente não é robusta o suficiente.

3. Use a ferramenta Robustness Tests no StrategyQuant

StrategyQuant permite que você ative os Testes de Robustez. A ferramenta Testes de Robustez simplesmente testa
repetidamente a estratégia com diferentes mudanças aleatórias nos parâmetros de entrada e dados realizando simulação
de Monte Carlo.
A ideia por trás desse teste de robustez é verificar o desempenho da estratégia quando há pequenas alterações em entradas,
dados históricos ou outros componentes da estratégia.

64
Machine Translated by Google

Guia do usuário do StrategyQuant

Você pode simular diferentes propriedades:

- Randomize Trades Order - este é o teste mais simples, ele embaralha aleatoriamente a ordem dos trades. Isso não altera o Net
Profit resultante, mas é muito útil para examinar diferentes variações de Drawdown que podem ser resultado de diferentes ordens
de trades.

- Pular negociações aleatoriamente - ele pulará negociações aleatoriamente com probabilidade dada. Em negociações reais, você
pode frequentemente perder uma negociação por causa de falha de plataforma ou Internet, ou simplesmente porque você pausou a
negociação por algum tempo. Este teste lhe dará uma ideia de como a curva de patrimônio pode parecer se algumas negociações
forem puladas aleatoriamente.

- Randomize Starting Bar - isso testará o comportamento da estratégia quando o teste começar em uma barra inicial diferente. É óbvio
que uma boa estratégia não pode ser sensível a qual barra você inicia o teste.

- Parâmetros de estratégia aleatórios - cada estratégia usa parâmetros, como o período de um indicador ou constante que é usado em
comparação. Este teste verifica a sensibilidade da estratégia a uma pequena alteração do valor do parâmetro. Probabilidade de alteração
é uma probabilidade de que qualquer parâmetro altere seu valor. A alteração máxima do parâmetro é a porcentagem máxima para a qual
o parâmetro altera seu valor. Por exemplo, se você definir a alteração máxima do parâmetro para 10%, então um parâmetro
com valor 60 pode ser alterado aleatoriamente para um intervalo de 54 a 66 (+- 10% de seu valor original de 60).

- Randomize History Data - um caso muito comum de ajuste de curva é quando a estratégia é muito dependente de dados históricos.
Esta opção verifica o comportamento da estratégia a uma mudança nos dados históricos.
A Probabilidade de mudança define para cada barra o quão provável é que o preço de abertura, alta, baixa ou fechamento seja alterado.
A mudança máxima de preço é um valor percentual da mudança em relação ao ATR (Average True Range).

Então, se por exemplo o preço de fechamento for escolhido aleatoriamente para ser alterado, o valor do ATR for 10 pips e a alteração
máxima do preço for 20%, então o preço pode mudar em +- 2 pips

Interpretando os resultados
Os testes de robustez produzem os resultados como um conjunto de gráficos de patrimônio para cada execução de teste E uma tabela
mostrando os resultados da simulação de Monte Carlo.

Neste exemplo, executamos 10 simulações, com alterações aleatórias nos parâmetros da estratégia, dados históricos e negociações
ignoradas aleatoriamente.
Podemos ver qual seria o patrimônio para cada uma dessas simulações e a tabela à esquerda nos fornece informações valiosas sobre as
propriedades da estratégia durante essas simulações.

65
Machine Translated by Google

Guia do usuário do StrategyQuant

O que esses valores significam?


A primeira linha exibe valores de Lucro Líquido, % Máxima de Redução etc. da estratégia original para comparação.

O restante das linhas exibe valores em diferentes níveis de confiança.


Esses números são resultado da análise de Monte Carlo aplicada em nossas 10 simulações aleatórias.

Por exemplo, valores com nível de confiança de 80% significam que há 20% de chance de que o Lucro Líquido, o
Drawdown etc. sejam piores do que os valores do nível de confiança.
Valores com nível de confiança de 90% significam que há 10% de chance de que o Lucro Líquido, Drawdown etc. sejam piores
do que os valores do nível de confiança.
Valores com nível de confiança de 95% significam que há apenas 5% de chance de que o Lucro Líquido, o
Drawdown, etc. sejam piores do que esses valores.

Então, a simulação de Monte Carlo da nossa estratégia nos mostra que, ao pular 10% das negociações aleatórias e pequenas
mudanças aleatórias nos parâmetros de entrada e dados, nosso Lucro Líquido pode diminuir de $ 6.990 para $ 3.943,
e o Drawdown Máximo pode aumentar de 6,97% para 11,36%.
Isso significa que há apenas 5% de chance de que o Lucro Líquido seja menor que US$ 3.943. Ao analisar os níveis de
confiança mais altos, podemos ver que nenhum dos nossos testes teve resultados piores que US$ 3.943, então a
estratégia parece ser relativamente robusta às mudanças às quais a expusemos.

Como os testes de robustez são gerados aleatoriamente, os gráficos de ações e valores na tabela serão ligeiramente
diferentes toda vez que você testar novamente a estratégia. Além disso, quanto mais simulações você executar, maior será
a significância estatística deste teste.

66
Machine Translated by Google

Guia do usuário do StrategyQuant

4. Use a matriz Walk-Forward como teste de robustez

O quarto tipo de verificação de robustez é o teste usando Walk-Forward Matrix. Se a estratégia passar neste teste, significa
que, com a ajuda da reotimização de parâmetros, ela é adaptável a uma grande variedade de condições de mercado.

67
Machine Translated by Google

Guia do usuário do StrategyQuant

6.2 Otimização

6.2.1 Otimização simples

A ideia por trás de uma otimização é simples. Primeiro você tem que ter um sistema de negociação, isso pode ser um
simples crossover de média móvel, por exemplo.

Em quase todos os sistemas, há alguns parâmetros (períodos indicadores, constantes comparativas, etc.) que decidem como
um dado sistema se comporta. A otimização significa testar o sistema com diferentes valores de parâmetros

para encontrar os valores ótimos desses parâmetros (dando maior lucro ou melhor relação Retorno/DD).

Exemplo de otimização

Etapa 1: Carregando uma estratégia para otimização

Primeiro, você precisa alternar para a janela do Otimizador e carregar a estratégia que deseja otimizar.

Neste exemplo, usaremos a estratégia EMA_Cross simples, que opera comprado quando a EMA mais rápida cruza acima da
EMA mais lenta, e vendido quando a EMA mais rápida cruza abaixo da EMA mais lenta.
Depois de carregar a estratégia, ela também é adicionada como Estratégia original ao banco de dados de resultados
de otimização.

Você pode clicar duas vezes na estratégia Original e depois ir em Resultados -> Código-fonte para ver suas regras.

68
Machine Translated by Google

Guia do usuário do StrategyQuant

Certifique-se de marcar a caixa de seleção Colocar valores nos parâmetros para ver que as variáveis pLongEMA_1,
pLongEMA_2, pShortEMA_1, pShortEMA_1 são usadas para armazenar parâmetros do indicador.
Em nossa otimização, tentaremos encontrar valores ótimos desses parâmetros.

Ainda há um pequeno problema. Podemos ver que a estratégia usa parâmetros diferentes para direção longa e curta.

Podemos usá-lo assim se quisermos encontrar valores ótimos independentemente para o lado longo e curto, mas, para nosso
exemplo, gostaríamos de usar o mesmo parâmetro para o lado longo e curto.

Podemos fazer isso no programa Ferramentas -> Opções -> Parâmetros de estratégia.

Se você marcar a primeira caixa de seleção, serão usados os mesmos parâmetros para direções longas e curtas (desde que as
regras sejam as mesmas).
Clique em OK para armazenar as configurações e atualizar o código-fonte.

69
Machine Translated by Google

Guia do usuário do StrategyQuant

Agora você pode ver que a estratégia contém apenas os parâmetros pEMA_1, pEMA_2 que são usados para ambas as direções.

Etapa 2: Definir valores de otimização

Para configurar os valores que serão otimizados, temos que ir em Configurações -> Parâmetros

Aqui você pode ver a lista de todos os parâmetros de estratégia que estão disponíveis para otimização.
Otimização significa simplesmente tentar valores diferentes de parâmetros de entrada.

Para cada parâmetro que você deseja otimizar, você tem que verificar a linha do parâmetro e escolher os valores Start, Stop
e Step . O otimizador irá iterar o valor do Start para o Stop, tomando Steps.

70
Machine Translated by Google

Guia do usuário do StrategyQuant

O valor original também é configurável, ele será usado para testar novamente a estratégia original. Você pode usar esse valor para
comparar o desempenho de novos resultados com as configurações "originais".

O valor Número de testes nos mostra quantos testes precisam ser realizados para testar todas as combinações
de valores.

Observação!

É possível que sua tabela de parâmetros contenha muito mais parâmetros, ela poderia ficar assim:

Este é outro recurso poderoso do StrategyQuant. Ele permite que você otimize não apenas parâmetros de estratégia,
mas também outras opções de negociação, como quantas negociações fazer por dia ou qual deve ser o intervalo de tempo para
negociação.
Essas configurações normalmente fazem parte das Opções de Estratégia, mas você também pode otimizar seus valores.

Se você não quiser usá-los e vê-los na tabela Parâmetros, vá novamente para Ferramentas -> Opções -> Parâmetros de
estratégia e desmarque a caixa de seleção Adicionar parâmetros para opções de estratégia.

71
Machine Translated by Google

Guia do usuário do StrategyQuant

A última coisa que temos que configurar são os dados que serão usados para teste. Podemos escolher EURUSD no período
H4 para este exemplo.

Etapa 3: Executando a otimização

Agora estamos prontos para executar a otimização. Voltaremos para a tela Progress e clicaremos no botão Start .
O mecanismo de otimização testará todas as combinações possíveis de parâmetros de entrada selecionados e
armazenará os resultados de cada combinação no banco de dados na parte inferior.

72
Machine Translated by Google

Guia do usuário do StrategyQuant

Podemos classificar o banco de dados por Lucro Líquido e podemos ver que os melhores valores de entrada em
termos de lucro máximo são pEMA_1= 5 e pEMA_2 = 10.
Também podemos ver os resultados da estratégia original (fundo cinza) que usou pEMA_1 = 10 e pEMA_2 = 20

Interpretando os resultados

Agora temos parâmetros de entrada que foram otimizados para nosso símbolo e período de tempo fornecidos.

O que realmente fizemos foi descobrir o que funcionou melhor no passado. Temos que ser muito cuidadosos porque
os parâmetros podem ser ideais para os dados históricos, mas não há
garantia de que o que funcionou melhor nos dados históricos funcionará também no futuro.

Isso é chamado de ajuste de curva - geralmente, quanto mais parâmetros a estratégia tiver, maior será o perigo do
ajuste de curva.

Existem duas abordagens para ajuste de curva:


• certifique-se de que a estratégia é robusta e não otimiza seus valores de forma alguma
• garantir que a estratégia se beneficie da reoptimização periódica

Então a questão é: a reotimização periódica melhorará os resultados da minha estratégia?


Se sim, com que frequência devo fazer isso?

O StrategyQuant pode lhe dar respostas a essas perguntas usando outra de suas funcionalidades avançadas -
Otimização Walk-Forward e Matriz Walk-Forward.

73
Machine Translated by Google

Guia do usuário do StrategyQuant

6.2.2 Otimização Walk-Forward

A otimização Walk-Forward é geralmente um conjunto de otimizações simples seguidas de negociação usando os melhores
parâmetros.

É uma técnica na qual você otimiza os valores dos parâmetros em um segmento anterior de dados de mercado e, em seguida, verifica o
desempenho do sistema testando-o no futuro em dados após o segmento de otimização.

e o processo pode ser repetido em segmentos de tempo subsequentes.

Como funciona a otimização Walk-Forward

na otimização walk-forward, os dados são divididos em um número configurável de períodos (6 neste exemplo).

Cada período consiste em uma parte de otimização e uma parte de execução.

O programa começa com o período de otimização 1. Ele executará a otimização simples no período de otimização 1 para
encontrar os melhores valores de parâmetros.
Esses valores de parâmetros são então aplicados ao período de execução 1 - a estratégia é testada negociando com os
parâmetros otimizados no período de execução.

No final do período de execução 1, o sistema executa novamente uma otimização simples em uma parte dos dados marcada
como período de otimização 2.
Ele encontra o melhor conjunto de valores de parâmetros e eles são usados novamente para negociação no período de execução 2.

Isso continua até o período 6, que também é o fim dos dados históricos usados no teste.

A otimização Walk-Forward simula como você trabalharia com a estratégia durante negociações reais : você a otimizaria
com base em alguns dados históricos e, então, negociaria com os valores ideais.
Depois de algum tempo, você vai querer otimizá-lo novamente e deixá-lo negociar novamente.

A análise dos resultados do walk-forward pode dizer se a estratégia é uma boa candidata para reotimização periódica.

Exemplo de otimização Walk-Forward

Etapa 1: Configurando execuções de avanço

seguiremos com nosso exemplo de otimização simples, temos que carregar nossa estratégia e escolher os valores dos
parâmetros a serem otimizados,
só que agora escolheremos a opção Walk-Forward Optimization na tela Progress.

74
Machine Translated by Google

Guia do usuário do StrategyQuant

Para esta opção, temos que especificar também as configurações de avanço.

Tipo Walk-Forward
Existem dois tipos para escolher: Exato e Simulado.
A otimização exata executará a otimização completa para cada execução. Quando você tem 6 execuções, significa
que a otimização (em uma determinada seção de dados) é realizada 6x.

A otimização WF simulada pode ser muito mais rápida (10-100x) do que a Exata. Neste tipo, a otimização é
feita apenas uma vez no início para todo o período, e os resultados para cada execução
são computados a partir desta otimização.
A otimização simulada é um pouco menos precisa do que a Exata, mas as diferenças são aceitáveis e a velocidade é
muito maior. O que poderia levar dias usando o tipo Exato pode ser feito em horas ou
minutos usando o tipo Simulado.

Fora da amostra %
isso significa quanto do período inteiro resta para execução. Se definirmos como 30%, significa que em cada período 70%
dos dados são usados para otimização, e 30% serão usados para negociação usando os valores otimizados.

Corridas em frente
isso significa quantas execuções de otimização haverá, o que significa quantas vezes iremos reotimizar a estratégia.

Também é possível especificar os períodos de otimização (Na amostra) e execução (Fora da amostra) por dias exatos.
Você pode fazer isso marcando Definir número específico de dias.

75
Machine Translated by Google

Guia do usuário do StrategyQuant

Etapa 2: Configurando critérios de otimização

Esta funcionalidade foi atualizada na versão 3.5. Não há mais configurações de critérios de sucesso, em vez disso, há
critérios de sucesso totalmente dinâmicos disponíveis na tabela de resultados, não é necessário configurar isso antecipadamente.

Para encontrar mais informações sobre o que cada critério significa, consulte a página Critérios de Sucesso .

Agora podemos voltar ao painel de progresso e clicar no botão Iniciar .

Etapa 3: Verificando os resultados

A otimização Walk-Forward leva mais tempo do que uma simples, porque há 6 (ou mais) etapas de otimização
em vez de apenas uma.

Quando terminar, veremos que temos apenas dois resultados no banco de dados: Estratégia original e Resultado Walk-Forward.

Podemos ver que o resultado do Walk-Forward terminou em prejuízo, $ - 976.


Quando clicarmos duas vezes no resultado no banco de dados, os resultados da estratégia serão abertos.

Podemos ver que a estratégia falhou no teste de avanço, com base em nossos critérios de sucesso.
Na parte superior, você tem o resultado geral e, na tabela de critérios de teste, abaixo, você pode ver os resultados divididos
por cada critério de sucesso usado.

Abaixo desta tabela veremos o período de reotimização que foi utilizado:

Não especificamos os dias exatamente (poderíamos fazer isso marcando a caixa de seleção Definir número específico de dias
no painel Progresso).
Esses valores (204 dias de execução e 475 dias de otimização) foram calculados a partir dos dados históricos disponíveis
porque especificamos que queríamos ter 6 execuções e 30% de dados fora da amostra (execução).

76
Machine Translated by Google

Guia do usuário do StrategyQuant

Abaixo dessas informações podemos verificar os resultados para cada otimização e período de execução:

Você pode ver que apenas 3 de 6 corridas resultaram em lucro.

Também podemos verificar o gráfico de patrimônio:

Interpretando os resultados

Como devemos interpretar esses resultados?

Em primeiro lugar, está claro que essa estratégia em particular não se beneficiará da reotimização, pelo menos não da
reotimização usando os períodos que especificamos - 6 reotimizações em 5 anos, o que é aproximadamente
uma reotimização a cada 200 dias.

É possível que essa estratégia não seja robusta o suficiente e fracasse no futuro.

Mas também existe a possibilidade de que a estratégia seja lucrativa se forem escolhidos períodos diferentes
e mais frequentes de reotimizações.
Como podemos saber qual é o melhor período de reotimização para a estratégia?

77
Machine Translated by Google

Guia do usuário do StrategyQuant

É aqui que o Walk-Forward Matrix entra em ação.

78
Machine Translated by Google

Guia do usuário do StrategyQuant

6.2.3 Matriz Walk-Forward

O Walk-Forward Matrix é um recurso poderoso que pode ajudar você com duas coisas:

1. Encontre o período ideal para a reotimização da estratégia


isso ajudará você a identificar a melhor frequência de otimização

2. Teste a estratégia para robustez


se a estratégia passar no teste Walk-Forward Matrix, significa que, com a ajuda da reotimização de
parâmetros, ela é adaptável a uma grande variedade de condições de mercado.

A otimização Walk-Forward padrão testa os resultados da estratégia se ela for reotimizada periodicamente, digamos, a
cada 300 dias.
Mas como sabemos com que frequência é melhor reotimizar a estratégia?
Só podemos supor, a menos que usemos a Matriz Walk-Forward, que testará várias combinações de períodos de
reotimização.

Exemplo de Matriz Walk-Forward

Etapa 1: Configurando a matriz Walk-Forward

Continuaremos com nosso exemplo de onde paramos na parte de Otimização Walk-Forward .


Desta vez, escolheremos a opção Walk-Forward Matrix.

Na matriz, temos que especificar quais combinações queremos testar para a Otimização Walk-Forward.

Todas as outras configurações (combinação de valores de parâmetros para teste e critérios de sucesso) já estão definidas
pelos exemplos anteriores,
então podemos clicar no botão Iniciar para começar o teste.

O cálculo da Matriz Walk-Forward consome muito tempo, porque é preciso executar a otimização Walk-Forward
completa para cada combinação na matriz.
É melhor não definir muitos passos, pelo menos se você quiser ter resultados relativamente rápidos.

79
Machine Translated by Google

Guia do usuário do StrategyQuant

Etapa 2: Verificando os resultados

Quando a otimização termina, obtemos novamente um novo resultado da Matriz Walk-Forward em nosso banco
de dados.

Clique duas vezes nele para carregá-lo na tela de resultados.

Podemos ver que todas as combinações de otimização WF falharam (de acordo com os critérios de sucesso que definimos
anteriormente).
Você pode clicar em qualquer célula na tabela Multi Walk-Forward Matrix para atualizar os resultados da combinação
selecionada. Vamos escolher a combinação 30/40 no canto inferior direito.

Se você observar a tabela de critérios de teste, verá que ele falhou apenas em 2 dos 6 critérios: em Robustez de avanço
e número de negociações.

Podemos alternar a caixa de combinação Exibir para mostrar o lucro líquido.

80
Machine Translated by Google

Guia do usuário do StrategyQuant

Isso não é nada ruim, o melhor resultado foi alcançado pela combinação de 30% fora da amostra e 40 execuções de
otimização, o que corresponde à reotimização a cada 40 dias com histórico de 91 dias.

A estratégia então gerou um lucro de US$ 6.731, enquanto a estratégia original sem reotimizações gerou apenas US$ 2.760.

Portanto, parece que a reotimização frequente beneficia a estratégia.

Podemos olhar o gráfico de patrimônio para essa combinação.

não é ruim, o gráfico não é ideal, mas é uma grande melhoria em relação ao nosso gráfico de estratégia original, que parecia
assim:

Podemos ver que a estratégia reotimizada permaneceu lucrativa na maior parte do tempo, mesmo durante os períodos
em que a estratégia original estava perdendo.

Conclusão final

Vimos que essa estratégia em particular se beneficiou de reotimização frequente. Ela ainda falhou em nossos critérios de
sucesso, mas talvez com algum filtro adicional sua eficiência possa ser melhorada ainda mais.

81
Machine Translated by Google

Guia do usuário do StrategyQuant

Possíveis melhorias

Há várias melhorias possíveis em nossa análise Walk-Forward, por exemplo, podemos escolher etapas diferentes para os
valores dos parâmetros.
Escolhemos pEMA_1 para ir de 5 a 20 em etapas de 5, e pEMA_2 para ir de 10 a 60 em etapas de 10.
Talvez o resultado do Walk-Forward seja melhor se ambos os valores forem otimizados para variar de 5 a 50 com etapas 5.

Outra configuração que influencia o resultado do Walk-Forward é a nossa escolha de Critérios de Seleção.

Em nossos exemplos, escolhemos selecionar a melhor estratégia pela relação Retorno/Redução.


Quem sabe, talvez a otimização Walk-Forward teria melhores resultados se escolhêssemos a pontuação Strategy
Quality Number ou R Expectancy.

Você pode repetir a otimização com outro Critério de Seleção para verificar.

82
Machine Translated by Google

Guia do usuário do StrategyQuant

6.3 Portfólios

Existem duas possibilidades de como criar um portfólio:

1. Use dados adicionais para construir/testar estratégias em vários símbolos ou prazos - isso criará uma
portfólio que conterá resultados da mesma
estratégia testada em dados diferentes

2. Combine manualmente estratégias em um portfólio - isso criará um portfólio de estratégias diferentes


combinados, negociando nos mesmos símbolos ou em diferentes períodos de tempo

Os resultados do portfólio são um resumo dos resultados de todas as estratégias que ele contém. Para portfólios
criados manualmente (2), há um resultado especial "Portfólio #" criado no banco de dados que pode ser salvo em um arquivo
para uso posterior.

Gráfico de portfólio

O gráfico de patrimônio para portfólio combina o patrimônio do portfólio, bem como o patrimônio de cada estratégia no portfólio.
Ao visualizar um portfólio, você pode alternar entre o gráfico do portfólio e os gráficos de subtratégias
usando uma caixa de combinação no canto superior esquerdo do gráfico.

83
Machine Translated by Google

Guia do usuário do StrategyQuant

6.4 Editor de estratégia

Observação!

As estratégias StrategyQuant têm um formato fixo, e o editor corresponde a esse formato com 4 abas, para Entrada Longa, Entrada Curta,

Saída Longa (se quisermos fechar a

negociação usando alguma regra diferente de Stop Loss ou Meta de Lucro) e Saída Curta.

Cada aba tem uma parte SE e ENTÃO – na parte SE você define as condições, e na parte ENTÃO você define o que deve acontecer

quando as condições forem verdadeiras.

Para CRIAR uma nova estratégia, vá ao menu Arquivo -> Criar estratégia ou clique no ícone na barra de ferramentas.

Para EDITAR uma estratégia existente, basta selecioná-la no banco de dados e clicar em Editar.

84
Machine Translated by Google

Guia do usuário do StrategyQuant

85
Machine Translated by Google

Guia do usuário do StrategyQuant

7 Como…

7.1 Importar dados históricos do MetaTrader

Etapa 1: Exportar dados do Metatrader

Abra seu Metatrader e vá em Ferramentas -> Centro de Histórico.

Lá, abra a moeda que você deseja exportar (por exemplo GBPUSD) e clique duas vezes em 1 Minuto (M1) para que ela
seja atualizada no lado direito da tela.

Depois, basta clicar no botão Exportar e escolher o arquivo de destino.

Observação

O StrategyQuant suporta importação de apenas dados de 1 minuto e calculará os períodos maiores automaticamente.

Agora temos os dados prontos para serem importados para o StrategyQuant.

Etapa 2: Crie um novo símbolo no StrategyQuant

Podemos importar dados para um símbolo já existente, mas isso substituirá seus dados, então é melhor definir um novo
símbolo.
Inicie o StrategyQuant, vá para a tela do Gerenciador de dados , Dados históricos e clique em Adicionar símbolo...

86
Machine Translated by Google

Guia do usuário do StrategyQuant

Preencha o símbolo e o nome completo, verifique o spread padrão e o valor do tick.

Pip/Tick point é
o valor de pip. Isso significa que o número é 1 pip. Geralmente é 0,0001. Para pares baseados em JPY, 1 pip é 0,01.

Valor do Pip/Tick em $
é um valor de quanto vale um pip em dinheiro, geralmente é 10 para todas as moedas.

Passo Pip/Tick
é um valor pelo quanto um pip pode se mover. Praticamente todos os corretores agora usam dados de 5 dígitos, então o valor
será 0,00001 (ou 0,001 para pares baseados em JPY).

Clique em OK e o novo símbolo será criado. O símbolo ainda não tem dados, mas vamos importá-los na próxima etapa.

Etapa 3: Importar dados para o StrategyQuant

Agora selecione sua nova linha com o símbolo e clique no botão Import data ... no topo. Isso abrirá o diálogo de importação.

O diálogo Importar é configurável; ele permite importar dados de vários formatos de arquivo. Como usamos dados do
MetaTrader, escolha MetaTrader4 como um Formato de Arquivo Predefinido.

87
Machine Translated by Google

Guia do usuário do StrategyQuant

Selecione o arquivo de dados e clique no botão Start Import. Isso iniciará o processo de importação. Pode levar alguns minutos,

dependendo da velocidade do seu computador e do tamanho dos dados.

Quando a importação estiver concluída, será exibida uma janela de informações e será solicitado que você feche a caixa de diálogo.

Agora importamos os novos dados com sucesso para o StrategyQuant e podemos usá-los para testes ou geração de novas estratégias.

88
Machine Translated by Google

Guia do usuário do StrategyQuant

7.2 Importar dados do histórico do NinjaTrader

Etapa 1: Exportar dados do NinjaTrader

Abra seu NinjaTrader e vá em Arquivo -> Novo -> Gráfico e abra qualquer gráfico que você queira usar para negociação automática.

Você precisa selecionar o período (intervalo de tempo) adequado, o intervalo de dados e o modelo de sessão adequados, pois

os dados serão exportados com as configurações que você escolher.

Isso abrirá um novo gráfico no NinjaTrader:

Agora você tem que adicionar um indicador especial ao gráfico que cuidará da exportação dos dados. Clique no ícone Indicadores no

topo do gráfico para adicionar um novo indicador

e escolha o indicador SQDataExport na lista.

Se você não vir esse indicador na lista, certifique-se de ter instalado os indicadores SQ no seu NinjaTrader conforme especificado

nas Etapas pós-instalação.

Ele tem apenas um parâmetro importante - Caminho - define o caminho onde você deseja que os dados sejam gravados.

Você terá que usar esse arquivo na próxima etapa.

89
Machine Translated by Google

Guia do usuário do StrategyQuant

Quando tiver isso, clique em OK e o processo de exportação começará.

Primeiro, ele exibirá uma mensagem informando onde os dados serão gravados. Clique em OK neste diálogo novamente e
a exportação de dados será iniciada.
Pode levar alguns segundos ou minutos, dependendo do tamanho dos seus dados e da velocidade do seu
computador.

Etapa 2: Crie um novo símbolo no StrategyQuant

Podemos importar dados para um símbolo já existente, mas isso substituirá seus dados, então é melhor definir um novo
símbolo.
Inicie o StrategyQuant, vá para a tela do Gerenciador de dados , Dados históricos e clique em Adicionar símbolo...

90
Machine Translated by Google

Guia do usuário do StrategyQuant

Preencha o símbolo e o nome completo, verifique o valor de spread padrão.

Observação

Se você não tiver certeza de como preencher esses valores, verifique Como encontrar o valor do ponto, etapa do pip/ tick no NinjaTrader?

Valor do ponto em $

é um valor quanto vale um ponto em dinheiro, depende do símbolo. Para TF (Russel 2000) é 100.

Passo Pip/Tick

é um valor por quanto um pip pode se mover. Esta é a menor casa decimal que o tick pode ter. Para TF (Russel 2000) é 0,1. Para ações,

geralmente será 0,01.

Tamanho do Pip/Tick

isso faz sentido apenas para dados forex/MetaTrader. Para futuros e ações, deve ser o mesmo valor que Pip/Tick Step.

Tipo de dados

para dados NinjaTrader escolha Timestamp representa o fim do tempo da barra

Clique em OK e o novo símbolo será criado. O símbolo ainda não tem dados, mas vamos importá-los na próxima etapa.

Etapa 3: Importar dados para o StrategyQuant

Agora selecione sua nova linha com o símbolo e clique no botão Import data ... no topo. Isso abrirá o diálogo de importação.

91
Machine Translated by Google

Guia do usuário do StrategyQuant

O diálogo Importar é configurável; ele permite importar dados de vários formatos de arquivo. Como usamos dados do MetaTrader,

escolha MetaTrader4 como um Formato de Arquivo Predefinido.

Selecione o arquivo de dados e clique no botão Start Import . Isso iniciará o processo de importação. Pode levar alguns minutos,

dependendo da velocidade do seu computador e do tamanho dos dados.

Quando a importação estiver concluída, será exibida uma janela de informações e será solicitado que você feche a caixa de diálogo.

Agora importamos os novos dados com sucesso para o StrategyQuant e podemos usá-los para testes ou geração de novas estratégias.

92
Machine Translated by Google

Guia do usuário do StrategyQuant

7.3 Como encontrar o valor do ponto, passo Pip/Tick no NinjaTrader

Felizmente, é fácil encontrar essas configurações no NinjaTrader.

Abra o NinjaTrader, vá para Tools -> Instrument Manager. Lá, procure seu símbolo.
Quando você encontrá-lo, clique duas vezes nele na tabela e ele abrirá os detalhes do instrumento.

O tamanho do Tick aqui deve ser usado como Pip/Tick Step e Pip/Tick Size no StrategyQuant.

O valor em pontos deve ser usado como Valor em pontos em $ em StrategyQuant.

93
Machine Translated by Google

Guia do usuário do StrategyQuant

7.4 Importar dados históricos para gráficos Range / Renko do MetaTrader

Importar dados de Range/Renko para o NinjaTrader é o mesmo que importar quaisquer dados históricos, por isso não é
descrito aqui.

Para MetaTrader4, temos que usar os plugins e scripts CSV2FXT personalizados do [Link]

Não descreveremos todo o processo de obtenção de dados do histórico de tiques ou minutos; isso é descrito na documentação
dos plugins.
Para exportar dados do gráfico em um formato utilizável pelo StrategyQuant, você só precisa definir:
StrategyQuantExport = verdadeiro
Spread=2,5,3 ou 4 – qualquer coisa, mas deve ser um valor fixo

Isso gerará um arquivo de dados que você pode importar para o StrategyQuant de maneira padrão (consulte o tópico Como
importar dados do MetaTrader acima).

Os dados serão reconhecidos como Intraday – o mesmo vale para dados Range e Renko.

Então você pode usar esses dados da mesma forma que qualquer outro dado padrão.

94
Machine Translated by Google

Guia do usuário do StrategyQuant

7.5 Importar novo indicador personalizado do MT4 – forma automática

Indicadores personalizados são indicadores executados na plataforma MetaTrader4 e que não são implementados no StrategyQuant.

O StrategyQuant não consegue executar código de indicador, então a única maneira de trabalhar com indicadores personalizados no SQ é
importando seus dados.

Observação

Indicadores personalizados são computados no MetaTrader, não no SQ. Para obter os resultados corretos, você tem que usar os

mesmos dados de histórico no StrategyQuant e no MT4.

Não funcionará calcular seu indicador personalizado no MetaTrader com os dados do seu corretor e depois usá-los no StrategyQuant

com dados de outras fontes.

Antes de usar indicadores personalizados, sincronize seus dados de histórico para que SQ e MT4 usem o mesmo histórico

Etapa 1: Defina um novo indicador personalizado no StrategyQuant

Vá para Gerenciador de dados -> Indicadores personalizados e clique em Adicionar novo na tabela Definições de indicadores personalizados.

Isso abrirá uma nova caixa de diálogo de definição de indicador.

Você pode definir seu indicador manualmente, mas se tiver um código-fonte do seu indicador (arquivo .mq4), poderá usar o reconhecimento

automático.

95
Machine Translated by Google

Guia do usuário do StrategyQuant

Clique em Selecionar e encontre seu arquivo indicador - ele deve terminar com a extensão .mq4. Tentaremos importar o

indicador Keltner Channel para fazer um exemplo.

O arquivo indicador será carregado e analisado e todos os campos no formulário Adicionar indicador serão

preenchidos automaticamente.

Podemos ver que o StrategyQuant reconheceu o tipo de retorno do indicador como Preço, ele tem dois parâmetros e três valores

de saída.

Tipo de retorno

96
Machine Translated by Google

Guia do usuário do StrategyQuant

é um tipo de indicador de valor de retorno gerado, ele é usado pelo StrategyQuant para combinar adequadamente esse
indicador personalizado com outros blocos de construção no programa, para que ele compare preço com preço, e não, por
exemplo, preço com valor CCI.
Pode ser:

• Número - se for um indicador como CCI, RSI, MACD etc.

• Preço - se o valor do indicador for preço, como média móvel ou Bandas de Bollinger.

• Faixa de preço – se o valor do indicador for faixa de preço (diferença entre dois preços), como
Faixa de ATR ou Bandas de Bollinger.

• Boolean – se o indicador retornar valores verdadeiro/falso (zero/diferente de zero no nosso caso). Você pode ter
indicador booleano, por exemplo, para reconhecer padrões de velas ou para implementar suas próprias
regras simples de negociação.

Como decidir o tipo de retorno adequado


geralmente, se o indicador desenha suas linhas no mesmo gráfico que o preço, então seu tipo de retorno é preço.
Se ele desenhar suas linhas em uma janela separada abaixo do gráfico principal, então é um Número, com exceção
de indicadores especiais como o ATR, que calcula algum tipo de diferença ou intervalo de preço.

É oscilador
Alguns indicadores como CCI ou RSI são osciladores, o que significa que seu valor oscila em torno de algum número,
como o CCI oscila em torno de 0, ou o RSI oscila em torno de 50). Se o indicador for um oscilador, marque esta opção.

Valor médio do oscilador


para osciladores, coloque seu valor médio (o valor em torno do qual eles oscilam) aqui.

Parâmetros
parâmetros são uma lista completa de parâmetros junto com seus tipos e valores padrões para o indicador. Se você definir
o indicador personalizado manualmente, você pode verificar seus parâmetros no MetaTrader.

Valores de saída
estas são as saídas do indicador de valores. Se verificarmos a captura de tela do indicador Keltner Channel abaixo, você
pode ver que ele emite três valores na janela Data, e eles correspondem às linhas superior, média e inferior no gráfico.

97
Machine Translated by Google

Guia do usuário do StrategyQuant

Clique em OK na caixa de diálogo e seu novo indicador personalizado estará definido.

Etapa 2: definir dados de indicadores personalizados

Agora que definimos a nova definição do indicador personalizado, precisamos carregar os dados do indicador personalizado.
A definição que fizemos no primeiro passo é apenas uma "descrição" do indicador. Para poder usar o indicador em suas estratégias,
você tem que configurar quais parâmetros e valores de saída ele deve
usar e carregar dados para este indicador computados do MetaTrader.

Clique no botão Adicionar novo na tabela de dados Indicadores personalizados.

98
Machine Translated by Google

Guia do usuário do StrategyQuant

Aqui temos que escolher nosso indicador (Keltner Channel) e escolher qual dos seus valores de saída queremos usar. Decidimos
pela linha superior.
Se você quiser usar também a linha do meio ou inferior, você tem que seguir este passo para cada saída que você deseja
usar.

Depois você também precisa escolher o Símbolo e o Período para os quais esses dados indicadores serão válidos.
Os dados serão computados no MetaTrader para um dado símbolo e período de tempo, então
eles não serão válidos para nenhum outro símbolo/período de tempo. Para usar este indicador personalizado em outro símbolo,
simplesmente repita esta Etapa 2 com outro símbolo.

Se quisermos usar as configurações de importação automática (recomendado), você também precisa preencher o caminho para
o seu MetaTrader - este é o MetaTrader que será chamado para calcular os dados para este indicador.
Também temos que especificar o nome exato do símbolo naquele MetaTrader. É porque no StrategyQuant você pode usar qualquer
nome, como EURUSD_fhdb, mas para executar uma exportação no MT4 precisamos do nome exato do símbolo que é usado no
MT4.

A última coisa é definir os parâmetros do indicador.

Novamente, os dados do indicador computado serão válidos apenas para uma combinação de
símbolo/período/saída/parâmetros. Se você quiser usar o indicador personalizado com outro conjunto de parâmetros, você tem que
defini-lo várias vezes.

Quando tudo isso estiver concluído, clique em OK para salvar os novos dados do indicador personalizado.

Podemos repetir o mesmo passo para o mesmo indicador e símbolo, mas desta vez escolheremos um valor de saída menor.

Dessa forma, teremos novos blocos de construção de indicadores personalizados para valores superiores e inferiores do
indicador do Canal de Keltner.

Etapa 3: Carregando dados de indicadores personalizados

Agora temos dois novos indicadores personalizados definidos, mas eles ainda não contêm nenhum dado. Podemos usar importação

automática ou manual para importar os dados do MetaTrader.

99
Machine Translated by Google

Guia do usuário do StrategyQuant

Etapa 3.1: Importação automática

Selecione seus dois novos registros (mantenha CTRL pressionado enquanto clica nas linhas para selecionar várias linhas
ao mesmo tempo) e escolha Importação de dados -> Automático

Observação

Antes de executar a importação automática, feche o MetaTrader, caso contrário a importação falhará.

O programa agora iniciará automaticamente o MetaTrader e iniciará o cálculo do indicador personalizado, a exportação de
dados e sua importação para o StrategyQuant.

Tudo isso é automático, você não precisa interferir de forma alguma.

Quando o processo terminar, você verá que os indicadores agora contêm valores importados:

100
Machine Translated by Google

Guia do usuário do StrategyQuant

Etapa 3.2: Importação manual

Você pode usar a importação manual caso a importação automática falhe ou queira ter maior controle sobre os dados
exportados.
Se você não planeja usar a importação manual, pode pular diretamente para a Etapa 4.

Etapa 3.2.1 - Obtendo os valores do indicador do MetaTrader

Indicadores personalizados funcionam de uma forma que o StrategyQuant usa seus valores computados em outro programa,
por exemplo no MetaTrader. Isso significa que temos que computar o indicador no MetaTrader e então importar seu(s)
valor(es) para o SQ.

Isso é um pouco complicado, mas por outro lado nos permite usar praticamente qualquer indicador disponível para o
MetaTrader, mesmo que não saibamos exatamente como ele é calculado.

Para o cálculo dos valores dos indicadores, usaremos um EA simples chamado


GenBuilder_IndicatorExportEA

Este EA simples vem com o StrategyQuant, você pode encontrá-lo em


{diretório de instalação do StrategyQuant}/custom_indicators/mq4/ .

Para usá-lo no seu MetaTrader, você precisa copiá-lo para:


{diretório de instalação do MetaTrader}/experts

Se você usar o MetaTrader Build 600+ , a estrutura da pasta mudou. Você precisa localizar a pasta Experts correta em
MetaTrader File ->Open Data Folder. Isso abrirá a pasta de dados do MT4, e você precisa copiar este EA para MQL4/
Experts.

Em seguida, reinicie seu MetaTrader e o novo EA estará disponível.

Precisaremos abrir o EA e modificar um pouco seu código. Abra o MetaQuotes Language Editor no Tools Menu.

101
Machine Translated by Google

Guia do usuário do StrategyQuant

Isso abrirá o editor que nos permitirá modificar o EA.

Agora encontre o IndicatorExportEA em Experts e clique duas vezes nele, isso abrirá o EA no editor
tela.

A única coisa que temos que mudar no código é um comando que obtém o valor do indicador e que escreve o valor no
arquivo. O código se parece com isso:

value1 = … obter valor do indicador 1 barra atrás…

FileWrite(handle, TimeToStr(Hora[1], DATA_HORA),TimeToStr(Hora[1], MINUTOS_HORA), Fechar[1], valor1);

O código é simples, tudo o que ele faz é obter o valor do indicador desejado e então salvar o valor no arquivo. Então, para
exportar seu próprio indicador, basta alterar o código que obtém o valor do indicador.

Exemplo 1 – valor de exportação do indicador MT4 padrão, como Bears Power

valor1 = iBearsPower(NULL, 0, 13, PREÇO_FECHADO, 1);


FileWrite(handle, TimeToStr(Hora[1], DATA_HORA),TimeToStr(Hora[1], MINUTOS_HORA), Fechar[1], valor1);

Exemplo 2 – exportando indicador personalizado do MT4


Para obter o valor do indicador personalizado no MT4, temos que usar a chamada

iCustom(símbolo, período, nome, …parâmetros…, modo, turno)

102
Machine Translated by Google

Guia do usuário do StrategyQuant

onde

• símbolo e período de tempo podem ser deixados em NULL, 0 para obter o símbolo e período de tempo reais
• nome é o nome exato do indicador personalizado

• parâmetros são parâmetros indicadores separados por vírgula


• modo é um índice de linha – pode ser de 0 a 7 e geralmente é usado se o indicador retornar mais de
um valor

• o deslocamento deve ser sempre 1

Então, por exemplo, para o Canal Keltner teremos o código:

valor1 = iCustom(NULL,0, "KeltnerChannel", 20, 1.5, 2, 1);


FileWrite(handle, TimeToStr(Time[1], TIME_DATE),TimeToStr(Time[1], TIME_MINUTES), Close[1], valor1);

onde 20 e 1,5 são os parâmetros do indicador do Canal de Keltner e 2 é o índice da linha – queremos o terceiro valor do
indicador (o índice é baseado em zero) que corresponde à parte inferior do Canal de Keltner.

Exemplo 3 – exportando vários valores de indicadores de uma só vez - Ichimoku Tenkan Sen e Kijun Sen
é possível importar vários valores de indicadores de uma vez, para fazer isso, basta usar as variáveis
value1…value6. E não se esqueça de adicionar todos esses valores também à função FileWrite.

valor1 = iIchimoku(NULL, 0, 9, 26, 52, MODE_TENKANSEN, 1);


valor2 = iIchimoku(NULO, 0, 9, 26, 52, MODO_KIJUNSEN, 1);

FileWrite(handle, TimeToStr(Hora[1], DATA_HORA),TimeToStr(Hora[1], MINUTOS_HORA), Fechar[1], valor1, valor2);

As duas primeiras linhas calculam valores diferentes do indicador Ichimoku e a terceira linha os salva no arquivo de
dados.

Após terminarmos de alterar o código, podemos clicar no botão Compilar na parte superior e o indicador deverá ser
compilado com sucesso.

103
Machine Translated by Google

Guia do usuário do StrategyQuant

Etapa 3.2.2 - Exportando os valores do indicador do MetaTrader

Agora temos o indicador de exportação pronto e podemos usá-lo. No MetaTrader, abra o Strategy Tester (View -> Strategy
Tester) e na lista de Expert Advisors encontre nosso GenBuilder_IndicatorDataExportEA.

Agora você precisa definir também o símbolo no qual deseja que este indicador seja calculado e o período de tempo.
Marque também Usar data e definir data De e Para.

Depois disso, clique no botão Start e a exportação começará. A exportação pode levar vários minutos, então espere até que

ela termine com sucesso.

O EA percorrerá todo o histórico de dados, calculará o valor do indicador para cada barra e gravará os ticks gerados
em um arquivo. Este arquivo pode ser localizado em {diretório
de instalação do MetaTrader}/tester/files

Ou para MT4 Build 600+ em {MetaTrader Data Folder}/MQL4/tester/files

Observação

O indicador terá valores diferentes para cada símbolo e cada período de tempo , então você deve exportá-lo
para cada combinação de símbolo e período de tempo que deseja usar no Genetic Builder.

Para fazer isso, basta repetir o Passo 2 e escolher um símbolo ou período de tempo diferente.

Não se esqueça de renomear o arquivo de valores exportados antes de cada exportação, porque caso contrário o
novos valores serão adicionados ao final do arquivo, o que o tornará inutilizável.

Basta ir ao diretório /tester/files e renomear o arquivo de exportação CustInd_XXX.csv para outro nome (por

exemplo MyIndicator_GBPUSD_M15.csv) antes de executar a exportação novamente.

Etapa 3.2.3 – Importando valores de indicadores para o StrategyQuant

Selecione novo registro e então escolha Importação de dados -> Manual. Isso abrirá uma nova caixa de diálogo Importar:

104
Machine Translated by Google

Guia do usuário do StrategyQuant

Selecione o arquivo de dados no topo – para isso, você tem que ir para {MetaTrader installation directory}/
tester/files ou para MT4 Build 600+ para {MetaTrader Data Folder}/MQL4/tester/files e encontrar o arquivo que foi exportado na
etapa anterior. O importador então carrega as primeiras linhas do arquivo e você poderá especificar os tipos de coluna.

O arquivo indicador pode conter várias colunas com valores indicadores; no nosso exemplo, temos apenas uma coluna.

Para cada coluna de indicador usada, você tem que especificar o código do indicador – é o código que foi usado para gerar os
valores do indicador. Este código é usado pelo Genetic Builder quando ele gera o código-fonte da estratégia em código MQL.

Vamos supor que nosso indicador personalizado foi o Bears Power calculado como em nosso Exemplo 1 e, então, o
o código indicador seria:

iBearsPower(NULO, 0, 13, PREÇO_FECHAMENTO, _BARSBACK_)

Observe que substituímos o último parâmetro pela constante _BARSBACK_ . É porque


O Genetic Builder precisaria definir o número correto de barras nas quais este indicador deveria ser

computado.
A constante _BARSBACK_ será substituída por shift (ou bars ago) no código MQL gerado.

Agora clique em Iniciar importação e o mecanismo de importação verifica e importa o novo indicador personalizado.

105
Machine Translated by Google

Guia do usuário do StrategyQuant

Etapa 4: usando seus novos indicadores personalizados

As etapas 1 a 3 devem ser executadas apenas uma vez para cada novo indicador personalizado

e símbolo/período/saída/parâmetros que você deseja adicionar ao StrategyQuant.

Quando os dados do indicador forem importados com sucesso, você poderá usá-los em seus blocos de construção.

Para usar seus novos indicadores personalizados em suas estratégias, você precisa verificá-los em Blocos de construção -> Tabela
de indicadores personalizados.

Observação

Os indicadores personalizados são válidos apenas para o símbolo/ período em que foram calculados, no nosso exemplo apenas

para EURUSD_fhdb / H1.

Se você quiser usá-los para outro símbolo ou período de tempo, você terá que repetir os passos 1 a 3.

106
Machine Translated by Google

Guia do usuário do StrategyQuant

7.6 Importar novo indicador personalizado do NinjaTrader

Indicadores personalizados são indicadores executados na plataforma NinjaTrader e que não são implementados no StrategyQuant.

O StrategyQuant não consegue executar código de indicador, então a única maneira de trabalhar com indicadores personalizados
no SQ é importando seus dados.

Observação

Indicadores personalizados são computados no NinjaTrader, não no SQ. Para obter os resultados corretos, você tem que usar os

mesmos dados de histórico no StrategyQuant e no NT.

Não funcionará calcular seu indicador personalizado no NinjaTrader com os dados do seu corretor e depois usá-los no StrategyQuant

com dados de outras fontes.

Você precisa calcular seu indicador personalizado exatamente nos mesmos dados, no mesmo intervalo de dados e na mesma

sessão de negociação que você importou para o StrategyQuant.

Etapa 1: Defina um novo indicador personalizado no StrategyQuant

Como exemplo, criaremos um novo indicador personalizado MACD.

Primeiro, adicione o indicador MACD ao gráfico no NinjaTrader e abra suas propriedades para que você possa ver quais

parâmetros e valores de saída (gráficos) ele usa.

Abra o StrategyQuant, vá para Gerenciador de dados -> Indicadores personalizados e clique em Adicionar novo na tabela
Definições de indicadores personalizados.

Isso abrirá um novo diálogo de definição de indicador. Para NinjaTrader, você definiu seu indicador manualmente, então

crie um nome para seu novo indicador personalizado (MACD_NT) e defina seus parâmetros e saídas (Plots).

Você pode fazer isso facilmente copiando as propriedades do indicador no NinjaTrader (veja abaixo).

Para MACD, definimos o tipo de retorno para Number, porque ti retorna um número geral. Também verificamos se é um oscilador e
se oscila em torno de 0.

Tipo de retorno
é um tipo de indicador de valor de retorno gerado, ele é usado pelo StrategyQuant para combinar adequadamente esse
indicador personalizado com outros blocos de construção no programa, para que ele compare preço com preço, e não, por
exemplo, preço com valor CCI.
Pode ser:

• Número - se for um indicador como CCI, RSI, MACD etc.

• Preço - se o valor do indicador for preço, como média móvel ou Bandas de Bollinger.

• Faixa de preço – se o valor do indicador for faixa de preço (diferença entre dois preços), como

Faixa de ATR ou Bandas de Bollinger.

107
Machine Translated by Google

Guia do usuário do StrategyQuant

• Boolean – se o indicador retornar valores true/falsos (zero/diferente de zero no nosso caso). Você pode ter um indicador

booleano, por exemplo, para reconhecer padrões de candles ou para implementar suas próprias regras simples de

trading.

Como decidir o tipo de retorno adequado

geralmente, se o indicador desenha suas linhas no mesmo gráfico que o preço, então seu tipo de retorno é preço.

Se ele desenhar suas linhas em uma janela separada abaixo do gráfico principal, então é um Número, com exceção de

indicadores especiais como o ATR, que calcula algum tipo de diferença ou intervalo de preço.

É oscilador
Alguns indicadores como CCI ou RSI são osciladores, o que significa que seu valor oscila em torno de algum número, como o
CCI oscila em torno de 0, ou o RSI oscila em torno de 50). Se o indicador for um oscilador, marque esta opção.

Valor médio do oscilador


para osciladores, coloque seu valor médio (o valor em torno do qual eles oscilam) aqui.

Parâmetros
parâmetros são uma lista completa de parâmetros junto com seus tipos e valores padrões para o indicador. Se você definir o
indicador personalizado manualmente, você pode verificar seus parâmetros no MetaTrader.

Valores de saída
estas são as saídas do indicador de valores. Se verificarmos a captura de tela do indicador Keltner Channel abaixo, você
pode ver que ele emite três valores na janela Data, e eles correspondem às linhas superior, média e inferior no gráfico.

Clique em OK na caixa de diálogo e seu novo indicador personalizado estará definido.

Etapa 2: definir dados de indicadores personalizados

Agora que definimos a nova definição do indicador personalizado, precisamos carregar os dados do indicador personalizado.
A definição que fizemos no primeiro passo é apenas uma "descrição" do indicador. Para poder usar o indicador em suas estratégias,
você tem que configurar quais parâmetros e valores de saída ele deve
usar e carregar dados para este indicador computados do NinjaTrader.

108
Machine Translated by Google

Guia do usuário do StrategyQuant

Clique no botão Adicionar novo na tabela de dados Indicadores personalizados.

Aqui temos que escolher nosso indicador definido anteriormente (MACD_NT) e escolher qual dos seus valores de
saída queremos usar. Decidimos por Avg line.
Se você quiser usar também as linhas Diff e Macd, você tem que seguir este passo para cada saída que você deseja
usar.

Depois você também precisa escolher o Símbolo e o Período para os quais esses dados indicadores serão válidos.
Os dados serão computados no NinjaTrader para um dado símbolo e período de tempo,
então eles não serão válidos para nenhum outro símbolo/período de tempo. Para usar este indicador personalizado em
outro símbolo, simplesmente repita esta Etapa 2 com outro símbolo.

Para NinjaTrader, as configurações de importação automática não estão disponíveis e, em vez disso, temos que
especificar o código do indicador. Este é o código que usaremos no NinjaTrader para calcular o valor do indicador (veja
a próxima etapa).

A última coisa é definir os parâmetros do indicador.

109
Machine Translated by Google

Guia do usuário do StrategyQuant

Novamente, os dados do indicador computado serão válidos apenas para uma combinação de
símbolo/período/saída/parâmetros. Se você quiser usar o indicador personalizado com outro conjunto de parâmetros, você tem que
defini-lo várias vezes.

Quando tudo isso estiver concluído, clique em OK para salvar os novos dados do indicador personalizado.

Podemos repetir o mesmo passo para o mesmo indicador e símbolo, mas desta vez escolheremos o valor de saída Macd.

Dessa forma, teremos novos blocos de construção de indicadores personalizados para valores médios e Macd do indicador
MACD.

Etapa 3: Exportar dados do indicador do NinjaTrader

Agora temos dois novos indicadores personalizados definidos, mas eles ainda não contêm nenhum dado. Temos que calcular valores

de indicadores no NinjaTrader, exportá-los para arquivos e importá-los para o StrategyQuant.

Primeiro, temos que exportar o indicador do NinjaTarder. Para isso, precisaremos editar um código do indicador SQIndyExport.

Vá em Ferramentas -> Editar Script Ninja -> Indicadores e encontre o indicador SQIndyExport.

Agora teremos que editar o arquivo para que ele calcule e exporte os indicadores que queremos. Há duas funções que temos que editar:

Ao iniciar

isso é simples, vamos apenas criar novos arquivos vazios com nomes exclusivos para cada valor de indicador que queremos

exportar

substituição protegida void OnStartUp() {


createEmptyFile("MACD_NT_Avg"); // MACD_NT_Avg é o nome do arquivo de exportação, você pode
escolher qualquer nome
createEmptyFile("MACD_NT_Macd");
}

Atualização OnBar

essa função é chamada em cada barra e a usaremos para calcular dados do indicador e gravá-los nos arquivos preparados.

Como exatamente você chamará o indicador para calcular seus dados depende do próprio indicador, para MACD funciona assim:

110
Machine Translated by Google

Guia do usuário do StrategyQuant

substituição protegida void OnBarUpdate()


{
appendFile("MACD_NT_Avg", MACD(12, 26, 9).Avg[0]); // MACD(12, 26,
9).Avg[0] é como o valor médio do MACD é calculado
appendFile("MACD_NT_Macd", MACD(12, 26, 9)[0]); // cada indicador
tem seu próprio código }

É isso, agora podemos compilar este indicador.

Quando o indicador for compilado com sucesso, podemos anexá-lo ao gráfico (o gráfico deve ser o mesmo que usamos
para exportar os dados para uso no StrategyQuant).
Ele tem um parâmetro - Caminho - devemos colocar lá o caminho onde queremos que os arquivos de dados exportados
ser armazenado.

Agora clique no botão OK, o SQIndyExport será adicionado ao gráfico e começará a calcular e exportar nossos
dados indicadores.
Pode levar alguns segundos ou minutos, dependendo do tamanho dos seus dados e da velocidade do seu
computador.

Etapa 4: Carregando dados de indicadores personalizados

Quando exportamos com sucesso os dados do indicador do NinjaTrader, podemos importá-los para o
StrategyQuant. Mude para o StrategyQuant, vá para Dados -> Indicadores Personalizados

111
Machine Translated by Google

Guia do usuário do StrategyQuant

Selecione o primeiro novo registro MACD(12,26, 9) -> Avg e clique em Importação de dados -> Manual

Isso abrirá o diálogo de importação. Encontre e carregue seu arquivo exportado.

Agora temos que definir o formato de data apropriado (dd/MM/aaaa neste caso) e valores de coluna corretos. O arquivo
exportado do NinjaTrader tem 4 colunas: Data, Hora, Preço de fechamento e Valor do indicador.

Podemos clicar em Iniciar importação para importar os dados do indicador para o StrategyQuant.

Agora temos que repetir isso para MACD(12,26, 9) -> Macd e importamos com sucesso os novos valores do indicador para

StrategyQuant. Você verá que os indicadores agora contêm valores importados:

Etapa 5: usando seus novos indicadores personalizados

As etapas 1 a 3 devem ser executadas apenas uma vez para cada novo indicador personalizado

e símbolo+período+saída+parâmetros que você deseja adicionar ao StrategyQuant.


Quando os dados do indicador forem importados com sucesso, você poderá usá-los em seus blocos de construção.

112
Machine Translated by Google

Guia do usuário do StrategyQuant

Para usar seus novos indicadores personalizados em suas estratégias, você precisa verificá-los em Blocos de construção ->
Tabela de indicadores personalizados.

Observação

Pode ser necessário reiniciar o programa após importar novos indicadores personalizados para que eles apareçam nos Blocos

de Construção.

Os indicadores personalizados são válidos apenas para o símbolo/ período em que foram calculados, no nosso exemplo apenas

para TF_10_12_15Min / M15.

Se você quiser usá-los para outro símbolo ou período de tempo, você terá que repetir os passos 1 a 3.

113
Machine Translated by Google

Guia do usuário do StrategyQuant

7.7 Exportar estratégia do StrategyQuant e testá-la ou negociá-la no MetaTrader

Quando você gerar algumas estratégias e encontrar aquelas que você potencialmente gostaria de usar em
negociações reais, é hora de testá-las no MetaTrader.

O StrategyQuant normalmente salva estratégias em seu próprio formato de arquivo .str, que não é legível pelo
MetaTrader.
Para testar estratégias no MT4 você tem que exportar seu código fonte no formato MQL

Isso é simples, vá até o banco de dados e encontre a estratégia que você quer usar. Clique duas vezes nela, o
que a abre na janela Result details acima do Databank.

Lá, vá para a aba Source code e troque o código fonte para MetaTrader4 Expert Advisor. Isso carregará o código
MT4 da estratégia.

114
Machine Translated by Google

Guia do usuário do StrategyQuant

Clique no botão Salvar em arquivo e, na caixa de diálogo de arquivo, encontre a pasta onde seu MetaTrader está instalado
(por exemplo, C:\Arquivos de Programas\Alpari MT).

Nesta pasta você deve entrar no diretório experts e salvar o código fonte da estratégia lá.

Portanto, o caminho completo do arquivo será, por


exemplo, C:\Program Files\Alpari MT\experts\ERUUSD_H1_Strategy 1.1456.mq4

Agora a estratégia é copiada para o Metatrader. Você pode abrir o MetaTrader agora.

No Metatrader, vá para o menu Tools -> MetaQuotes Language Editor, ou pressione F4. Isso abrirá o editor de idioma.

No lado direito do editor, você terá uma lista de estratégias que estão na pasta experts . Clique duas vezes em nossa
estratégia para abri-la na janela do editor e então clique em Compile na barra de ferramentas superior.

A estratégia será compilada e agora está pronta para backtest ou execução ao vivo.

Nota - Avisos de compilação são normais


Observe que há alguns avisos de compilação na parte inferior. Esses avisos são normais e não influenciam o trabalho da
estratégia.
Existem simplesmente algumas funções que não são utilizadas na estratégia e o MetaTrader está informando você
sobre isso.

115
Machine Translated by Google

Guia do usuário do StrategyQuant

Agora que a estratégia está compilada, ela está pronta para ser testada. Você pode fechar o MetaEditor, ir para a
tela principal do MetaTrader e abrir o Strategy Tester.

Isso abrirá a caixa de diálogo do Strategy Tester na parte inferior e você poderá executar o backtest.

Certifique-se de selecionar o Expert Advisor, Símbolo, Período e Data De e Para corretos e, em seguida, clique no
botão Iniciar . O teste começará e, depois de um tempo, você obterá os resultados:

116
Machine Translated by Google

Guia do usuário do StrategyQuant

Explicação de pequenas diferenças em backtests


Se você comparar os resultados dos testes no StrategyQuant e no MetaTrader, verá que em alguns casos os
resultados do backtesting não são os mesmos.
Os resultados podem diferir um pouco ou significativamente, dependendo do tipo de estratégia.

O algoritmo de backtesting usado no StrategyQuant é muito preciso, mas não é exatamente o mesmo algoritmo usado
no MetaTrader, então ele produz resultados ligeiramente diferentes.
O importante aqui é entender que ambos os algoritmos de teste são apenas aproximações, um não é superior ao outro.

117
Machine Translated by Google

Guia do usuário do StrategyQuant

7.8 Exportar estratégia do StrategyQuant e testá-la ou negociá-la no NinjaTrader

Quando você gerar algumas estratégias e encontrar aquelas que você potencialmente gostaria de usar em
negociações reais, é hora de testá-las no NinjaTrader.

O StrategyQuant salva estratégias em seu próprio formato de arquivo .str, que não pode ser lido pelo
NinjaTrader.
Para testar estratégias no NinjaTrader você tem que exportar seu código fonte no formato NinjaScript

Isso é simples, vá até o banco de dados e encontre a estratégia que você quer usar. Clique duas vezes nela, o
que a abre na janela Result details acima do Databank.

Lá, vá para a aba Source code e troque o source code para NinjaTrader code. Isso carregará o código
NinjaScript da estratégia.

118
Machine Translated by Google

Guia do usuário do StrategyQuant

Agora clique com o botão direito do mouse na área de texto e selecione Copiar para a área de transferência.

Depois disso, abra seu NinjaTrader e vá em Ferramentas -> Novo NinjaScript -> Estratégia

Isso abrirá um novo assistente de estratégia:

Clique em Unlock code e confirme o diálogo clicando em Yes. Isso abrirá um novo editor de estratégia com código de
estratégia básico.
Clique dentro do editor com o botão direito do mouse e escolha Selecionar tudo no menu pop-up:

119
Machine Translated by Google

Guia do usuário do StrategyQuant

Isso selecionará todo o texto na estratégia. Estamos fazendo isso porque queremos substituir todo o código de estratégia gerado

pelo assistente NinjaTrader pelo nosso código gerado pelo StrategyQuant.

Agora que o código está selecionado, pressione Ctrl + V para colar o código da área de transferência (lembre-se, você copiou o código

da estratégia para a área de transferência no StrategyQuant no começo).

Isso substituirá todo o código pelo código SQ. Agora pressione o botão Compile para compilar a estratégia
código.

120
Machine Translated by Google

Guia do usuário do StrategyQuant

No caso ideal, a estratégia deve ser compilada e não deve haver avisos ou erros exibidos.

A partir de agora você pode testar sua nova estratégia no NinjaTrader StrategyAnalyzer ou negociá-la na aba Estratégias.

Observação

Se você vir alguns erros de compilação, certifique-se de importar os códigos auxiliares do StrategyQuant para
NinjaTrader conforme descrito em Etapas pós-instalação

Atualizando a estratégia no NinjaTrader

Se você fizer alguma alteração na estratégia no StrategyQuant e quiser atualizar sua estratégia no NinjaTrader, vá para
Ferramentas -> Editar NinjaScript -> Estratégia,
encontre sua estratégia pelo nome e abra-a no editor. Então copie e cole o código do StrategyQuant no editor NinjaTrader e
compile-o novamente.

Testando a estratégia no NinjaTrader

O teste das estratégias é descrito no manual do NinjaTrader, então vamos abordá-lo apenas brevemente.

O NinjaTrader pode fazer backtest da estratégia usando o Strategy Analyzer. Vá para File -> New -> StrategyAnalyzer
lá abra o painel Backtest à direita e encontre sua estratégia.

121
Machine Translated by Google

Guia do usuário do StrategyQuant

Você também terá que escolher os dados adequados, definir os parâmetros corretos, o período da série de dados, o tempo de -
Para, modelo de sessão, etc.

Depois disso, basta clicar em Executar Backtest e o backtest será realizado.

Explicação das diferenças nos backtests


Se você comparar os resultados dos testes no StrategyQuant e no NinjaTrader, verá que em alguns casos os resultados do
backtesting não são os mesmos.
Os resultados podem diferir um pouco ou significativamente, dependendo do tipo de estratégia.

Se os resultados diferirem muito, geralmente o problema está em configurações diferentes. StrategyQuant e estratégias
geradas pelo SQ oferecem uma ampla gama de configurações, certifique-se de usar as mesmas configurações no NinjaTrader e
no StrategyQuant.
Certifique-se de testá-lo nos mesmos dados, incluindo o modelo de sessão.

O algoritmo de backtesting usado no StrategyQuant foi criado para corresponder com precisão ao algoritmo de backtesting do
NinjaTrader, mas pode haver pequenas diferenças no arredondamento e na comparação de números de ponto flutuante, no cálculo
de indicadores, etc.

Dependendo do tipo de estratégia, essas pequenas diferenças podem não causar nenhuma diferença no resultado do backtest, ou
podem se somar e as diferenças podem ser maiores.

O importante aqui é entender que o backtesting é sempre apenas uma aproximação, um algoritmo não é superior ao outro.

122
Machine Translated by Google

Guia do usuário do StrategyQuant

7.9 Traduzir programa para outro idioma

O programa é por padrão em inglês, mas suporta tradução para outro idioma. Tudo o que você precisa fazer é criar um novo
arquivo de idioma para o seu idioma na pasta {StrategyQuant}/lang .

Há um arquivo [Link] que contém todas as sequências de idiomas usadas no programa.


Tudo o que você precisa fazer é criar uma cópia deste arquivo, renomeá-lo, por exemplo, para [Link] (para alemão)
e então abra-o em um editor de texto simples como o Bloco de Notas e adicione uma tradução para cada sequência de caracteres.

O formato do arquivo é simples: ele mostra a sequência de caracteres do idioma em inglês, depois o sinal de igual (=) e
depois disso deve ser a sequência em outro idioma.

Por exemplo:
version=Sua string traduzida
Homepage=Sua string traduzida
Obter suporte=Sua sequência traduzida
etc.

Quando você criar um novo arquivo de idioma, reinicie o programa e você deverá ver seu novo idioma no menu Exibir ->
Idioma

Notas para tradução!

• Se você usar algum caractere especial, o arquivo deverá ser salvo no formato UTF-8

• Para strings que contêm marcas especiais como %d, %s, essas marcas serão substituídas pelo valor apropriado pelo
programa.
Você deve usá-los nos lugares corretos também no seu texto traduzido

• O comprimento da string de idioma não deve ser muito maior do que o comprimento da string original. Use
abreviação se necessário.
O motivo é que há apenas um espaço limitado na interface do usuário para os textos. Se você usar texto muito longo, ele
pode não caber no rótulo.

• Quando você criar um arquivo de idioma para um novo idioma, compartilhe-o com os outros! Envie-o para nós e nós o
inclua-o na próxima atualização do programa.

123
Machine Translated by Google

Guia do usuário do StrategyQuant

8 Apêndice

8.1 Critérios de classificação

Lucro líquido

Lucro líquido é o lucro/prejuízo total produzido pela estratégia.

Rebaixamento, DD % Máx.
Drawdown é a medida do declínio de um pico histórico no lucro acumulado da estratégia. Max DD % é o drawdown
percentual máximo da estratégia.

Estagnação, % Estagnação
estagnação é um número máximo de dias durante os quais a estratégia estagna - o que significa que ela não faz uma nova
alta no patrimônio. Obviamente, você quer uma estratégia com o mínimo de estagnação possível.

% de vitórias

porcentagem de negociações vencedoras

Retorno anual %

retorno percentual anual médio da estratégia. Se for 30%, significa que a estratégia faz 30% a cada ano em média.

Retorno anual % / Máx. DD %


proporção importante entre a porcentagem anual e o drawdown percentual máximo. Você gostaria que esse número fosse o
mais alto possível.

Lucro médio diário, mensal e anual


lucro médio para determinado período em $

Relação Retorno/DD
uma medida muito boa da qualidade da estratégia, quanto maior o número, maiores são os lucros em relação ao drawdown
máximo.

Expectativa
*
métricas de desempenho desenvolvidas por Van Tharp, são calculadas como (porcentagem de vitórias vitória média) -
(porcentagem de perdas * perda média)

124
Machine Translated by Google

Guia do usuário do StrategyQuant

R-Expectativa

métricas de desempenho desenvolvidas por Van Tharp, que fornecem o valor médio do lucro relacionado ao risco médio (R) que

você pode esperar de um sistema em muitas negociações.

Você pode encontrar mais em: [Link]

Pontuação de expectativa R

A expectativa R padrão não considera a duração do período de teste e o número de negociações produzidas.

Há uma diferença entre, por exemplo, ganhar US$ 2.000 por ano fazendo 10 negociações ou 100 negociações.

R-Expectancy Score adiciona uma pontuação para frequência de negociações. É computado como: R-Expectancy *
averageTradesPerYear

SQN (Número de Qualidade do Sistema)

métricas de desempenho desenvolvidas por Van Tharp, é a medida da qualidade de um sistema de negociação.

Você pode encontrar mais em: [Link]

A interpretação padrão do SQN é: Pontuação:

1,6 – 1,9 Abaixo da média, mas negociável

Pontuação: 2,0 – 2,4 Média


Pontuação: 2,5 – 2,9 Bom

Pontuação: 3.0 – 5.0 Excelente

Pontuação: 5.1 – 6.9 Excelente


Pontuação: 7.0 - Continue assim e você poderá ter o Santo Graal.

Pontuação SQN (Pontuação do Número de Qualidade do Sistema)

assim como no caso do R-Expectancy, o SQN não considera a duração do período de teste e o número de negociações produzidas. Na

verdade, é mais favorável para sistemas que produzem mais negociações, sem considerar a duração do período de teste.

*
É calculado como: SQN
(média de negócios por ano / 100)

Número de negócios

simplesmente um número de negociações dessa estratégia no backtest. Você pode usar esse critério para aproximar algum valor predefinido

que você gostaria de atingir (por exemplo, total de 100 negociações). O valor desse critério será maior para estratégias mais

próximas do número desejado de negociações.

Estabilidade

um valor especial no intervalo de 0 (pior) a 1 (melhor) que mede o quão estável é o crescimento do patrimônio
gráfico.

125
Machine Translated by Google

Guia do usuário do StrategyQuant

Você pode ver três estratégias de exemplo na imagem acima. Todas elas terminaram com o mesmo lucro, mas a Estratégia 1

estava crescendo quase linearmente (muito estável), a Estratégia 2 estava crescendo com grandes drawdowns ocasionais (menos

estável) e a Estratégia 3 estava subindo e descendo (muito pouca estabilidade de crescimento).

Estabilidade é um valor muito bom para representar uma "qualidade" da estratégia de negociação e pode ser usado como o único

ou o principal critério para calcular a aptidão total da estratégia.

Simetria

critério para maximizar a simetria da estratégia. O valor da simetria está em %, e está medindo o quanto o Lucro/Perda para a

direção Longa é semelhante à direção Curta.

Por exemplo, se a estratégia rende US$ 600 em negociações longas e US$ 400 em negociações curtas, a simetria neste caso é de

66%. (US$ 400 é 66% de US$ 600).

Se a estratégia fizer o mesmo lucro em ambas as direções, a simetria será 100%. Se uma das direções produzir prejuízo ou

lucro 0, a simetria será 0%.

Proporção de vitórias/derrotas

critério para maximizar a proporção de negociações vencedoras versus perdedoras

Vitória média, perda média

critério para maximizar a vitória média ou minimizar a perda média por negociação

Barras médias no comércio

critério para minimizar o número médio de barras em que a negociação está aberta

Barras médias ganham, barras médias perdem

critério para minimizar o número médio de barras para a negociação vencedora/perdedora

Graus de Liberdade
em um sistema de negociação refere-se ao número de critérios que são usados para filtrar a ação do preço e/ou volume e determinar
pontos de entrada.
Quanto mais critérios e variáveis forem usados para determinar os pontos de entrada, menos graus de liberdade o sistema terá e
vice-versa.

126
Machine Translated by Google

Guia do usuário do StrategyQuant

Os graus de liberdade são calculados a partir da complexidade da estratégia e do número de negociações.


Quanto mais simples for a estratégia, mais graus de liberdade ela terá. Para essa propriedade, quanto maior o valor, melhor.

Complexidade
mede a complexidade da estratégia. É simplesmente uma contagem de todos os indicadores, preços, operadores e outros
blocos de construção que são usados na estratégia. Quanto maior for esse número, mais “complicada” será a
estratégia.
Para esta propriedade, quanto menor o valor, melhor.

Ambas as propriedades podem ser usadas também na classificação para influenciar a função Fitness.

127
Machine Translated by Google

Guia do usuário do StrategyQuant

8.2 Tipos de entrada e saída

Meta de lucro (PT)


é o oposto do Stop Loss, ele pode ser usado para obter lucro quando o preço se move a seu favor.
Como no exemplo acima, você pode definir uma meta de lucro para fechar a posição quando ela atingir, por exemplo, 100 pips.

Sair após X barras

esta é uma condição de saída muito simples. Se usada, a estratégia fechará a negociação após um número dado de barras (períodos

de tempo em um determinado período de tempo).

Muitas vezes, essa é uma maneira simples, mas eficaz, de fechar uma negociação quando o mercado se move lateralmente ou quando

queremos garantir o lucro.

Mova o Stop Loss para o Ponto de Equilíbrio

outra condição simples, mas bastante poderosa. Ela diz à estratégia para mover o Stop Loss de proteção para o preço de entrada (break-

even) quando o lucro dado for atingido. Isso não fechará a negociação, então a estratégia ainda estará em posição, mas não

há risco algum após esse movimento. Como o SL está no preço de entrada, não perderemos nada, mesmo que a negociação reverta e

vá contra nós.

Esta condição é avaliada apenas na barra aberta (não em todos os ticks).

Lucro à vista

um trailing stop simples que segue a distância especificada do Stop Loss do lucro mais alto alcançado. Esta condição é avaliada na

barra aberta (não em cada tick).

Pare de arrastar

trailing stop mais avançado que pode usar um valor de indicador ou preço (Open, High, Low, Close) para rastrear o Stop Loss. Por

exemplo, a regra pode rastrear SL em Lowest(20) + 20 pips.

Esta condição é avaliada na barra aberta (não em todos os ticks).

Regra de Saída (Preço + Operadores + Indicadores, ...)

é um tipo especial de saída onde a estratégia não tem apenas regras para entrar na negociação (regras de entrada), mas também

regras para sair dela (regras de saída). As regras de saída parecem as mesmas que as regras de entrada - é uma combinação de todos

os blocos de construção selecionados (indicadores, operadores, valores de preço).

Exemplo de par de regras de entrada e saída:

Regra de entrada - se CCI > 0 Entre no mercado

Regra de saída - se o RSI cruzar acima de 100 e estivermos em posição longa, feche a negociação

Nota sobre Stop Loss / Meta de Lucro / Mover Stop Loss para BE

Tanto o Stop Loss quanto o Profit Target podem ter valor fixo em pips (como 30, 50 ou 100 pips) ou podem ser baseados no ATR

(Average True Range), por exemplo 2*ATR.

Isso significa que o valor real do SL/ PT será 2 vezes o valor da faixa verdadeira média no momento em que a negociação foi aberta.

128
Machine Translated by Google

Guia do usuário do StrategyQuant

SL/ PT baseados em ATR têm a vantagem de que eles "se adaptam" a condições de mercado alteradas e mudanças de
volatilidade. Algumas estratégias (mas não todas) podem ser mais lucrativas quando usam SL/ PT baseados em ATR
em vez de um fixo.

Para habilitar/ desabilitar o ATR para SL/ PT, você pode habilitar/ desabilitar o indicador Average True Range nos blocos
de construção de entrada.

129
Machine Translated by Google

Guia do usuário do StrategyQuant

9 Palavras Finais

Parabéns por concluir o guia do StrategyQuant. Espero que você goste do programa e o use como uma parte
importante de sua negociação.

StrategyQuant é um programa muito novo e está em desenvolvimento subativo. Isso significa que você pode
esperar por novos recursos interessantes que levarão a funcionalidade do programa ainda mais longe.

Estou aberto a novas ideias e sugestões, então se você estiver sentindo falta de algo no StrategyQuant ou
se achar que algo pode funcionar de uma maneira diferente, não hesite em me avisar.

Desejo a você muitos negócios bem-sucedidos,

Marca Fric

PS: Eu adoraria ouvir suas histórias de sucesso, então, por favor, me avise
em [Link]

130

Você também pode gostar