Sistemas de negociação adaptativa


SISTEMAS DE NEGOCIAÇÃO.


Sistemas de Negociação Adaptativa.


Os Sistemas de Negociação Adaptativa (ATS) podem significar muitas coisas para os comerciantes. Geralmente, é um sistema de negociação automatizado que & lsquo; adapte & rsquo; para mudar o mercado de alguma forma.


Definindo ATS.


Quais são os componentes de um sistema de comércio adaptativo? Alguns componentes podem incluir:


&touro; Capacidade de um sistema adaptar-se às mudanças do mercado de alguma forma.


&touro; Sistemas que são auto-aprendizes.


&touro; Sistemas de controle mestre que monitoram múltiplos subsistemas, selecionando o melhor sistema para o tipo de mercado.


&touro; Indicadores dinâmicos que derivam valor com base em tipos de mercado ou outros indicadores derivados.


&touro; Deve conter algum tipo de & lsquo; inteligência & rsquo ;.


O que ATS não é:


&touro; Regras de negociação estáticas.


&touro; Sistema baseado em indicadores simples (como cruzamento de MA)


ATS não precisa ser automatizado, embora, por necessidade, o mais provável seja.


Dados sobre ATS.


O problema de fazer qualquer pesquisa sobre o estado da ATS é que os comerciantes não divulgam publicamente sua metodologia de negociação, e é impossível rastrear de acordo com seus resultados. Por exemplo, um comerciante pode reivindicar ter um sistema adaptativo, quando, de fato, é realmente apenas um cronômetro SMA, ou um comerciante colocando trocas manualmente. Nós sempre podemos ver seus resultados (pelo menos o corretor ou banco que carrega sua conta pode ver) & ndash; mas às vezes até não está disponível. Portanto, nos deixamos ler os documentos acadêmicos, que geralmente estão desconectados do mundo econômico real, ou confiando em sites que estão realmente fazendo o que eles afirmam. Na nossa experiência, isso é falso mais do que é verdade. Por exemplo, há 10x & ndash; 20x (magnitude) mais sites promovendo sistemas de negociação ganhadores do que realmente ganham sistemas de negociação. Isso não é sempre desonestidade e ndash; às vezes os sistemas funcionam e depois param de funcionar, e os webmasters deixarão o site. Ou os comerciantes de sistemas irão exagerar os retornos, ou & lsquo; cherry pick & rsquo; bons resultados que não exibem as 20 contas que o sistema explodiu. O Google tornou-se o melhor pesquisador e pesquisador da melhor ferramenta de pesquisa; no entanto, para esta aplicação, não será suficiente para realizar qualquer estudo.


A questão sobre sistemas de comércio adaptativo tem uma história profunda na negociação; é uma questão de desenvolvimento em chamas, que é muito mais profunda do que qualquer sistema ou metodologia comercial individual. Trata-se do funcionamento fundamental da sociedade neste planeta. Trata-se da evolução dos sistemas de máquinas que, por setor, estão substituindo processos humanos envolvidos.


A negociação é financiamento em tempo real. Os mercados são uma matriz em tempo real que descreve matematicamente o planeta terra e a existência humana. Porque no capitalismo, tudo o que pode ser quantificado aparece em balanços das empresas em algum momento. Algumas coisas, como boa vontade e amor, não podem ser quantificadas, mas ainda aparecem no balanço (amamos a Coca-Cola e a compramos, criando uma transação econômica).


Os mercados são a alocação em tempo real de recursos econômicos e quantificáveis. Na forma mais óbvia e bruta, os mercados de commodities determinam os preços de muitos bens e serviços consumidos pelos consumidores globalmente. Um sistema de comércio automatizado teoricamente pode afetar os preços dessas commodities, eles estão envolvidos no mecanismo de precificação executando seu próprio algoritmo para determinar não só o preço, mas onde eles sentem que o preço irá (como ATS são especulativos por natureza, eles têm um Elemento de previsão inerente incorporado neles.) Assim, a evolução do ATS é a evolução dos próprios mercados. À medida que mais ATS são usados, os mercados se tornarão & lsquo; mais & rsquo; otimizado, ou para ser mais preciso, o processo de otimização evoluirá para tornar-se mais preciso, mais rápido e mais eficiente.


Os mercados são um processo constante de otimização. Desde real & lsquo; ótimo & rsquo; os níveis são áreas e não são pontos exatos, os mercados se movem (não há um nível ótimo exato, de fato, cada marca é o nível ideal para o mercado).


Portanto, o longo prazo & lsquo; goal & rsquo; de ATS verdadeiramente inteligente é a distribuição automatizada, altamente calculada e ótima de recursos em uma economia global conectada eletronicamente pela internet. O objetivo & lsquo; individual & rsquo; do ATS provavelmente será para especulações e lucros. Mas em seu processo de obtenção de lucros, como eles comercializam capital nos mercados, equilibrará os preços, otimizando os preços do mercado e, assim, decidindo & lsquo; quem obtém o que & rsquo; no mercado.


Esta consequência não intencional de ATS não deve ser desconsiderada; É o principal fundamento moral de um sistema capitalista sofisticado. Embora o sistema produza muitos perdedores econômicos, ele também impulsiona o crescimento, a inovação e a especulação, o que impulsiona o desenvolvimento do ATS, que impulsiona o desenvolvimento de uma alocação sistematizada inteligente de recursos.


Assim, enquanto os motivos individuais, desejos e outros fatores humanos emocionais que impulsionam os seres humanos a desenvolver sistemas ATS sofisticados, o resultado operacional é um sistema mais eficiente e otimizado.


Claro, fatores como a riqueza e a destruição de recursos, como visto com o recente colapso econômico, podem vencer os esforços da ATS.


Exemplos de Sistemas de Negociação Adaptativa.


Este é o ATS mais comum que muitos comerciantes usam e provavelmente não percebem que eles estão usando é adaptativo.


A EES emprega uma infinidade de parâmetros baseados em volatilidade que são modificados de acordo com a volatilidade. Por exemplo, ao determinar o tamanho do lote, ele aumentará à medida que a volatilidade diminua. Isso ocorre porque quando o mercado é menos volátil, há menos movimento de preços, o que significa menos risco e menos oportunidades de lucro. Assim, em dias tranquilos, o sistema deve aumentar o tamanho do lote para compensar a falta de oportunidade comercial. Isso pode ser tão simples como usar ATR (Average True Range) e multiplicá-lo por um valor para determinar o tamanho do lote.


