Tuesday 20 March 2018

220 sistema de negociação


A EMA de 2/20 dias.
& quot; Abordagens técnicas para a faixa de negociação em complexidade, desde métodos simples baseados em gráficos até algoritmos complexos de redes neurais. Como técnicos, somos todos culpados, mais cedo ou mais tarde, de tentar reinventar a roda com elaborada análise técnica. Todos nós gostaríamos de encontrar o Santo Graal de um indicador que nos torne ricos. Eu passei incontáveis ​​horas procurando por tal indicador, apenas para redescobrir algo bem menos complexo. A verdade é esta: não existe um indicador ou sistema perfeito que leve a riquezas evitando todos os riscos. & Quot;
Eu sempre achei a média móvel de 20 dias útil. Representa aproximadamente um mês de negociação e fornece uma representação simples, mas precisa, da direção da tendência de um mercado de commodities.
& quot; Na maioria dos casos, as ocorrências verdadeiras ocorreram somente após o intervalo de todo o dia no preço ter apagado a MME de 20 dias. Durante uma fuga de alta, a baixa da barra de preço não deve cruzar a EMA. Para uma quebra de baixa, a alta deve ser menor do que a EMA de 20 dias. Após observação adicional, na maioria dos casos, as tendências lucrativas começaram depois que os preços compensaram a MME de 20 dias por pelo menos dois dias. Portanto, para um alerta de compra, os dois últimos mínimos não devem cruzar a MME de 20 dias. Para sinais de venda, os altos não devem cruzar a MME de 20 dias.
Para mais informações, clique na barra lateral "Sistema de breakout de EMA de 2/20 dias definido." David Landry é consultor de negociação de commodities e presidente da Sentive Trading Company. Ele tem um MBA e um diploma de graduação em ciência da computação. Ele pode ser contatado pelo telefone 504 643-2871 ou por e-mail sentivetradingco @ prodigy.
Extraído de um artigo publicado originalmente na edição de dezembro de 1996 da Technical Analysis of STOCKS & amp; Revista COMMODITIES.
&cópia de; Copyright 1996, Technical Analysis, Inc. Todos os direitos reservados.

2/20 sistema de negociação
Nota: Este é um sistema pelo qual me deparei, o que me intriga, devido à sua simplicidade e engenhosidade. Não apenas isso, mas também abriu meus olhos para outro tipo de filtro comercial, o filtro breakout de dois dias.
Categoria: Breakout Trend-Following System.
Tipo: 100% sistemático.
Técnica de entrada: se a baixa de hoje e a mínima de ontem forem maiores que a EMA de 20 dias, vá Long. (e vice-versa, se for breve) Filtro: o filtro de interrupção de dois dias (dois dias de baixa & gt; 20 EMA) é necessário para que a quebra seja considerada válida. Se o preço se retrair da MME de 20 dias, antes de dois dias fecharem, você não entrará na negociação. (e vice-versa se for curto) S / L inicial: EMA de trailing de 20 dias S / L: EMA de 20 dias.
Meus comentários (sKratch1989):
O filtro é genial. A fuga de dois dias é uma espécie de confirmação / filtro antes da entrada, para que você tenha confirmação antes da entrada. Ampliar S / L: Eu teria que testar o sistema, mas eu consideraria ampliar o S / L. Se a MME de 20 dias é o seu ponto de entrada, se o preço cair de volta para a MME de 20 dias, isso não significa que sua visão de negociação é inválida. Talvez uma escolha melhor seja a EMA de 20 dias. 0,25 ATR ou EMA de 20 dias & # 8211; 20 pips. Outra opção é projetar algum tipo de stop loss baseado em ADX e combiná-lo com o EMA de 20 dias.
Compartilhar isso:
Relacionado
Deixe uma resposta Cancelar resposta.
Postagens recentes.
Comentários recentes.
Categorias.
Postagens recentes.
Comentários recentes.
Categorias.
Blogs que eu sigo.
Minha experiência pessoal como eu aprendo a investir em imóveis.