V Speed ​​é um indicador que calcula a volatilidade com base nos intervalos de preços ao longo do tempo. Isso produz uma variável oscilante, que pode ser usada como um multiplicador para níveis de parada de perda ou tamanhos de lote. Por exemplo, à medida que V Speed ​​aumenta, divida o tamanho do lote pelo valor V Speed ​​(com uma função de normalização para alisar os resultados a níveis aceitáveis). Isso cria um indicador dinâmico que poderia ser dito ser um ATS, porque ele & lsquo; sabe & rsquo; Se o mercado for mais volátil, troque tamanhos menores. Se o mercado é menos volátil, troque tamanhos maiores. Este é um & lsquo; suavização & rsquo; função que pode ser descrita como adaptativa, porque se adapta ao mercado.


ATS Evolution.


Não é difícil especular sobre a evolução do ATS. O que resta a ser desenvolvido e implementado é uma grande variedade de sistemas de negociação inteligentes que se autoajuste com base nas condições do mercado. Uma comunidade global de comerciantes de hobby aumentou de nada em vários anos usando a plataforma Meta Trader 4. Esses comerciantes desenvolvem principalmente sistemas baseados em regras simples que se comercializam automaticamente. Embora a maioria deles seja perdedor, muitos deles são bem sucedidos e várias técnicas surgiram usando a plataforma MT4 que implementa a filosofia ATS.


Um artigo publicado pela comunidade MQL4 explica que & ldquo; é suposto que um consultor especializado com entradas ajustadas à história trocará lucro com o primeiro (bastante curto).


Confirmações indiretas desta sugestão apareceram depois que eu assisti o Automated Trading Championship 2006.


Quando o Campeonato começou, havia consultores especializados mais lucrativos do que mais tarde, quando alguns deles se tornaram não competitivos. É por isso que eu suponho que a maioria desses consultores especializados que não chegaram ao final foram ajustados à história. A idéia de verificar essa suposição na prática nasceu no fórum russo deste site, na seção Ideal Automated Trading System. A principal idéia é iniciar a otimização de uma EA automaticamente uma vez por dia e, em seguida, analisar os resultados de otimização obtidos e gravá-los nas variáveis ​​EA's. Para implementar essa ideia, decidimos levar o Expert Advisor, MACD Sample, preparado a partir do MetaTrader4 Client Terminal e inserir nossa própria função de otimização automatizada. Um pouco mais tarde, o código desse otimizador automatizado estava pronto e carregado no mesmo fórum, na seção Otimizador Automatizado. Depois de mais algum tempo, as primeiras confirmações da idéia apareceram no ramo do Automated Optimizer. Mais tarde, o otimizador foi transformado em uma biblioteca mqh para uma melhor usabilidade. & Rdquo;


Embora o otimizador automatizado não seja um sistema inteligente, certamente não é estático, é mais do que dinâmico e tem a maioria dos critérios de um ATS. Esse desenvolvimento está crescendo de forma exponencial, já que o número de comerciantes MT4 passou de dezenas de milhares para milhões em todo o mundo. Como os corretores não publicam seus registros financeiros, essas estatísticas são difíceis de rastrear. O crescimento é inegável. Combinados com a acessibilidade de conexões rápidas de internet e alta potência de processamento por um preço baixo, esses fatores poderiam contribuir para uma corrida de armamento eletrônico para construir sistemas automatizados inteligentes para lucro, gerenciamento de dinheiro e diversão (alguns desenvolvedores claramente não desenvolvem sistemas de dinheiro). À medida que os sistemas mais inteligentes são desenvolvidos, isso pode afetar os mercados (eles podem já estar afetando o mercado de ações) e a ante de inteligência será aumentada, fazendo com que outros sistemas exigam ajustes e atualizações finais. O processo de evolução desses sistemas estará em andamento; nenhum sistema nunca funcionará sem ser constantemente refinado e reescrito. Automatizar a refinação, otimização e auto-aprendizagem é o objetivo de qualquer ATS bem sucedido, mas como fazer isso é bastante difícil.


À medida que ATS evolui, o primeiro sistema que pode evoluir com êxito dominará o mercado. Para um sistema como este, praticamente não há limites para o seu sucesso potencial.


Sistemas de Negociação Adaptativa e Seu Uso no Terminal MetaTrader 5 Client.


Introdução.


Centenas de milhares de comerciantes em todo o mundo usam as plataformas de negociação desenvolvidas pela MetaQuotes Software Corp. O principal fator que leva ao sucesso é a superioridade tecnológica baseada na experiência de muitos anos e as melhores soluções de software.


Muitas pessoas já estimaram novas oportunidades que ficaram disponíveis com o novo idioma MQL5. Suas principais características são o alto desempenho e a possibilidade de usar a programação orientada a objetos. Além disso, com a aparição do testador de estratégia multi-moeda no terminal do cliente MetaTrader 5, muitos comerciantes adquiriram ferramentas exclusivas para desenvolver, aprender e usar sistemas comerciais complexos.


Automated Trading Championship 2018 começa neste outono; milhares de robôs comerciais escritos no MQL5 vão participar dele. Um consultor especialista que ganhe o lucro máximo durante a competição vencerá. Mas qual estratégia parecerá mais eficaz?


O testador de estratégia do terminal MetaTrader 5 permite encontrar o melhor conjunto de parâmetros, usando o qual o sistema ganha a quantidade máxima de lucro durante um período de tempo especificado. Mas pode ser feito em tempo real? A idéia da negociação virtual usando várias estratégias em um consultor especialista foi considerada no artigo "Concurso de consultores especializados dentro de um consultor especialista", que contém sua implementação no MQL4.


Neste artigo, vamos mostrar que a criação e análise de estratégias adaptativas tornou-se significativamente mais fácil no MQL5 devido ao uso de programação orientada a objetos, aulas para trabalhar com dados e classes comerciais da Biblioteca Padrão.


1. Estratégias de negociação adaptativa.


Os mercados mudam constantemente. As estratégias comerciais precisam de sua adaptação às atuais condições do mercado.


Os valores dos parâmetros que dão a máxima rentabilidade da estratégia podem ser encontrados sem usar a otimização através de mudanças sequenciais de parâmetros e análise de resultados de testes.


A Figura 1 demonstra as curvas de equidade para dez consultores especializados (MA_3. MA_93); cada um deles negociado pela estratégia de médias móveis, mas com períodos diferentes (3,13 93). O teste foi realizado no EURUSD H1, o período de teste é 4.01.2018-20.08.2018.


Figura 1. Diagramas de curvas de equidade de dez consultores especializados na conta.


Como você pode ver na Figura 1, os Expert Advisors tiveram quase os mesmos resultados durante as duas primeiras semanas de trabalho, mas seus lucros começaram a divergir significativamente. No final do período de teste, os melhores resultados comerciais foram mostrados pelos Expert Advisors com os períodos 63, 53 e 43.


O mercado escolheu os melhores. Por que não devemos seguir sua escolha? E se combinarmos as dez estratégias em um único consultor de especialistas, ofereça a possibilidade de negociação "virtual" para cada estratégia e, periodicamente (por exemplo, no início de cada nova barra), determine a melhor estratégia para o comércio e comércio real de acordo com seus sinais?


Os resultados da estratégia adaptativa obtida são mostrados na Figura 2. A curva de equidade da conta com negociação adaptativa é mostrada com a cor vermelha. Note-se que, durante mais de metade do período, a forma de curva de equidade para a estratégia adaptativa é a mesma que a estratégia MA_63, que finalmente pareceu ser o vencedor.


Figura 2. Curvas de capital na conta com a estratégia adaptativa que usa sinais de 10 sistemas comerciais.


As curvas de equilíbrio possuem a dinâmica semelhante (Fig. 3):


Figura 3. Curvas de equilíbrio da estratégia adaptativa que usa sinais de 10 sistemas comerciais.


Se nenhuma das estratégias é rentável no momento, os sistemas adaptativos não devem realizar operações comerciais. O exemplo de tal caso é mostrado na fig. 4 (período de 4 a 22 de janeiro de 2018).


Figura 4. O período de tempo em que a estratégia adaptativa parou de abrir novas posições devido à ausência de estratégias rentáveis.


A partir de janeiro de 2018, a melhor estratégia é demonstrada pela estratégia MA_3. Uma vez que o MA_3 (azul) teve a quantidade máxima de dinheiro obtida nesse momento, a estratégia adaptativa (vermelha) seguiu seus sinais. No período de 8 a 20 de janeiro, todas as estratégias consideradas tiveram um resultado negativo, é por isso que a estratégia adaptativa não abriu novas posições comerciais.


Se todas as estratégias tiverem um resultado negativo, é melhor ficar longe de negociar. Esta é a coisa importante que permite interromper o comércio não lucrativo e manter seu dinheiro economizado.


2. Implementação da Estratégia de Negociação Adaptativa.


Nesta seção, vamos considerar a estrutura da estratégia adaptativa que executa a negociação "virtual" usando várias estratégias comerciais simultaneamente, e escolhe a mais rentável para negociação real de acordo com seus sinais. Observe que o uso da abordagem orientada a objetos torna a solução desse problema significativamente mais fácil.


Em primeiro lugar, vamos investigar o código do Advisor Especialista adaptativo, então vamos analisar detalhadamente o CAdaptiveStrategy onde a funcionalidade do sistema adaptativo é implementada, e então mostraremos a estrutura da classe CSampleStrategy - a classe base das estratégias de comércio onde a funcionalidade da negociação virtual é implementada.


Além disso, vamos considerar o código de dois de seus filhos - as classes CStrategyMA e CStrategyStoch que representam as estratégias de negociação por médias móveis e o oscilador estocástico. Depois de analisar sua estrutura, você poderá escrever facilmente e adicionar suas próprias aulas que realizem suas estratégias.


2.1. Código do Consultor Especialista.


O código do Expert Advisor parece muito simples:


As três primeiras linhas definem as propriedades do programa e, em seguida, vem a diretiva #include que informa o préprocessador para incluir o arquivo CAdaptiveStrategy. mqh. Os suportes de ângulo especificam que o arquivo deve ser retirado do diretório padrão (normalmente, é a pasta terminal \ MQL5 \ Include).


A próxima linha contém a declaração do objeto Adaptive_Expert (instância da classe CAdaptiveStrategy); e o código das funções OnInit, OnDeinit e OnTick do Expert Advisor consiste nas chamadas das funções correspondentes Expert_OnInit, Expert_OnDeInit e Expert_OnTick e do objeto Adaptive_Expert.


2.2. A classe CAdaptiveStrategy.


A classe de Expert Advisor adaptativo (Classe CAdaptiveStrategy) está localizada no arquivo CAdaptiveStrategy. mqh. Vamos começar com os arquivos de inclusão:


A razão pela qual incluímos o arquivo ArrayObj. mqh é a conveniência de trabalhar com classes de estratégias diferentes usando o objeto da classe CArrayObj, que representa uma matriz dinâmica de ponteiros para as instâncias de classe geradas pela classe base CObject e seus filhos. Este objeto será o array de m_all_strategies, será usado um "container" de estratégias comerciais.


Cada estratégia é representada como uma classe. Nesse caso, incluímos os arquivos que contêm as classes CStrategyMA e CStrategyStoch, que representam as estratégias de negociação, movendo médias e negociando pelo oscilador estocástico.


Para solicitar propriedades das posições atuais e para realizar operações comerciais, usaremos as classes CPositionInfo e CTrade da biblioteca padrão, por isso incluímos os arquivos PositionInfo. mqh e Trade. mqh.


Vamos dar uma olhada na estrutura da classe CAdaptiveStrategy.


Para implementar uma abordagem unida aos objetos de diferentes classes, as estratégias comerciais (ou melhor, as instâncias de suas classes) são armazenadas na matriz dinâmica m_all_strategies (do tipo CArrayObj), que é usado como um "recipiente" de classes do estratégias. Esta é a razão pela qual a classe de estratégias comerciais SampleStrategy é gerada a partir da classe CObject.


A função ProceedSignalReal implementa a "sincronização" da direção e do volume de uma posição real com a direção e o volume fornecidos:


Observe que é mais fácil trabalhar com a posição comercial usando as classes comerciais. Utilizamos os objetos das classes CPositionInfo e CTrade para solicitar as propriedades da posição de mercado e para realizar operações comerciais, respectivamente.


A função RealPositionDirection solicita os parâmetros da posição aberta real e retorna sua direção:


Agora vamos dar uma olhada nas principais funções da classe СAdaptiveStrategy.


Vamos começar com a função Expert_OnInit :.


O conjunto de estratégias de negociação é preparado na função Expert_OnInit. Em primeiro lugar, o objeto da matriz dinâmica m_all_strategies é criado.


Nesse caso, criamos dez instâncias da classe CStrategyMA. Cada um deles foi inicializado (neste caso, estabelecemos períodos diferentes e permitimos o comércio "virtual") usando a função Inicialização.


Então, usando a função SetStrategyInfo definimos o instrumento financeiro, o nome da estratégia e o comentário.


Se necessário, usando a função Set_Stops (TP, SL), podemos especificar um valor (em pontos) de Take Profit e Stop Loss, que será executado durante a negociação "virtual". Nós comentamos essa linha.