Backtesting e Trade Systems.
As ferramentas avançadas de sistema de backtesting e comércio da CQG colocam você no controle de suas estratégias. Desenvolva e otimize seu sistema e sinais, modelando em comparação com anos de dados históricos disponíveis. Quando estiver pronto, negocie-o automaticamente por meio do AutoTrader da CQG.
Teste suas idéias antes de arriscar seu dinheiro.
Nosso pacote de sistema comercial permite que os clientes analisem a atividade de negociação anterior e criem estratégias com base nessa atividade. Aproveite os nossos recursos para ajustar os pontos de entrada e saída e testar valores de parâmetros definidos pelo usuário.
Beneficie-se de nossos inúmeros recursos de backtesting examinando a atividade de negociação com base na criação de negócios longos ou curtos, uma variedade de sinais de entrada e saída e as comissões que o trader deve pagar.
Avalie os sinais de entrada usando suas condições favoritas.
Com o Signal Evaluator, você pode analisar a eficácia em um determinado período de tempo usando seus próprios sinais de compra e venda específicos. Sua análise pode ser aplicada tanto para carteiras quanto para commodities individuais.
Otimize seus parâmetros do sistema.
Otimize seu fluxo de trabalho usando o Trade System Optimizer, uma valiosa ferramenta de negociação que testa os resultados de sistemas de negociação que executam configurações diferentes e a combinação de parâmetros incluídos em sinais de negociação.
Negocie Automaticamente Seu Sistema de Negociação.
Agora que você tem seu sistema de negociação, faça com que o CQG troque-o automaticamente. O CQG AutoTrader é um mecanismo de execução de negociação proprietário que permite aos clientes executar simultaneamente numerosos sistemas de uma vez com igual precisão e disciplina. Por sua vez, fornece aos traders maior capacidade e precisão na negociação de sistemas versus execução manual.
O produto suporta vários tipos de pedidos e permite que os clientes configurem parâmetros de execução relacionados a preço, tamanho e tempo de pedidos. Para máxima transparência, o CQG AutoTrader é integrado a vários módulos de monitoramento de posição, como a janela Pedidos e posições e o estudo ATS (sistema de negociação automatizado), onde os clientes podem monitorar sinais e posições de negociação em gráficos e interfaces de negociação. O CQG AutoTrader pode ser usado em modos de negociação ao vivo ou de demonstração.
Backtesting Videos.
Especialista em produtos da CQG Doug Janson descreve os recursos de automação do CQG IC. Aprenda como definir fórmulas, testar fórmulas usando o Entry Signal Evaluator e criar um sistema de negociação.
O especialista em produtos da CQG, Jim Stavros, demonstra a eficácia do uso de nossas ferramentas de sistema de backtesting e trade.
Use nossa tabela de comparação para encontrar os produtos CQG exatos que correspondem às suas necessidades específicas.
Assuma nossa principal plataforma, o CQG Integrated Client, para uma avaliação gratuita de 2 semanas sem risco.
Adoramos saber de você. Preencha nosso formulário de contato e um representante de vendas entrará em contato com você.
@CQGInc.
Mantenha contato.
Copyright © CQG, Inc., 1980-2018. Todos os direitos reservados no mundo inteiro. CQG®, DOMTrader®, TFlow® e Data Factory ™ são marcas comerciais da CQG, Inc. Entre em contato conosco | Privacidade.

Ichimoku Advanced Free.
Ichimoku Kinko Hyo é um sistema de negociação de tendências para uso específico que foi usado com sucesso em quase todos os mercados negociáveis. É único em muitos aspectos, mas sua principal força é o uso de múltiplos pontos de dados para dar ao operador uma visão mais profunda e abrangente da ação do preço. Essa visão mais profunda, e o fato de que o Ichimoku é um sistema muito visual, permite ao profissional rapidamente discernir e filtrar "de relance" as configurações de negociação de baixa probabilidade daquelas de maior probabilidade.
Este indicador é baseado no indicador MT5 Ichimoku Kinko Hyo padrão, mas eu o projetei para rastrear os outros valores (RSI, CCI, Momentum, TEMA,.) Em vez de uma subjanela.
Você pode usá-lo como confirmação de outras estratégias, ou se você é um usuário Ichimoku dedicado, você pode usá-lo como um complemento fantástico para seus gráficos Ichimoku.
Esta é a versão gratuita, você só pode usar o RSI-Ichimoku / Original Ichimoku na sub-janela.