Uma vez que a classe de estratégia é criada e ajustada, nós a adicionamos ao contêiner m_all_strategies.


Todas as classes de estratégias comerciais devem ter a função CheckTradeConditions () que executa as verificações das condições de negociação. Na classe da estratégia adaptativa, esta função é chamada no início de cada nova barra, portanto, damos às estratégias a possibilidade de verificar os valores dos indicadores e fazer as operações comerciais "virtuais".


Em vez de dez médias móveis especificadas (3, 13, 23. 93), podemos adicionar centenas de médias móveis (instâncias se a classe CStrategyMA):


Ou podemos adicionar as classes de estratégia que funcionam pelos sinais do oscilador estocástico (instâncias da classe CStrategyStoch):


Neste caso, o recipiente inclui 10 estratégias de médias móveis e 5 estratégias do oscilador estocástico.


As instâncias de classes de estratégias de negociação devem ser as crianças da classe CObject e devem conter a função CheckTradeConditions (). É melhor herdá-los da classe CSampleStrategy. As classes que implementam estratégias comerciais podem ser diferentes e seu número não é limitado.


A função Expert_OnInit termina com a lista de estratégias que estão presentes no contêiner m_all_strategies. Observe que todas as estratégias no recipiente são consideradas como crianças da classe CSampleStrategy. As classes de estratégias comerciais CStrategyMA e CStrategyStoch também são seus filhos.


O mesmo truque é usado na função Expert_OnDeInit. No contêiner, chamamos a função SaveVirtualDeals para cada estratégia; Ele armazena o histórico de negócios virtuais executados.


Usamos o nome da estratégia para o nome do arquivo que é passado como um parâmetro. Em seguida, desinitializamos as estratégias chamando a função Deinitialization () e excluindo o contêiner m_all_strategies:


Se você não precisa saber sobre os negócios virtuais realizados pelas estratégias, remova a linha onde tStrategy. SaveVirtualDeals é chamado. Observe que, ao usar o testador de estratégia, os arquivos são salvos no diretório / tester_directory / Files / /.


Consideremos a função Expert_OnTick da classe CAdaptiveStrategy que é chamada cada vez que vem um novo tiqueteque:


O código é muito simples. Cada estratégia, localizada no recipiente, deve ser capaz de recalcular o resultado financeiro atual de suas posições virtuais usando os preços atuais. Isso é feito chamando a função UpdatePositionData (). Aqui, mais uma vez chamamos as estratégias como herdeiros da classe CSampleStrategy.


Todas as operações comerciais são realizadas no início de uma nova barra (a função IsNewBar () permite determinar esse momento, bem como os outros métodos de verificação da barra nova). Nesse caso, o fim da formação de uma barra significa que todos os dados da barra anterior (valores de preços e indicadores) não serão mais alterados, portanto, podem ser analisados ​​na correspondência com as condições de negociação. Para todas as estratégias, damos a oportunidade de realizar esse cheque e realizar suas operações de comércio virtual ao chamar a função CheckTradeConditions.


Agora, devemos encontrar a estratégia mais bem sucedida entre todas as estratégias na matriz m_all_strategies. Para fazer isso, usamos a matriz Performance [], os valores que são retornados pela função StrategyPerformance () de cada estratégia são colocados nele. A classe base CSampleStrategy contém esta função como a diferença entre os valores atuais de Equidade e Equilíbrio "virtual".


A pesquisa de índice da estratégia mais bem sucedida é realizada usando a função ArrayMaximum. Se a melhor estratégia tiver um lucro negativo no momento e não tiver posições abertas reais, é melhor não trocar, é por isso que saimos da função (ver seção 1).


Além disso, solicitamos a direção da posição virtual desta estratégia (best_direction). Se difere da direção atual da posição real, a direção atual da posição real será corrigida (usando a função ProceedSignalReal) de acordo com a direção de melhor direção.


2.3. Classe CSampleStrategy.


As estratégias colocadas no contêiner m_all_strategies foram consideradas como os herdeiros da classe CSampleStrategy.


Esta classe é a base para as estratégias comerciais; contém a implementação do comércio virtual. Neste artigo, consideramos um caso simplificado de implementação de negociação virtual, os swaps não são considerados. As classes de estratégias comerciais devem ser herdadas da classe CSampleStrategy.


Vamos mostrar a estrutura desta classe.


Não analisaremos sua descrição detalhada, informações adicionais podem ser encontradas no arquivo CSampleStrategy. mqh. Lá, você também pode encontrar a função de verificar a nova barra - IsNewBar.


3. Classes de Estratégias Comerciais.


Esta seção é dedicada à estrutura das classes de estratégias de comércio que são usadas no Advisor Especialista adaptativo.


3.1. Classe CStrategyMA - Estratégia de negociação por médias móveis.


A classe CStrategyMA é um filho da classe CSampleStrategy onde a funcionalidade completa da negociação virtual é implementada.


A seção protegida contém variáveis ​​internas que serão usadas na classe da estratégia. Estes são: m_handle - identificador do indicador iMA, m_period - período da média móvel, m_values ​​[] - matriz que será usada na função CheckTradeConditions para obter os valores atuais do indicador.


A seção pública contém três funções que fornecem a implementação da estratégia comercial.


Inicialização da função. A estratégia é inicializada aqui. Se você precisa criar indicadores, crie-os aqui.


O conceito é simples - com base em estados indicadores e preços, o tipo de sinal (new_state) é determinado, então o estado atual da negociação virtual é solicitado (usando a função GetSignalState); e se eles não são iguais, a função SetSignalState é chamada para "corrigir" a posição virtual.


3.2. Classe CStrategyStoch - Estratégia de negociação por estocástico.


O código da classe que executa a negociação com base na interseção das linhas principais e de sinal do oscilador iStochastic é dado abaixo:


Como você vê, as únicas diferenças entre a estrutura da classe CStrategyStoch e a de CStrategyMA são a função de inicialização (diferentes parâmetros), o tipo de indicador usado e os sinais comerciais.


Assim, para usar suas estratégias no Advisor de Expert adaptativo, você deve reescrevê-las na forma de classes desse tipo e carregá-las no contêiner m_all_strategies.


4. Resultados da Análise das Estratégias de Comércio Adaptativo.


Nesta seção, vamos discutir vários aspectos do uso prático das estratégias adaptativas e os métodos para melhorá-los.


4.1. Melhorando o sistema com estratégias que utilizam sinais invertidos.


As médias móveis não são boas quando não há tendências. Já conhecemos esse tipo de situação - na figura 3, você pode ver que não houve tendência no período de 8 a 20 de janeiro; então todas as 10 estratégias que usam médias móveis na negociação tiveram uma perda virtual. O sistema adaptativo interrompeu a negociação como resultado da ausência de uma estratégia com a quantidade positiva de dinheiro obtido. Existe alguma maneira de evitar esse efeito negativo?


Vamos adicionar às nossas 10 estratégias (MA_3, MA_13,. MA_93) outras 10 classes CStrategyMAinv, cujos sinais comerciais são revertidos (as condições são as mesmas, mas SIGNAL_OPEN_LONG / SIGNAL_OPEN_SHORT e SIGNAL_CLOSE_LONG / SIGNAL_CLOSE_SHORT trocaram seus lugares). Assim, além de dez estratégias de tendências (instâncias da classe CStrategyMA), temos outras dez estratégias de contra-tendência (instâncias da classe CStrategyMAinv).


O resultado da utilização do sistema adaptativo que consiste em vinte estratégias é mostrado na figura 5.


Figura 5. Diagramas de equidade na conta da estratégia adaptativa que usa 20 sinais comerciais: 10 médias móveis CAdaptiveMA e 10 "espelhadas" CAdaptiveMAinv.


Como você pode ver na figura 5, durante o período em que todas as estratégias CAdaptiveMA tiveram um resultado negativo, seguindo as estratégias CAdaptiveMAinv permitiu que o Consultor Especial evitasse os levantamentos indesejados no início da negociação.


Figura 6. Período de tempo em que a estratégia adaptativa usou os sinais das estratégias "C-adaptiveMAinv" de "contra-tendência".


Esse tipo de abordagem pode parecer inaceitável, já que perder o depósito é apenas uma questão de tempo ao usar uma estratégia de contra-tendência. No entanto, no nosso caso, não estamos limitados com uma única estratégia. O mercado sabe melhor quais estratégias são efetivas no momento.


O lado forte dos sistemas adaptativos é que o mercado sugere por si só qual estratégia deve ser usada e quando deve ser usada.


Ele dá a possibilidade de abstrair da lógica das estratégias - se uma estratégia é eficaz, então a maneira como ela funciona não tem significado. A abordagem adaptativa usa o único critério de sucesso de uma estratégia - sua efetividade.


4.2. Vale a pena inverter os sinais da pior estratégia?


O truque com inversão mostrada acima conduz a um pensamento sobre a potencial possibilidade de usar os sinais da pior estratégia. Se uma estratégia não é lucrativa (e a pior delas), então podemos obter lucros ao agir de modo inverso?


Podemos transformar uma estratégia perdedora em uma lucrativa por uma simples mudança de seus sinais? Para responder a esta pergunta, precisamos alterar ArrayMaximum com ArrayMinimum na função Expert_OnTick () da classe CAdaptiveStrategy, bem como implementar a mudança de direção multiplicando o valor da variável BestDirection por -1.


Além disso, precisamos comentar a limitação do comércio virtual em caso de efetividade negativa (já que vamos analisar o resultado da pior estratégia):


O diagrama de equidade do Advisor Especialista adaptativo que usa os sinais invertidos da pior estratégia é mostrado na figura 7:


Figura 7. Diagramas de equidade nas contas de dez estratégias e do sistema adaptativo que utiliza os sinais reversos do pior sistema.


Neste caso, a estratégia menos bem sucedida pela maior parte do tempo foi a baseada na interseção de médias móveis com o período 3 (MA_3). Como você pode ver na figura 7, a correlação inversa entre MA_3 (azul) e a estratégia adaptativa (de cor vermelha) existe, mas o resultado financeiro do sistema adaptativo não impressiona.


Copiar (e reverter) os sinais da pior estratégia não leva a melhorar a eficácia da negociação.


4.2. Por que o Bando de médias móveis não é tão eficaz quanto parece?


Em vez de 10 médias móveis, você pode usar muitos deles adicionando mais de cem das estratégias CStrategyMA com diferentes períodos para o contêiner m_all_strategies.


Para fazê-lo, altere ligeiramente o código na classe CAdaptiveStrategy:


No entanto, você deve entender que as médias próximas de movimento se cruzarão inevitavelmente; o líder mudará constantemente; e o sistema adaptativo irá mudar seus estados e abrir / fechar posições mais freqüentemente do que é necessário. Como resultado, as características do sistema adaptativo tornar-se-ão pior. Você pode certificar-se, por sua conta, comparando as características estatísticas do sistema (a guia "Resultados" do testador de estratégia).


É melhor não criar sistemas adaptativos baseados em muitas estratégias com parâmetros próximos.


5. O que deve ser considerado.


O contêiner m_all_strategies pode incluir milhares de exemplos de estratégias sugeridas, você pode até adicionar todas as estratégias com diferentes parâmetros; no entanto, para ganhar o Automated Trading Championship 2018, você precisa desenvolver o sistema avançado de gerenciamento de dinheiro. Observe que usamos o volume de negociação igual a 0.1 lotes para testes em dados do histórico (e no código de classes).


5.1 Como aumentar a rentabilidade do Conselheiro Expert Adaptive?


A classe CSampleStrategy possui a função virtual MoneyManagement_CalculateLots:


Para gerenciar o volume de negociação, você pode usar as informações estatísticas sobre os resultados e as características das ofertas virtuais registradas na matriz m_deals_history [].


Se você precisa aumentar o volume (por exemplo, dobrá-lo se os últimos negócios virtuais em m_deals_history [] forem lucrativos ou para diminuí-lo), você deve alterar o valor retornado da maneira correspondente.


5.2 Usando as Estatísticas das Ofertas para o Cálculo do Desempenho da Estratégia.


A função StrategyPerformance (), implementada na classe CSampleStrategy destina-se ao cálculo do desempenho da estratégia,


The formula of effectiveness of a strategy can be more complex and, for example, include the effectiveness of entering, exiting, the effectiveness of deals, profits, drawdowns, etc.


The calculation of the effectiveness of entering, exiting and the effectiveness of deals (the entry_eff, exit_eff and trade_eff fields of structures of the m_deals_history[] array) is performed automatically during the virtual trading (see the CSampeStrategy class). This statistical information can be used for making your own, more complex rates of the effectiveness of strategy.


For example, as a characteristics of effectiveness you can use the profit of last three deals (use the pos_Profit field from the archive of deals m_deals_history[]):


If you want to change this function, change it only in the CSampleStrategy class, it must be the same for all trade strategies of the adaptive system. However, you should remember that the difference between Equity and Balance is also a good factor of effectiveness.


5.3 Using Take Profit and Stop Loss.