2/20 sistema de negociação
Nota: Uma parada móvel baseada em fractal é melhor empregada em um sistema de acompanhamento de tendências. Como os fractais são incluídos na definição de uma tendência, podemos usá-los para projetar estratégias de negociação, seja como um acionador de entrada ou uma parada móvel. (Aqui nós olhamos o uso de fractais para uma parada móvel)
Bill Williams define um fractal como uma sequência específica de 5 barras:
Fractais de baixa: 5 barras (ou velas), a barra central é a mais alta com duas altas mais baixas de cada lado. Isso indica uma alta probabilidade de um movimento de baixa. Fractais de alta: 5 barras (ou velas), sendo a barra central as duas máximas mais altas de cada lado. Isso indica uma alta probabilidade de um movimento de alta.
Fractais podem ser incluídos na definição de uma tendência:
Uma tendência bearish é composta de máximos e mínimos mais baixos, também conhecidos como fractais inferiores de baixa e fractais inferiores de baixa. Uma Tendência de alta é composta de máximos e mínimos mais altos, também conhecidos como fractais de baixa maior e fractais de alta mais altos.
Parada de Trailing Apertada com Fractal - posicione o trailing stop atrás do último fractal. Loose Trailing-Based Trailing Stop - coloque o trailing stop atrás do segundo ao último fractal.
Compartilhar isso:
Relacionado
Deixe uma resposta Cancelar resposta.
Postagens recentes.
Comentários recentes.
Categorias.
Postagens recentes.
Comentários recentes.
Categorias.
Blogs que eu sigo.
Minha experiência pessoal como eu aprendo a investir em imóveis.