You can change the effectiveness of trading systems by setting fixed stop levels (it can be done by calling the Set_Stops function; it allows setting the stop levels in points for virtual trading). If the levels are specified, closing of virtual positions will be performed automatically; this functionality is implemented in the CSampleStrategy class.


In our example (see 2.2, the function of classes of moving averages), the function of setting stop levels is commented.


5.4. Periodic Zeroizing of Cumulative Virtual Profit.


The adaptive approach has the same disadvantage as common strategies have. If the leading strategy starts losing, the adaptive system starts losing as well. That is the reason why sometimes you need to "zeroize" the results of working of all strategies and to close all their virtual positions.


To do it, the following functions are implemented in the CSampleStrategy class:


CheckPoint of this kind can be used from time to time, for example after each N bars.


You should remember that the adaptive system is not a grail (USDJPY H1, 4.01.2018-20.08.2018):


Figure 8. Balance and equity curves of the adaptive system that uses the signals of the best of 10 strategies (USDJPY H1)


Equity curves of all the strategies are shown in the figure 9.


Figure 9. Equity curves at the account with the adaptive system based on 10 strategies (USDJPY H1)


If there are no profitable strategies in the adaptive system, using them is not effective. Use profitable strategies.


We should consider another important and interesting thing. Pay attention to the behavior of the adaptive strategy at the very beginning of trading:


Figure 10. Equity curves at the account with 10 strategies of the adaptive strategy.


At first, all the strategies had negative results and the adaptive strategy stopped trading; then it started switching between strategies that had a positive result; and then all the strategies became unprofitable again.


All the strategies have the same balance in the beginning. And only after a while, one or another strategy becomes a leader; thus it's recommended to set a limitation in the adaptive strategy to avoid trading at first bars. To do it, supplement the Expert_OnTick function of the CAdaptiveStrategy class with a variable, which value is increased each time a new bar comes.


In the beginning, until the market chooses the best strategy, you should stay away from real trading.


Conclusões.


In this article, we have considered an example of the adaptive system that consists of many strategies, each of which makes its own "virtual" trade operations. Real trading is performed in accordance with the signals of a most profitable strategy at the moment.


Thanks to using the object-oriented approach, classes for working with data and trade classes of the Standard library, the architecture of the system appeared to be simple and scalable; now you can easily create and analyze the adaptive systems that include hundreds of trade strategies.


P. S. For the convenience analysis of behavior of adaptive systems, the debug version of the CSampleStrategy class is attached (the adaptive-systems-mql5-sources-debug-en. zip archive). The difference of this version is creation of text files during its working; they contain the summary reports on the dynamics of changing of virtual balance/equity of the strategies included in the system.


Traduzido do russo pela MetaQuotes Software Corp.


Principais Produtos e Serviços.


O Synergy é um aplicativo de mineração de dados que cria e valida automaticamente modelos de timing de mercado. Os modelos podem ser exportados da Synergy para Dakota 3, NinjaTrader ou MultiCharts.


Sinais Predictivos.


Deixe-nos fazer o modelo para você. Nós fornecemos um serviço de download diário que inclui sinais preditivos para Futuros de Futuros Futuros, Futuros de Ouro, S & P 500 e Dólar Australiano.


Contas gerenciadas.


Para os investidores que preferem ter um profissional financeiro gerenciar sua conta em seu nome, estamos entusiasmados por poder oferecer os serviços da Scott Daly da Comprehensive Capital Management.


Modelos de temporização do mercado.


Aussie Dollar Model 66 da corrida 26.


COMEX Gold Futures Model 72 da Run 29.


Modelo de futuros de arroz áspero CBOT 66 da corrida 26.


Modelo CME S & amp; P 500 Futures 3 da execução 25.


Modelo de Futuro de T-Bond CBOT 19 da Run 75.


CBOT Corn Futures Modelo 12 da corrida 74.


Modelo de Futuro de soja CBOT 24 da corrida 73.


Modelo de Futuros de Gado Vivo da CME 1 da Run 71.


Os modelos que produziram as curvas de equidade representadas acima foram criados usando o aplicativo de mineração de dados Synergy. A sinergia torna o difícil esforço de identificar relações inter-mercado e construir modelos relativamente fáceis.


Trabalhando com.


AVISO DE RESPONSABILIDADE: resultados de desempenho hipotéticos ou simulados têm limitações inerentes. Ao contrário de um registro de desempenho real, os resultados simulados não representam a negociação real. Além disso, uma vez que as negociações não foram realmente executadas, os resultados podem ter compensado ou compensado o impacto, se houver, de certos fatores de mercado, como a falta de liquidez. Os programas de negociação simulados em geral também estão sujeitos ao fato de serem projetados com o benefício de retrospectiva. Nenhuma representação está sendo feita que qualquer conta será ou será capaz de atingir lucros ou perdas semelhantes às exibidas neste site. O desempenho passado de nossos sistemas de negociação, sinais comerciais e software de modelagem, seja real ou indicado por testes históricos simulados de estratégias de negociação, não é indicativo de resultados futuros.


SISTEMAS DE NEGOCIAÇÃO.


Sistemas de Negociação Adaptativa.


Os Sistemas de Negociação Adaptativa (ATS) podem significar muitas coisas para os comerciantes. Generally, it is an automated trading system that ‘adapts’ to market changes in some form.


Defining ATS.


What are the components of an Adaptive Trading System? Some components may include:


&touro; Ability for a system to adapt to market changes in some form.


&touro; Systems that are self-learning.


&touro; Master control systems that monitor multiple sub-systems, selecting the best system for the market type.


&touro; Dynamic indicators that derive value based on market types, or other derivative indicators.


&touro; Should contain some type of ‘intelligence’.


What ATS is not:


&touro; Static trading rules.


&touro; Simple indicator based system (such as MA crossover)


ATS need not be automated, although by necessity they most likely would be.


Data about ATS.


Trouble with doing any research on the state of ATS is that traders do not publicly disclose their trading methodology, and it is impossible to track based on their results. For example, a trader may claim to have an adaptive system, when in fact it is really just a SMA crossover, or a trader placing trades manually. We can always see their results (at least the broker or bank carrying their account can see) – but sometimes even that is not available. So we are left with reading either academic papers, which are usually far disconnected from the real economic world, or by trusting websites that they are actually doing what they claim. In our experience, this is false more than it is true. For example, there are 10x – 20x (magnitude) more websites promoting winning trading systems than there are actually winning trading systems. This isn’t always dishonesty – sometimes systems will work and then stop working, and webmasters will leave up the site. Or systems traders will overstate returns, or ‘cherry pick’ good results not displaying the 20 accounts the system blew up. Google has become the writer and researcher’s best researching tool; however, for this application, it will not be sufficient to conduct any study.