2/20 sistema de negociação
NOTA: Este é um tópico bastante avançado. Por favor, leia os tutoriais anteriores da AFL primeiro.
A ideia por trás de uma otimização é simples. Primeiro, você precisa ter um sistema comercial, isso pode ser um simples cruzamento de média móvel, por exemplo. Em quase todos os sistemas, existem alguns parâmetros (como período de média) que decidem como o sistema se comporta (ou seja, é adequado para longo prazo ou curto prazo, como é reagir em estoques altamente voláteis, etc.). A otimização é o processo de encontrar valores ótimos desses parâmetros (dando o maior lucro do sistema) para um determinado símbolo (ou um portfólio de símbolos). O AmiBroker é um dos poucos programas que permitem otimizar seu sistema em vários símbolos de uma só vez.
Para otimizar seu sistema, você precisa definir de um a dez parâmetros para ser otimizado. Você decide qual é o valor mínimo e máximo permitido do parâmetro e em quais incrementos esse valor deve ser atualizado. O AmiBroker então realiza vários testes de retorno do sistema usando TODAS as combinações possíveis de valores de parâmetros. Quando este processo é concluído, o AmiBroker exibe a lista de resultados classificados por lucro líquido. Você pode ver os valores dos parâmetros de otimização que dão o melhor resultado.
Escrevendo fórmula AFL.
A otimização no back tester é suportada por meio de uma nova função chamada otimizar. A sintaxe desta função é a seguinte:
variável - é uma variável AFL normal que recebe o valor retornado pela função de otimização.
Com os modos normal de backtesting, digitalização, exploração e comentário, a função de otimização retorna o valor padrão, portanto, a chamada de função acima é equivalente a: variável = padrão;
No modo de otimização, a função otimizar retorna valores sucessivos de min a max (inclusive) com stepping stepping.
& quot; Descrição " é uma string que é usada para identificar a variável de otimização e é exibida como um nome de coluna na lista de resultados de otimização.
O padrão é um valor padrão que otimiza a função retorna na exploração, no indicador, nos comentários, na varredura e nos modos normais de teste de volta.
min é um valor mínimo da variável que está sendo otimizada.
max é um valor máximo da variável otimizada.
step é um intervalo usado para aumentar o valor de min para max.
O AmiBroker suporta até 64 chamadas para otimizar a função (portanto, até 64 variáveis ​​de otimização), observe que, se você estiver usando otimização exaustiva, é uma boa ideia limitar o número de variáveis ​​de otimização a apenas algumas. Cada chamada para otimizar ciclos de otimização de geração (max - min) / etapa e várias chamadas para otimizar multiplicam o número de execuções necessárias. Por exemplo, a otimização de dois parâmetros usando 10 etapas exigirá 10 * 10 = 100 loops de otimização. Chame a função de otimização somente uma vez por variável no início de sua fórmula, pois cada chamada gera um novo ciclo de otimização A otimização de múltiplos símbolos é totalmente suportada pelo AmiBroker O espaço máximo de pesquisa é de 2 64 (1019 = 10.000.000.000.000.000.000) de combinações.
1. Otimização de variável única:
sigavg = Optimize ("Signal average", 9, 2, 20, 1);
Sell ​​= Cross (Signal (12, 26, sigavg), MACD (12, 26));
2. Otimização de duas variáveis ​​(adequado para gráficos em 3D)
per = Optimize ("per", 2, 5, 50, 1);
Nível = Otimizar ("nível", 2, 2, 150, 4);
Venda = Cruz (Nível, CCI (por));
3. Otimização variável múltipla (3):
mfast = Optimize ("MACD Fast", 12, 8, 16, 1);
mslow = Optimize ("MACD Slow", 26, 17, 30, 1);
sigavg = Optimize ("Signal average", 9, 2, 20, 1);
Compra = Cruzada (MACD (mfast, mslow), Sinal (mfast, mslow, sigavg));
Sell ​​= Cross (Signal (mfast, mslow, sigavg), MACD (mfast, mslow));
Depois de inserir a fórmula, basta clicar no botão Otimizar em & quot; Análise automática & quot; janela. AmiBroker começará a testar todas as combinações possíveis de variáveis ​​de otimização e informará os resultados na lista. Após a otimização ser feita, a lista de resultados é apresentada classificada pelo lucro líquido%. Como você pode classificar os resultados por qualquer coluna na lista de resultados, é fácil obter os melhores valores de parâmetros para o menor desconto, o menor número de negócios, o maior fator de lucro, a menor exposição ao mercado e o maior retorno anual ajustado pelo risco. As últimas colunas da lista de resultados apresentam os valores das variáveis ​​de otimização para teste dado.
Quando você decide qual combinação de parâmetros atende às suas necessidades, o melhor que você precisa fazer é substituir os valores padrão em otimizar as chamadas de função com os valores ótimos. Na fase atual você precisa digitá-los manualmente na janela de edição da fórmula (o segundo parâmetro da função otimizar a chamada).
Exibição de gráficos de otimização animada 3D.
Para exibir o gráfico de otimização 3D, você precisa primeiro executar a otimização de duas variáveis. A otimização de duas variáveis ​​precisa de uma fórmula que tenha duas chamadas de função Optimize (). Uma fórmula de otimização de duas variáveis ​​de exemplo é semelhante a esta:
per = Optimize ("per", 2, 5, 50, 1);
Nível = Otimizar ("nível", 2, 2, 150, 4);
Venda = Cruz (Nível, CCI (por));
Depois de inserir a fórmula, você precisa clicar em & quot; Otimizar & quot; botão.
Uma vez que a otimização esteja completa, você deve clicar na seta suspensa no botão Otimizar e escolher Exibir gráfico de otimização 3D. Em poucos segundos, um gráfico de superfície tridimensional colorido aparecerá em uma janela do visualizador de gráficos 3D. Um exemplo de gráfico 3D gerado usando a fórmula acima é mostrado abaixo.
Por padrão, os gráficos 3D exibem valores de lucro líquido contra variáveis ​​de otimização. No entanto, você pode plotar gráfico de superfície 3D para qualquer coluna na tabela de resultados de otimização. Basta clicar no cabeçalho da coluna para ordená-lo (uma seta azul aparecerá indicando que os resultados de otimização são classificados pela coluna selecionada) e, em seguida, escolha Exibir gráfico de otimização 3D novamente.
Visualizando como os parâmetros do seu sistema afetam o desempenho da negociação, você pode decidir mais facilmente quais valores de parâmetro produzem & quot; fragile & quot; e que produzem? robusto? performance do sistema. Configurações robustas são regiões no gráfico 3D que mostram mudanças graduais em vez de abruptas no gráfico de superfície. Gráficos de otimização 3D são ótimas ferramentas para evitar ajustes de curva. O ajuste de curvas (ou sobre otimização) ocorre quando o sistema é mais complexo do que precisa ser, e toda essa complexidade foi focada em condições de mercado que talvez nunca mais aconteçam. Mudanças radicais (ou espigões) nos gráficos de otimização 3D mostram claramente áreas de otimização excessiva. Você deve escolher a região do parâmetro que produz um platô amplo e amplo no gráfico 3D para sua negociação na vida real. Conjuntos de parâmetros que produzem picos de lucro não funcionarão de forma confiável na negociação real.
Controles do visualizador de gráficos 3D.
O visualizador de gráficos 3D da AmiBroker oferece capacidades de visualização totais com rotação e animação completas de gráficos. Agora você pode ver os resultados do sistema de todas as perspectivas imagináveis. Você pode controlar a posição e outros parâmetros do gráfico usando o mouse, a barra de ferramentas e os atalhos de teclado, o que for mais fácil para você. Abaixo, você encontrará a lista.
- para rodar - mantenha pressionado o botão esquerdo do mouse e mova-se nas direções X / Y.
- para Zoom-in, zoom-out - mantenha pressionado o botão RIGHT do mouse e mova-se nas direções X / Y.
- para mover (traduzir) - mantenha pressionado o botão esquerdo do mouse e a tecla CTRL e mova-se nas direções X / Y.
- para animar - segure o botão esquerdo do mouse, arraste rapidamente e solte o botão enquanto arrasta.
SPACE - animate (auto-rotate)
Tecla de seta esquerda - girar vert. esquerda.
CHAVE DE SETA PARA A DIREITA - rotate vert. certo.
CHAVE DE SETA PARA CIMA - gire horiz. acima.
CHAVE DE SETA PARA BAIXO - gire horiz. baixa.
NUMPAD + (PLUS) - Perto (aproximar)
NUMPAD - (MENOS) - Longe (afastar)
NUMPAD 4 - mover para a esquerda.
NUMPAD 6 - mude para a direita.
NUMPAD 8 - mova-se para cima.
NUMPAD 2 - descer.
PAGE UP - nível da água para cima.
PÁGINA PARA BAIXO - nível de água para baixo.
Otimização inteligente (não exaustiva).
A AmiBroker agora oferece otimização inteligente (não exaustiva) além da busca regular e exaustiva. A pesquisa não exaustiva é útil se o número de todas as combinações de parâmetros de um determinado sistema de negociação for simplesmente muito grande para ser viável para uma busca exaustiva.
A busca exaustiva é perfeitamente adequada, desde que seja razoável usá-la. Vamos dizer que você tem 2 parâmetros cada um variando de 1 a 100 (passo 1).
Isso é 10000 combinações - perfeitamente OK para pesquisa exaustiva. Agora, com 3 parâmetros, você obteve 1 milhão de combinações - ainda está correto para pesquisa exaustiva (mas pode ser lenta). Com 4 parâmetros você tem 100 milhões de combinações e com 5 parâmetros (1..100) você tem 10 bilhões de combinações. Nesse caso, seria muito demorado verificá-los, e esta é a área onde os métodos de pesquisa inteligente não exaustivos podem resolver o problema que não são solucionáveis ​​em um tempo razoável usando uma busca exaustiva.
Aqui é absolutamente a instrução mais simples como usar o novo otimizador não exaustivo (neste caso, CMA-ES).
1. Abra sua fórmula no Editor de fórmulas.
2. Adicione esta única linha no topo da sua fórmula:
OptimizerSetEngine (& quot; cmae & quot;); // você também pode usar & quot; spso & quot; ou "trib" Aqui.
3. (Opcional) Selecione seu alvo de otimização em Análise automática, Configurações, & Walker Forward & quot; guia, campo de destino de otimização. Se você pular essa etapa, ela será otimizada para CAR / MDD (retorno anual composto dividido pelo rebaixamento máximo de%).
Agora, se você executar a otimização usando esta fórmula, usará o novo otimizador CMA-ES evolutivo (não exaustivo).
Como funciona ?
A otimização é o processo de encontrar o mínimo (ou o máximo) de função dada. Qualquer sistema comercial pode ser considerado como uma função de certo número de argumentos. As entradas são parâmetros e dados de cotação, a saída é seu destino de otimização.
(diga CAR / MDD). E você está procurando o máximo de função dada.
Alguns algoritmos de otimização inteligente são baseados na natureza (comportamento animal) - algoritmo PSO ou processo biológico - Algoritmos genéticos,
e alguns são baseados em conceitos matemáticos derivados de humanos - CMA-ES.
Esses algoritmos são usados ​​em muitas áreas diferentes, incluindo finanças. Insira "PSO finance & quot; ou & quot; CMA-ES finance & quot; no Google e você encontrará muitas informações.
Métodos não exaustivos (ou "inteligentes") encontrarão otimizar global ou local. O objetivo é, naturalmente, encontrar um global, mas se houver um único pico afiado.
Em combinações de parâmetros zillions, métodos não exaustivos podem falhar em encontrar este pico único, mas tomando-o sob a perspectiva do profissional, encontrar um único pico acentuado é inútil para negociação porque esse resultado seria instável (muito frágil) e não replicável em negociação real. No processo de otimização, estamos procurando por regiões de platô com parâmetros estáveis ​​e esta é a área onde brilham métodos inteligentes.
Quanto ao algoritmo usado por pesquisa não-exaustiva, ele se destaca da seguinte maneira:
a) o otimizador gera uma população inicial de conjuntos de parâmetros (geralmente aleatórios).
b) backtest é realizado pela AmiBroker para cada conjunto de parâmetros da população.
c) os resultados dos backtests são avaliados de acordo com a lógica do algoritmo.
e nova população é gerada com base na evolução dos resultados,
d) se o novo melhor for encontrado - salve-o e vá para a etapa b) até que os critérios de parada sejam atendidos.
Exemplos de critérios de parada podem incluir:
a) atingindo as iterações máximas especificadas.
b) pare se o intervalo dos melhores valores objetivos das últimas gerações X é zero.
c) pare se adicionar 0,1 vetor de desvio padrão em qualquer direção do eixo principal não altera o valor do valor objetivo.
Para usar qualquer otimizador inteligente (não exaustivo) no AmiBroker, você precisa especificar o mecanismo otimizador que deseja usar na fórmula AFL usando a função OptimizerSetEngine.
A função seleciona o mecanismo de otimização externo definido pelo nome. O AmiBroker atualmente é fornecido com 3 mecanismos: Standard Particle Swarm Optimizer ("spso"), Tribes ("trib") e CMA-ES ("cmae") - os nomes entre chaves devem ser usados ​​em chamadas OptimizerSetEngine.
Além de selecionar o mecanismo do otimizador, você pode querer definir alguns dos seus parâmetros internos. Para isso, use a função OptimizerSetOption.
Função OptimizerSetOption (& quot; name & quot ;, value).
A função define parâmetros adicionais para o mecanismo de otimização externo. Os parâmetros são dependentes do mecanismo.
Todos os três otimizadores fornecidos com AmiBroker (SPSO, Trib, CMAE) suportam dois parâmetros: & quot; Executa & quot; (número de execuções) e "MaxEval" (avaliações máximas (testes) por única execução). O comportamento de cada parâmetro é dependente do motor, então os mesmos valores podem e, geralmente, produzir resultados diferentes com diferentes motores usados.
A diferença entre Runs e MaxEval é a seguinte. A avaliação (ou teste) é um teste simples (ou avaliação do valor da função objetivo).
RUN é uma execução completa do algoritmo (encontrando o melhor valor) - geralmente envolvendo muitos testes (avaliações).
Cada execução simplesmente RESTAURA todo o processo de otimização desde o novo início (nova população aleatória inicial).
Portanto, cada execução pode levar a encontrar diferentes locais max / min (se não encontrar um global). Então, o parâmetro Runs define o número de execuções subseqüentes do algoritmo. MaxEval é o número máximo de avaliações (bactests) em qualquer execução única.
Se o problema é relativamente simples e 1000 testes são suficientes para encontrar o máximo global, é mais provável que 5x1000 encontrem o máximo global.
porque há menos chances de ficar preso no máximo local, pois as execuções subsequentes começarão a partir de uma população aleatória inicial diferente.
A escolha de valores de parâmetros pode ser complicada. Depende do problema em teste, sua complexidade, etc, etc.
Qualquer método não-exaustivo estocástico não oferece garantia de encontrar max / min global, independentemente do número de testes, se for menor.
exaustivo. A resposta mais fácil é: especificar como grande número de testes como é razoável para você em termos de tempo necessário para concluir.
Outro conselho simples é multiplicar por 10 o número de testes com adição de nova dimensão. Isso pode levar a superestimar o número.
de testes necessários, mas é bastante seguro. Os motores expedidos são projetados para serem simples de usar, portanto, "razoáveis" valores padrão / automáticos são usados ​​para que a otimização possa ser executada sem especificar nada (aceitando padrões).
É importante entender que todos os métodos inteligentes de otimização funcionam melhor em espaços de parâmetros contínuos e funções objetivas relativamente lisas. Se o espaço dos parâmetros é discreto, os algoritmos evolutivos podem ter problemas para encontrar o melhor valor. É especialmente verdade para parâmetros binários (on / off) - não são adequados para qualquer método de pesquisa que use gradiente de mudança de função objetiva (como a maioria dos métodos inteligentes o fazem). Se o seu sistema de negociação contiver muitos parâmetros binários, você não deve usar o otimizador inteligente diretamente sobre eles. Em vez disso, tente otimizar apenas os parâmetros contínuos usando o otimizador inteligente e alterne os parâmetros binários manualmente ou via script externo.
SPSO - Otimizador Padrão de Enxame de Partículas.
O otimizador padrão de enxertia de partículas é baseado no código SPSO2007 que é suposto produzir bons resultados desde que os parâmetros corretos (ou seja, Runs, MaxEval) sejam fornecidos para um problema específico.
Escolher opções corretas para o otimizador de PSO pode ser complicado, portanto, os resultados podem variar significativamente de caso para caso.
O SPSO. dll vem com códigos-fonte completos dentro do & quot; ADK & quot; subpasta.
(encontrando o valor ideal em 1000 testes dentro do espaço de busca de 10000 combinações)
Compra = Cruz (MACD (fa, sl), 0);
Venda = Cruz (0, MACD (fa, sl));
TRIBES - Otimizador de enxertia de partículas sem parâmetros adaptáveis.
Tribes é uma versão adaptável e sem parâmetros do otimizador não-exaustivo PSO (otimização de enxame de partículas). Para o conhecimento científico, veja:
Em teoria, ele deve ter um desempenho melhor do que o PSO regular, porque ele pode ajustar automaticamente os tamanhos de enxame e a estratégia do algoritmo para o problema a ser resolvido.
A prática mostra que seu desempenho é bastante semelhante ao PSO.
O plugin Tribes. DLL implementa & quot; Tribes-D & quot; (ou seja, sem adição). Baseado em clerc. maurice. free. fr/pso/Tribes/TRIBES-D. zip por Maurice Clerc. Códigos fonte originais utilizados com permissão do autor.
Tribes. DLL vem com código-fonte completo (dentro da pasta "ADK")
"MaxEval" - número máximo de avaliações (backtests) por execução (padrão = 1000).
O padrão 1000 é bom para 2 ou máximo 3 dimensões.
& quot; Executa & quot; - número de execuções (reinicia). (padrão = 5)
Você pode deixar o número de execuções no valor padrão de 5.
Por padrão, o número de execuções (ou reinicia) é definido como 5.
Para usar o otimizador Tribes, você só precisa adicionar uma linha ao seu código:
OptimizerSetOption (& quot; MaxEval & quot; 5000); // 5000 avaliações no máximo
CMA-ES - Covariance Matrix Adaptation Otimizador de estratégia evolutiva.
CMA-ES (Covariance Matrix Adaptation Evolutionary Strategy) é otimizador avançado não-exaustivo.
Para o conhecimento científico, veja:
De acordo com referências científicas, supera nove outras estratégias evolutivas mais populares (como PSO, Genetic e Differential evolution).
O plugin CMAE. DLL implementa & quot; Global & quot; variante de pesquisa com vários reinícios com o aumento do tamanho da população.
CMAE. DLL vem com o código fonte completo (dentro da pasta "ADK")
Por padrão, o número de execuções (ou reinicia) é definido como 5.
É aconselhável deixar o número padrão de reinícios.
Você pode alterá-lo usando OptimizerSetOption (& quot; Runs & quot ;, N) call, onde N deve estar no intervalo 1..10.
Especificar mais de 10 execuções não é recomendado, embora possivel.
Observe que cada execução usa TWICE o tamanho da população da corrida anterior para que ela cresça exponencialmente.
Portanto, com 10 corridas, você acaba com a população 2 ^ 10 maior (1024 vezes) do que a primeira corrida.
Existe outro parâmetro "MaxEval". O valor padrão é ZERO, o que significa que o plugin irá calcular automaticamente o MaxEval necessário. É aconselhável NÃO definir MaxEval por si mesmo como padrão funciona bem.
O algoritmo é inteligente o suficiente para minimizar o número de avaliações necessárias e converge muito rápido para o ponto de solução, muitas vezes encontra soluções mais rápidas do que outras estratégias.
É normal que o plugin ignore algumas etapas de avaliação, se detectar que a solução foi encontrada, portanto, você não deve se surpreender que a barra de progresso de otimização possa se mover muito rápido em alguns pontos. O plug-in também tem capacidade de aumentar o número de etapas sobre o valor estimado inicialmente, se necessário, para encontrar a solução. Devido à sua natureza adaptativa, o "tempo estimado deixado" e / ou "número de etapas" exibido pelo diálogo de progresso é apenas "melhor palpite no momento" e pode variar durante o curso de otimização.
Para usar o otimizador CMA-ES, você só precisa adicionar uma linha ao seu código:
Isso executará a otimização com configurações padrão que são boas para a maioria dos casos.
Deve-se notar, como é o caso com muitos algoritmos de pesquisa de espaço contínuo, que diminui o "passo" o parâmetro nas chamadas do Optimize () funciton não afeta significativamente os tempos de otimização. O único que importa é o problema "dimensão", isto é, o número de parâmetros diferentes (número de otimização de chamadas de função). O número de & quot; passos & quot; por parâmetro pode ser definido sem afetar o tempo de otimização, então use a melhor resolução que você deseja. Em teoria, o algoritmo deve ser capaz de encontrar solução em no máximo 900 * (N + 3) * (N + 3) backtests em que "N" é a dimensão. Na prática, ele converge muito mais rápido. Por exemplo, a solução em espaço de parâmetros dimensionais 3 (N = 3) (digamos 100 * 100 * 100 = 1 milhão de etapas exaustivas) pode ser encontrada em apenas 500 a 900 passos CMA-ES.
Otimização individual multi-threaded.
A partir do AmiBroker 5.70, além do multithreading de vários símbolos, você pode executar a otimização de símbolo único multithread. Para acessar esta funcionalidade, clique na seta suspensa ao lado de "otimizar" na janela Nova Análise e selecione & quot; Individual Optimize & quot ;.
"otimizar individual" usará todos os núcleos de processador disponíveis para executar otimização de um único símbolo, tornando-o muito mais rápido do que otimização regular.
1. O backtester personalizado NÃO é suportado (ainda)
2. Os motores de otimização inteligentes NÃO são suportados - apenas otimização EXHAUSTIVA funciona.
Eventualmente, podemos nos livrar da limitação (1) - quando o AmiBroker é alterado, então o backtester personalizado não usa mais OLE. Mas (2) provavelmente está aqui para ficar por muito tempo.

No comments:

Post a Comment