The question about Adaptive Trading Systems has a deep history in trading; it is a burning development question, which is much deeper than about any individual trading system or methodology. It is about the fundamental functioning of society on this planet. It is about the evolution of machine systems that industry by industry, are replacing human involved processes.


Trading is real-time finance. The markets are a real-time matrix mathematically describing planet earth and human existence. Because in Capitalism, everything that can be quantified shows up on companies balance sheets at some point. Some things, such as Good Will, and Love, cannot be quantified, but they still show up on the balance sheet (we love Coca-Cola and we buy it, creating an economic transaction).


The markets are the real-time allocation of economic, quantifiable resources. In the most obvious and crude form, the commodity markets determine the prices of many goods and services consumed by consumers globally. An automated trading system could theoretically affect the prices of these commodities, they are engaging in the pricing mechanism by running their own algorithm to determine not only the price but where they feel the price will go (as ATS are speculative by nature, they have an inherent forecasting element built into them.) Thus, the evolution of ATS is the evolution of markets themselves. As more ATS are used, markets will become ‘more’ optimal, or to be more precise, the process of optimization will evolve itself to become more precise, faster, and more efficient.


Markets are a constant process of optimization. Since real ‘optimal’ levels are areas, and not exact points, markets move (there is no exact optimal level, in fact each tick is the close to ‘optimal’ level for the market).


Therefore, the long term ‘goal’ of truly intelligent ATS is the automated, highly calculated, and optimal distribution of resources in a global economy connected electronically through the internet. The individual ‘goal’ of the ATS will likely be for speculation and profit. But in their process of obtaining profit, how they trade capital in the markets, will balance the prices, thus optimizing market prices, and thus deciding ‘who gets what’ in the market.


This unintended consequence of ATS should not be disregarded; it is the moral high ground of a sophisticated capitalist system. While the system does produce many economic losers, it also drives growth, innovation, and speculation, which drives development of ATS, which drives the development of an intelligent systemized allocation of resources.


So while the individual motives, desires, and other emotional human factors driving humans to develop sophisticated ATS systems, the operational result is a more efficient, optimized system.


Of course, factors such as wanton wealth and resource destruction, as seen with the recent economic collapse, may defeat efforts of ATS.


Examples of Adaptive Trading Systems.


This is the most common ATS that many traders use and probably do not realize what they are using is adaptive.


EES employs a plethora of volatility based parameters that are modified according to volatility. For example, when determining lot size, it will increase as volatility decreases. This is because when the market is less volatile, there is less price movement, which means both less risk and less opportunity for profit. So, on quiet days, the system should increase the lot size to compensate for the lack in trading opportunity. This can be as simple as using ATR (Average True Range) and multiplying it by a value to determine the lot size.


V Speed is an indicator that calculates volatility based on price ranges over time. This produces an oscillating variable, which can be used as a multiplier for stop loss levels, or lot sizes. For example, as V Speed increases, divide the lot size by the V Speed value (with a normalization function to smooth the results to acceptable levels). This creates a dynamic indicator which could be said to be an ATS, because it ‘knows’ if the market is more volatile, trade smaller sizes. If the market is less volatile, trade larger sizes. This is a ‘smoothing’ function that can be described as adaptive, because it adapts to the market.


ATS Evolution.


It is not difficult to speculate on the evolution of ATS. What remains to be developed and implemented are a wide variety of intelligent trading systems that self-adjust based on market conditions. A global community of hobby traders has risen from nothing in several years using the Meta Trader 4 platform. These traders develop mostly simple rule based systems that trade automatically. While most of them are losers, many of them are quite successful, and several techniques have surfaced using the MT4 platform that implement the ATS philosophy.


An article published by the MQL4 Community explains that “it is supposed that an Expert Advisor having inputs adjusted to the history will trade to a profit for the first (rather short) time.


Indirect confirmations of this suggestion appeared after I had watched the Automated Trading Championship 2006.


When the Championship started there were much more profitable Expert Advisors than later, when some of them turned to be noncompetitive. This is why I suppose the most of those Expert Advisors that had not come to the finish were adjusted to the history. The idea to check this supposition in practice was born on the Russian forum of this website, in the section Ideal Automated Trading System. The main idea is to start optimization of an EA automatically once a day and then analyze the obtained optimization results and record them in the EA’s variables. To implement this idea, we decided to take the ready-made Expert Advisor, MACD Sample, from the MetaTrader4 Client Terminal and insert our own function of automated optimization into it. A bit later, the code of that automated optimizer was ready and uploaded in the same forum, in the section Automated Optimizer. After some more time, the first confirmations of the idea appeared in the branch of Automated Optimizer. Later on, the optimizer was transformed into an mqh-library for better usability.”


While the automated optimizer is not an intelligent system, it certainly is not static, is more than dynamic, and has most of the criteria of an ATS. This development is growing exponentially, as the number of MT4 traders has ballooned from tens of thousands to millions worldwide. As brokers do not publish their financial records, these statistics are difficult to track. The growth is undeniable. Combined with accessibility of fast internet connections and high processing power for a low price, these factors could contribute to an electronic arms race to build intelligent automated systems for profit, money management, and fun (some developers clearly do not develop systems for money). As more intelligent systems are developed, it may affect the markets (they may already be affecting the stock market) and the intelligence ante will be upped, causing other systems to require fine tuning and updating. The process of evolution of these systems will be ongoing; no system will ever work without being constantly refined and retooled. Automating the refining, optimization, and self-learning is the goal of any successful ATS, but how to do this is quite difficult.


As ATS evolve, the first system that can self-evolve successfully will dominate the market. For a system like this, there is virtually no limit to its potential success.


SISTEMAS DE NEGOCIAÇÃO.


Sistemas de Negociação Adaptativa.


Os Sistemas de Negociação Adaptativa (ATS) podem significar muitas coisas para os comerciantes. Generally, it is an automated trading system that ‘adapts’ to market changes in some form.


Defining ATS.


What are the components of an Adaptive Trading System? Some components may include:


&touro; Ability for a system to adapt to market changes in some form.


&touro; Systems that are self-learning.


&touro; Master control systems that monitor multiple sub-systems, selecting the best system for the market type.


&touro; Dynamic indicators that derive value based on market types, or other derivative indicators.


&touro; Should contain some type of ‘intelligence’.


What ATS is not:


&touro; Static trading rules.


&touro; Simple indicator based system (such as MA crossover)


ATS need not be automated, although by necessity they most likely would be.


Data about ATS.


Trouble with doing any research on the state of ATS is that traders do not publicly disclose their trading methodology, and it is impossible to track based on their results. For example, a trader may claim to have an adaptive system, when in fact it is really just a SMA crossover, or a trader placing trades manually. We can always see their results (at least the broker or bank carrying their account can see) – but sometimes even that is not available. So we are left with reading either academic papers, which are usually far disconnected from the real economic world, or by trusting websites that they are actually doing what they claim. In our experience, this is false more than it is true. For example, there are 10x – 20x (magnitude) more websites promoting winning trading systems than there are actually winning trading systems. This isn’t always dishonesty – sometimes systems will work and then stop working, and webmasters will leave up the site. Or systems traders will overstate returns, or ‘cherry pick’ good results not displaying the 20 accounts the system blew up. Google has become the writer and researcher’s best researching tool; however, for this application, it will not be sufficient to conduct any study.


The question about Adaptive Trading Systems has a deep history in trading; it is a burning development question, which is much deeper than about any individual trading system or methodology. It is about the fundamental functioning of society on this planet. It is about the evolution of machine systems that industry by industry, are replacing human involved processes.


Trading is real-time finance. The markets are a real-time matrix mathematically describing planet earth and human existence. Because in Capitalism, everything that can be quantified shows up on companies balance sheets at some point. Some things, such as Good Will, and Love, cannot be quantified, but they still show up on the balance sheet (we love Coca-Cola and we buy it, creating an economic transaction).


The markets are the real-time allocation of economic, quantifiable resources. In the most obvious and crude form, the commodity markets determine the prices of many goods and services consumed by consumers globally. An automated trading system could theoretically affect the prices of these commodities, they are engaging in the pricing mechanism by running their own algorithm to determine not only the price but where they feel the price will go (as ATS are speculative by nature, they have an inherent forecasting element built into them.) Thus, the evolution of ATS is the evolution of markets themselves. As more ATS are used, markets will become ‘more’ optimal, or to be more precise, the process of optimization will evolve itself to become more precise, faster, and more efficient.


Markets are a constant process of optimization. Since real ‘optimal’ levels are areas, and not exact points, markets move (there is no exact optimal level, in fact each tick is the close to ‘optimal’ level for the market).


Therefore, the long term ‘goal’ of truly intelligent ATS is the automated, highly calculated, and optimal distribution of resources in a global economy connected electronically through the internet. The individual ‘goal’ of the ATS will likely be for speculation and profit. But in their process of obtaining profit, how they trade capital in the markets, will balance the prices, thus optimizing market prices, and thus deciding ‘who gets what’ in the market.


This unintended consequence of ATS should not be disregarded; it is the moral high ground of a sophisticated capitalist system. While the system does produce many economic losers, it also drives growth, innovation, and speculation, which drives development of ATS, which drives the development of an intelligent systemized allocation of resources.


So while the individual motives, desires, and other emotional human factors driving humans to develop sophisticated ATS systems, the operational result is a more efficient, optimized system.


Of course, factors such as wanton wealth and resource destruction, as seen with the recent economic collapse, may defeat efforts of ATS.


Examples of Adaptive Trading Systems.


This is the most common ATS that many traders use and probably do not realize what they are using is adaptive.


EES employs a plethora of volatility based parameters that are modified according to volatility. For example, when determining lot size, it will increase as volatility decreases. This is because when the market is less volatile, there is less price movement, which means both less risk and less opportunity for profit. So, on quiet days, the system should increase the lot size to compensate for the lack in trading opportunity. This can be as simple as using ATR (Average True Range) and multiplying it by a value to determine the lot size.


V Speed is an indicator that calculates volatility based on price ranges over time. This produces an oscillating variable, which can be used as a multiplier for stop loss levels, or lot sizes. For example, as V Speed increases, divide the lot size by the V Speed value (with a normalization function to smooth the results to acceptable levels). This creates a dynamic indicator which could be said to be an ATS, because it ‘knows’ if the market is more volatile, trade smaller sizes. If the market is less volatile, trade larger sizes. This is a ‘smoothing’ function that can be described as adaptive, because it adapts to the market.


ATS Evolution.


It is not difficult to speculate on the evolution of ATS. What remains to be developed and implemented are a wide variety of intelligent trading systems that self-adjust based on market conditions. A global community of hobby traders has risen from nothing in several years using the Meta Trader 4 platform. These traders develop mostly simple rule based systems that trade automatically. While most of them are losers, many of them are quite successful, and several techniques have surfaced using the MT4 platform that implement the ATS philosophy.


An article published by the MQL4 Community explains that “it is supposed that an Expert Advisor having inputs adjusted to the history will trade to a profit for the first (rather short) time.


Indirect confirmations of this suggestion appeared after I had watched the Automated Trading Championship 2006.


When the Championship started there were much more profitable Expert Advisors than later, when some of them turned to be noncompetitive. This is why I suppose the most of those Expert Advisors that had not come to the finish were adjusted to the history. The idea to check this supposition in practice was born on the Russian forum of this website, in the section Ideal Automated Trading System. The main idea is to start optimization of an EA automatically once a day and then analyze the obtained optimization results and record them in the EA’s variables. To implement this idea, we decided to take the ready-made Expert Advisor, MACD Sample, from the MetaTrader4 Client Terminal and insert our own function of automated optimization into it. A bit later, the code of that automated optimizer was ready and uploaded in the same forum, in the section Automated Optimizer. After some more time, the first confirmations of the idea appeared in the branch of Automated Optimizer. Later on, the optimizer was transformed into an mqh-library for better usability.”


While the automated optimizer is not an intelligent system, it certainly is not static, is more than dynamic, and has most of the criteria of an ATS. This development is growing exponentially, as the number of MT4 traders has ballooned from tens of thousands to millions worldwide. As brokers do not publish their financial records, these statistics are difficult to track. The growth is undeniable. Combined with accessibility of fast internet connections and high processing power for a low price, these factors could contribute to an electronic arms race to build intelligent automated systems for profit, money management, and fun (some developers clearly do not develop systems for money). As more intelligent systems are developed, it may affect the markets (they may already be affecting the stock market) and the intelligence ante will be upped, causing other systems to require fine tuning and updating. The process of evolution of these systems will be ongoing; no system will ever work without being constantly refined and retooled. Automating the refining, optimization, and self-learning is the goal of any successful ATS, but how to do this is quite difficult.


As ATS evolve, the first system that can self-evolve successfully will dominate the market. For a system like this, there is virtually no limit to its potential success.

Comments

Popular posts from this blog

Melhor robô de negociação forex 2017

Questões de intermediário de opções binárias

Opção binária forex fácil