Saturday 31 March 2018

Criar sistema de negociação automatizado


Como fazer um robô de negociação sem tempo.


Para fazer um robô de negociação, você precisa de um sistema de comércio.


A negociação nos mercados financeiros envolve muitos riscos, incluindo o mais crítico - o risco de tomar uma decisão comercial incorreta. O sonho de todos os comerciantes é encontrar um robô comercial, que está sempre em boa forma e não sujeito a fraquezas humanas - medo, ganância e impaciência.


Cada recém-chegado quer obter ou criar um sistema de negociação claro e rigoroso que possa ser apresentado sob a forma de algoritmos e se livrar completamente das operações de rotina. É possível?


Um sistema de comércio é uma condição necessária para entrar no mercado e esse sistema deve ser lucrativo, é claro. Quando os recém-chegados chegam ao mercado, eles geralmente estão sobrecarregados com a grande massa de informações difíceis de entender. Livros e fóruns de comerciantes podem fornecer alguma ajuda nesse caso.


Infelizmente, nem todos os autores são comerciantes de sucesso e nem todos os comerciantes de sucesso escrevem livros. Muitos recursos web especiais são criados apenas para ganhar lucro para seus proprietários, pois é muito mais difícil negociar seu próprio dinheiro do que emitir previsões e ensinar sistemas de negociação.


Cada comerciante deve passar de forma independente todos os estágios de uma criação do sistema comercial. Há um ditado popular de que não importa o sistema que você usa para negociação, o principal é que você deve negociar de acordo com esse sistema. Caso contrário, a negociação no mercado se converte em uma aposta com um resultado previsível.


Trading Robots e Forex.


Espera-se que o mercado Forex tenha uma grande liquidez. Além disso, permite a negociação 24 horas por dia, ao contrário de muitos outros mercados. Portanto, muitos comerciantes tentam fazer robôs comerciais especialmente para o mercado Forex, pois oferece uma grande quantidade de instrumentos de negociação.


No entanto, os céticos afirmam que todos os pares de moedas estão fortemente correlacionados entre si, proporcionando uma volatilidade muito baixa no mercado. Mas seus oponentes respondem que cada par de moedas possui características próprias e baixa volatilidade é compensada por uma grande alavanca.


Em qualquer caso, os instrumentos Forex são atraentes para fazer robôs comerciais e a maioria dos adeptos do comércio automatizado aprimoram suas habilidades em pares de moedas.


Os terminais comerciais MetaTrader 4 e MetaTrader 5 são especialmente projetados para desenvolver sistemas de negociação automatizados facilmente, mas, ao mesmo tempo, sua interface também é conveniente para negociação manual.


Como começar a fazer um robô de negociação?


Existem muitas abordagens para construir um sistema de negociação automatizado. Descreveremos apenas algumas das principais.


A primeira abordagem é baseada em matemática. Um desenvolvedor tenta criar uma espécie de equação que pode considerar muitos fatores. Esta abordagem baseia-se na firme convicção de que os movimentos de preços são gerenciados por um modelo que pode ser encontrado usando os dados históricos disponíveis.


Na maioria dos casos, os seguidores dessa abordagem conhecem muito matemática, mas não sabem nada sobre / não estão interessados ​​no mercado. O mercado é uma abstração pura, um tipo de jogo intelectual para eles. Esta abordagem geralmente leva a muitos anos de estudo e desenvolvimento, enquanto um resultado definitivo na forma de um sistema de negociação automatizado não é tão importante.


A segunda abordagem baseia-se no estudo das leis de mercado. Não são feitas tentativas para entender por que o preço subiu ou desce quando vários números de análise técnica aparecem em um gráfico. A vantagem desta abordagem é que não requer conhecimentos especiais de matemática e não faz suposições sobre a força motriz do mercado.


É mais claro e conveniente ao estudar comércio. É mais popular entre os comerciantes que receberam reconhecimento universal. A desvantagem da abordagem é a necessidade de acompanhar constantemente todos os símbolos necessários.


Mais cedo ou mais tarde, um comerciante começa a considerar a automação dos processos de negociação e a questão mais considerável aparece nesse estágio - a complexidade da formalização das regras de negociação ao tentar expressá-las sob a forma de algoritmos. Em alguns casos, os comerciantes que tentam solicitar um robô comercial não podem descrever as regras comerciais e encontrar um terreno comum com os programadores.


A terceira abordagem baseia-se na tentativa de criar uma "caixa preta" baseada em redes neurais com o uso das ferramentas pré-fabricadas amplamente disponíveis em pacotes especiais de software e matemática. A criação de um sistema de negociação automatizado com os elementos da inteligência artificial é uma tarefa emocionante e desafiadora, mesmo para os recém-chegados, uma vez que não requer fundo matemático profundo, nem experiência de programação - tudo é feito usando auxílios visuais.


Um comerciante deve conhecer os conceitos básicos de indicadores técnicos, possuir uma capacidade para preparar dados de preços necessários e experiência em algum pacote definido para trabalhar com redes neurais. A principal desvantagem desta abordagem é que um robô comercial obtido usando essas ferramentas especializadas para trabalhar com redes neurais é na verdade uma "caixa preta". Os comerciantes não conhecem seus princípios de trabalho e, em geral, é impossível prever qual a fase de mercado que será o mais problemático para o robô.


Os programadores geralmente escolhem a quarta abordagem - eles começam a fazer um robô comercial desde o início, sem gastar tempo para negociação manual. Por que trocar manualmente? Você pode fazer um robô passar alguns meses e colher os benefícios dos seus esforços, então.


Mas "sem dores, sem ganhos". Na maioria dos casos, os programadores começam a criar toda a infra-estrutura necessária usando uma linguagem de programação familiar em vez de apenas fazer um robô comercial - obter e processar dados de preços, representação visual de gráficos e indicadores, meios personalizados de testar estratégias em dados históricos e assim por diante.


Eles ganham muita experiência no processo. Mas na maioria dos casos, essa experiência não os aproxima do objetivo final - criação de um sistema de negociação automatizado. E, mesmo se um robô comercial for criado, não há garantia de que seja lucrativo. E se um programador quiser escrever outro sistema comercial? Reestruturação profunda e novos erros de programação são inevitáveis.


Há também a quinta abordagem - comprando um sistema comercial pronto feito sob a forma de um robô comercial. Neste caso, um comerciante atua como operador ou sintonizador. Esta abordagem economiza muito tempo (não precisa aprender muitas coisas novas) e permite que os comerciantes entrem rapidamente no mundo da negociação automatizada.


A principal desvantagem desta abordagem decorre de suas vantagens: você não conhece os princípios de operação do seu robô comercial e sua estrutura. E mesmo que um vendedor tenha fornecido uma descrição detalhada do sistema de negociação implementado, você nunca estará completamente seguro nele.


No entanto, nenhuma das abordagens mencionadas pode dar-lhe garantia absoluta exceto um depósito bancário. Mas essa não é uma solução muito adequada para pessoas interessadas em negociação no mercado e maneiras de aumentar seus ativos privados.


Qual é a melhor abordagem para a negociação automatizada de um comerciante?


Cada uma das cinco abordagens descritas tem suas vantagens e corresponde a algum tipo de comerciante definido. É improvável que você escolha a primeira abordagem (descrição analítica do mercado) sem um bom histórico matemático. É igualmente improvável que você comece a fazer robôs comerciais com base em redes neurais. No entanto, ambas as abordagens são muito emocionantes e proporcionam um bom exercício intelectual.


Abaixo, vamos discutir apenas a segunda abordagem, que já é considerada a clássica. Essa é a abordagem geralmente escolhida por novos seguidores do comércio automatizado, uma vez que a análise técnica continua a ser a área de conhecimento chave ao aprender noções básicas de negociação.


Outra vantagem da segunda abordagem é que depois de passar algum tempo para negociação manual e obter o senso do mercado, você já terá uma boa compreensão das ferramentas de análise técnica. Além disso, você poderá programar estratégias de negociação ou criar redes neurais em um nível superior.


Os primeiros passos na criação de um robô de negociação.


Para criar um sistema de negociação automatizado, você precisa de habilidades de programação e conhecimento de todas as complexidades do processamento de pedidos comerciais. Mas, em primeiro lugar, você pode começar com os Expert Advisors, fabricados em linha, negociando robôs da biblioteca gratuita do Code Base.


Baixe qualquer Consultor Especializado (robô comercial) e inicie-o nos terminais de clientes do Strategy Tester de MetaTrader 4 ou MetaTrader 5. Selecione um intervalo de histórico que mostre uma forte tendência e um intervalo com um plano. Execute a otimização de parâmetros de entrada do Expert Advisor e examine suas diferenças nesses dois intervalos.


Inicie um Expert Advisor com os parâmetros ótimos para um plano em um intervalo de tendências e com os parâmetros ótimos para uma tendência em um intervalo plano. Examine as diferenças nos resultados da negociação, distribuições de negócios e outros parâmetros estatísticos. Como resultado, você saberá o quanto o comportamento do seu sistema comercial pode variar quando a situação do mercado muda.


Seria melhor tentar várias estratégias de negociação padrão usando este método em diferentes partes da história e vários símbolos. Tal operação de teste impede o ajuste de um sistema de negociação para algum intervalo de histórico definido e fornece uma melhor compreensão dos sistemas de tendência e contrapressão.


O próximo passo seria criar sistemas de negociação mais complexos com base na combinação de sinais simples já existentes do MQL5 Wizard set. Você pode testar e desenvolver sua intuição comercial, classificando sinais ruins de um sistema usando um filtro baseado em outro sistema sem meios de programação.


O principal não é superar. Quanto mais os parâmetros de entrada que um sistema de negociação tem, mais fácil será montar. Houve muitas discussões sobre as diferenças entre otimização e adequação. Não há soluções amplamente aceitas aqui. Mas a visualização de resultados de teste / otimização e seu próprio senso comum podem ajudá-lo.


Aprenda a identificar os parâmetros de entrada mais críticos que afetam seu sistema comercial de todo o conjunto de dados de entrada. Não preste muita atenção aos parâmetros secundários que levam tempo durante a otimização, mas não afetam a própria lógica do sistema. Lembre-se de que um bom sistema de negociação sempre demonstra um pequeno movimento livre de parâmetros secundários, mas não apresenta volatilidade dramática no caso de mudanças no mercado insignificantes.


Você pode gastar tanto tempo nesta fase, conforme desejar, até ter certeza de que pode entender qualquer estratégia de negociação que examine resultados de teste e otimização. O conhecimento de pontos fortes e fracos dos sistemas padrão permitirá que você esteja melhor preparado ao criar seu próprio robô comercial.


Programação de um robô de negociação.


Suponha que você tenha aprendido / esteja aprendendo linguagem de programação MQL4 ou MQL5 e agora você está pronto para escrever seu primeiro consultor especialista para o terminal do cliente MetaTrader. Vários casos são possíveis aqui.


Primeiro, você pode examinar vários robôs comerciais prontos, descritos nos artigos para entender melhor as complexidades de programação.


Em segundo lugar, você pode fazer perguntas sobre MQL4munity ou MQL5munity, se você tiver problemas não resolvidos. Os participantes da comunidade experientes geralmente ajudam os recém-chegados a mostrarem interesse sincero no assunto.


Em terceiro lugar, você pode solicitar imbricação ou desenvolvimento de um Consultor Especialista ou um indicador no serviço de Emprego, se você não conseguir escrever um programa necessário por conta própria. Mas, mesmo que você faça um pedido por meio do serviço freelance, você deve ter uma idéia sobre testes de estratégia para encontrar um idioma comum com um desenvolvedor.


Além disso, o conhecimento básico de uma linguagem de programação permite implementar pequenas correções e alterações no código depois que o trabalho já foi concluído. Afinal, não seria muito conveniente chamar um programador para corrigir todos os pequenos problemas que você encontrar. Seria muito mais fácil e rápido consertar você mesmo.


Não há necessidade de reinventar a roda.


Como encontrar sua própria estratégia de negociação, ou pelo menos em que direção você deve concentrar sua pesquisa? Todos os comerciantes protegem seus próprios sistemas de negociação, se tiverem um. Todos os recém-chegados querem criar um sistema rentável ou obter um ready-made. Ao mesmo tempo, qualquer solução obtida parece ser muito simples em comparação com as idéias dos recém-chegados sobre um sistema de comércio genuíno.


Os homens do exército de todo o mundo são propensos a níveis excessivos de sigilo. Há muitas piadas sobre isso, incluindo o seguinte: "O segredo militar não está no que você está estudando, - um oficial diz aos estudantes da escola militar, - mas no fato de que exatamente você está estudando isso". A situação com os sistemas de negociação é bastante similar: a maioria dos comerciantes usa idéias comerciais simples e bem conhecidas com pequenas modificações, por exemplo, adicionando Trailing Stop ou confirmações de indicadores de tendência.


Há muitos fóruns de comerciantes com acesso limitado, onde os participantes se unem para desenvolver ou melhorar alguns sistemas comerciais secretos. O mais interessante é que esses sistemas não contêm nada de especial. Geralmente, uma idéia bem conhecida (como "comércio com a tendência") é usada como base. Então, é aperfeiçoado com alguns novos indicadores desconhecidos para o público em geral.


Portanto, você pode facilmente obter códigos de código de robô comercial disponíveis e tentar usá-los corretamente com vários símbolos e prazos. Outro exemplo popular pode ser mencionado aqui: "Você não gosta de gatos? Você simplesmente não sabe como cozinhar!" É difícil de acreditar, mas a probabilidade de desenvolver algo realmente novo é muito pequena. O principal aqui é criar um sistema usando ingredientes disponíveis. Não pense que alguns gênios tenham acesso a alguns sistemas secretos dos laboratórios da NASA. Esse é o segredo do Graal.


Apenas alguns os farão.


Então, por que ninguém usa idéias comerciais, se eles estão literalmente ao alcance do braço? A resposta provavelmente está na psicologia humana. A equipe de muitos bancos e grandes fundos de investimento inclui comerciantes que realizam negócios de acordo com regras rígidas e dentro de volumes limitados. Mas por algumas razões, apenas alguns comerciantes institucionais deixam suas empresas e começam a negociar usando seu próprio dinheiro.


Acontece que você precisa não só de uma estratégia de negociação, mas também da disciplina de ferro para segui-la. Muitos comerciantes descobriram com arrependimento que eles também têm os mesmos problemas psicológicos descritos nos livros. Depois de perceber que o pior inimigo dos comerciantes são eles próprios, um recém-chegado começa a pensar em fazer um robô comercial para eliminar um fardo psicológico.


Embora eu me desvie um pouco do assunto, devo mencionar os lendários comerciantes de tartarugas que negociaram com êxito em múltiplos mercados no final do século XX. Leia "Way of the Turtle" e você verá que a coisa mais importante para um comerciante é uma autodisciplina e não um sistema top secreto. Infelizmente, a maioria dos recém-chegados não conseguirá seguir uma estratégia rentável, mesmo que obtenha gratuitamente.


O problema é que a maioria das estratégias de negociação perfeitamente ajustadas para o comércio manual dificilmente podem ser formalizadas e transcritas para uma linguagem de programação. As estratégias que podem ser facilmente formalizadas (por exemplo, as que envolvem duas médias móveis "interseção") são muito simples e exigem muitos aprimoramentos e melhorias, para que possam ser usados ​​na prática. Assim, uma idéia simples é gradualmente complicada por uma abundância de parâmetros externos impedindo um robô comercial de entradas falsas e erros claramente visíveis para um desenvolvedor. Emerge uma questão de otimização de robô comercial. Este processo não deve se transformar em uma sobre-optimização e ajuste para um intervalo de histórico específico.


Para resolver este problema, o teste direto usando os parâmetros do sistema obtidos foi implementado no terminal MetaTrader 5. Se os resultados de teste direto não diferirem significativamente daqueles obtidos na seção de otimização, existe uma probabilidade de um robô comercial ser suficientemente estável por algum tempo após o lançamento em uma conta de negociação. Um comprimento de um intervalo para otimização de parâmetros e um valor real desse "algum tempo" depende de um determinado sistema de negociação.


Assim, a otimização de um robô comercial antes de iniciá-lo em uma conta comercial lembra de desenrolar uma funda - quanto mais cuidadosamente desenrolamos e lançamos um projétil da funda, mais longe voará e mais precisa será a trajetória dele. Um robô de negociação completamente desenvolvido manterá um resultado positivo em uma conta de negociação por mais tempo do que um robô comercial obtido como resultado de uma montagem. Podemos dizer que o Grail é uma idéia de trabalho e ajuste correto dos parâmetros realizados de tempos em tempos nos momentos de mudanças nas condições do mercado.


Isso pode ser ilustrado pelos resultados do Campeonato Automatizado de Negociação que é realizado por muitos anos já. Os assessores de especialistas enviados de todos os participantes passam por testes automáticos no intervalo de tempo de janeiro até o final de julho. O principal requisito para passar o teste automático é um lucro obtido por oito meses de teste. Mas menos de metade dos robôs comerciais admitidos para o Campeonato continuam lucrativos após os meses de trabalho autônomo.


Você também pode tentar suas habilidades em fazer e ajustar o seu robô comercial para participar do Campeonato e obter os resultados de testes avançados do seu Consultor Especialista. Além disso, a participação é gratuita e os prêmios são impressionantes. Esperamos ver você lá!


Conclusão.


Os comerciantes intradiários profissionais passam muitas horas sentados em seus computadores e esperando o momento certo para realizar um acordo. Claro, eles não podem estar em boa forma o tempo todo.


A maioria dos comerciantes chega à conclusão de que suas ações violam suas próprias regras de negociação. Nem todos os sistemas de negociação podem ser completamente formalizados, mas mesmo esses sistemas podem, na maioria dos casos, adotar ferramentas adicionais, como indicadores, sistemas analíticos e filtros de sinais falsos.


Não fazemos recomendações especiais aqui sobre o aprendizado de línguas MQL4 ou MQL5, pois há muitos outros artigos úteis sobre esse assunto. O objetivo deste artigo foi fornecer uma idéia inicial sobre como começar a fazer seu robô comercial para os terminais MetaTrader 4 e MetaTrader 5.


Esperamos que este artigo economize tempo para os recém-chegados e mostre a direção certa na difícil tarefa de desenvolver um sistema de negociação automatizado.


Traduzido do russo pela MetaQuotes Software Corp.


Crie um sistema de negociação automática.


Passos para criar um sistema de troca automática.


Se você já tem uma idéia da estratégia que deseja usar, você pode ir diretamente para o passo 4.


Como queremos tornar o comércio automático mais acessível, também lhe damos a possibilidade de criar sistemas de negociação sem necessidade de programação.


Precisa de ajuda para criar seu sistema de negociação automatizado?


1 A idéia inicial.


Determine as condições para comprar / vender.


A partir de uma "ideia inicial", você definirá as condições de compra e venda da sua estratégia. ProRealTime, em seguida, permite que você teste essas condições de compra e venda antes de decidir usá-las. Você pode facilmente decidir se deseja ou não continuar com essa idéia e, posteriormente, melhorar sua experiência com base em sua experiência.


Suas respostas às seguintes perguntas podem dar uma idéia inicial do tipo de estratégia que deseja criar:


Você tem um método de negociação que você viu em um livro ou na internet que você gostaria de testar? Quais são os seus indicadores favoritos entre os numerosos disponíveis para você? Deseja levar em consideração preços altos e baixos em suas decisões de compra e venda? O seu sistema deve levar em conta uma condição ou múltiplas condições? Você quer usar uma estratégia de tendência ou uma estratégia de contra-tendência? Você quer apenas tomar posições longas ou também ocupar posições curtas para também se beneficiar de tendências descendentes? Você deseja basear suas saídas de mercado em condições relacionadas à análise técnica ou às técnicas de gerenciamento de dinheiro (o objetivo e as ordens de parada de proteção são determinadas com base no preço de entrada de posição)?


Em geral, uma estratégia começa com uma idéia simples que pode ser progressivamente melhorada.


Por exemplo, as estratégias podem ser baseadas em uma combinação:


de indicadores de tendência (média móvel, etc.) ou osciladores de sobrecompra / sobrevenda (RSI, estocástico, etc.) de retrações (Fibonacci, pontos de pivô, etc.) de fuga de preços locais baixos ou baixos de divergências (ou contra - tendências) entre o preço e um indicador de volume incomum.


Use idéias de suas experiências comerciais manuais.


Se você já investir nos mercados financeiros, a melhor inspiração pode ser o que já funciona para você quando você faz o & quot; manual & quot; negociação.


A negociação manual pode ser vista como experimentação permanente e negociação automática como a automatização de técnicas que você já aplicou com sucesso na negociação manual.


Obtenha idéias de fontes externas.


Muitos livros falam sobre estratégia de negociação e podem sugerir ideias de negociação ou estratégias completas que você pode testar.


2 Escolha do instrumento.


Uma vez que sua idéia inicial é determinada, você precisa determinar os instrumentos financeiros nos quais você deseja testar sua estratégia. Esta seção pode dar-lhe algumas idéias que poderiam ser levadas em consideração ao fazer sua escolha.


Liquidez: o instrumento que deseja escolher é suficientemente líquido para que seu sistema de negociação possa fechar uma posição a qualquer momento em boas condições?


Horário de negociação: você quer que sua estratégia possa tomar posições à noite e, como resultado, use instrumentos que citam 24 horas por dia durante a semana?


Intervalo de abertura: as horas de negociação mais limitadas que um mercado tem (ex: das 9:00 às 17:35), maior o risco de abertura no dia seguinte, com uma diferença significativa entre o preço de fechamento anterior eo novo preço de abertura. Para limitar esse risco, é possível investir em mercados que citam 24 horas por dia ou mercados com horários de fechamento mais limitados (ex: das 23:00 às 8:00). Para evitar o risco de abertura, você também pode planejar fechar qualquer posição aberta pelo menos 15 minutos antes do fechamento do mercado.


Margem requerida: certifique-se de ter a margem necessária suficiente para cobrir as posições do (s) seu (s) sistema (s) de negociação mais perdas que podem ocorrer (ver exemplos de margens na tabela abaixo).


Ganho mínimo a fazer: certos sistemas de negociação podem confiar em ocupar posições freqüentes por um curto período de tempo com o objetivo de fazer pequenos ganhos. Se estiver usando um sistema como esse, pode ser interessante usar um instrumento para o qual a proporção de "Execução custa" (tendo em conta as taxas de spread e corretagem) para "Valor do instrumento" é baixo. A tabela abaixo inclui alguns exemplos.


Exemplos com base nos preços IG CFD com o spread mínimo em 1º de junho de 2017.


Os spreads podem variar e nem sempre são iguais ao spread mínimo.


3 Gerenciamento de dinheiro / risco.


Os termos & gt; Gerenciamento de dinheiro & quot; e "gerenciamento de riscos" geralmente se referem a regras para:


Uma estratégia de gerenciamento de dinheiro bem planejada deve permitir que você maximize seus ganhos, limitando seu risco. Dependendo da sua técnica de gerenciamento de dinheiro, uma determinada estratégia pode estar ganhando ou perdendo para um dado conjunto de dados históricos.


As perguntas abaixo podem dar algumas idéias sobre o tipo de gerenciamento de dinheiro que você deseja usar:


Alavancagem: Qual é a alavancagem máxima que você não deseja reverter?


A alavancagem é calculada da seguinte forma: 1 / [valor de caixa / posição disponível]


Para limitar a alavancagem, você pode limitar o tamanho da posição ou aumentar o valor do portfólio.


Observe que o tamanho máximo da posição será solicitado cada vez que você iniciar um sistema de negociação e substituirá as condições do código.


Número máximo de pedidos: qual é a quantidade máxima de pedidos que deseja que seu sistema execute por dia?


(Ex: uma volta-rodada por dia ou seja mais ativo).


Observe que o número máximo de pedidos pode ser configurado através do & quot; Trading Options & quot; cardápio.


4 Transforme sua idéia em um sistema de negociação.


Trabalhamos para simplificar este passo essencial.


Para criar um sistema automático sem programação.


Na janela que exibe o instrumento desejado, insira e configure os indicadores usados ​​por sua estratégia. Em seguida, clique no botão na parte superior direita do gráfico e clique em "ProBacktest & amp; Comércio automático & quot; e, finalmente, clique em & quot; New & quot ;. Para definir suas condições de compra (para inserir posições longas), clique no & quot; Buy & quot; botão. Para indicar à plataforma o elemento em que sua condição de compra depende, clique no painel que contém o elemento em questão (ex: se sua condição depende do MACD, clique no painel que contém o MACD). A janela irá então oferecer-lhe para escolher as suas condições através de menus suspensos. Uma vez que sua condição é escolhida, clique em & quot; Concluído & quot; se você tiver terminado ou "Add Condition & quot; e reinicie a opção na etapa 4 para definir múltiplas condições. Opcional: você pode repetir as etapas 3 a 5 para definir também condições para vender sua posição longa, condições para entrar em posições curtas e condições para sair de posições curtas. Clique no & quot; Targets & amp; Paradas & quot; botão para definir as suas Paradas, Trailing Stops, & amp; alvos.


Agora você só precisa clicar no & quot; Gerar código & quot; botão.


A plataforma criará o código com base nas suas condições!


Você pode criar sistemas programando-os você mesmo no idioma do ProBuilder.


O idioma do ProBuilder (criado por ProRealTime) é bastante fácil para permitir que os usuários não estejam acostumados a programar para criar rapidamente sistemas ProOrder.


Nós escrevemos manuais de programação para você. Leia-os em seu próprio ritmo e aprenda a criar seus próprios sistemas passo a passo com muitos exemplos:


Com suas funções inteligentes, o editor de código também funcionará como assistente de programação:


Ajuda integrada: um menu lista todas as funções disponíveis com textos de ajuda e exemplos de uso para cada um. Verificação de erros em tempo real: o editor indica erros de programação em tempo real à medida que você escreve formatação automática: seu código é automaticamente colorido e formatado para simplificar a leitura e compreensão.


Se você tem uma conta ProRealTime Trading ou CFD patrocinada pela ProRealTime, você pode se beneficiar da assistência de programação fazendo um pedido através do formulário dedicado.


Escreva-nos com as suas condições para entrar e sair das posições e suas regras de gerenciamento de dinheiro, sendo o mais preciso possível e tentaremos enviar um código que corresponda aos seus requisitos.


Por favor, note que o ProRealTime não oferece nenhum conselho de investimento. Nossa assistência de programação consiste em enviar-lhe exemplos de linhas de código que permitirão pôr em prática algumas ou todas as condições que você nos indica, sem qualquer intervenção sobre a escolha dessas condições de investimento.


5 Teste seu sistema de negociação.


Oferecemos dois métodos complementares para testar seus sistemas de negociação.


ProBacktest: Backtest seus sistemas usando dados passados ​​PaperTrading: teste seu sistema dia após dia em condições de mercado real.


Simule suas estratégias com o ProBacktest.


O módulo ProBacktest permite simular a implementação de sua estratégia com base em dados históricos, a fim de obter uma estimativa sobre o que seu desempenho poderia ter sido.


Como resultado, o modo ProBacktest permite confirmar o desempenho de um sistema, com base nas informações disponíveis nos dados históricos, mas também detectar fraquezas para melhorá-lo.


Vários anos de dados intraday históricos.


Backtesting seu sistema em dados mais longos e mais confiáveis ​​fornece resultados mais relevantes e úteis.


ProRealTime oferece vários anos de dados históricos intradiários. A confiabilidade desses dados é mantida por uma equipe dedicada à manutenção de dados em tempo integral e uma conexão direta com trocas.


Inicie uma simulação ProBacktest com seu sistema de negociação.


Usar o ProBacktest é fácil:


Visualize a janela de gráficos do instrumento no qual você deseja testar seu sistema na unidade de tempo de sua escolha para a simulação (ex: 15 minutos). Use o & quot; history & quot; menu suspenso (no canto superior esquerdo do gráfico) para carregar a quantidade de dados históricos que você deseja usar (ex: 10 000 unidades). Na parte superior do gráfico, clique no botão, então na aba ProBacktest & amp; Trading automático & quot; e selecione o sistema que deseja testar. Clique em & quot; Modificar & quot; para acessar a janela do editor de código. A partir do & quot; ProBacktest & quot; guia, defina os seguintes parâmetros: Capital inicial: insira o valor do capital inicial para a sua simulação; os parâmetros de corretagem; definir a taxa de corretagem que se aplicará a cada transação na simulação (quantidade fixa,%, spread, etc.) Tamanho máximo da posição: indique o tamanho máximo da posição que o sistema de negociação não pode passar pela simulação. Dados históricos utilizados na simulação: por padrão, o sistema será simulado em todos os dados carregados no gráfico. Use esta opção se desejar reduzir o período de tempo para simular o sistema (ex: de 1º de janeiro de 2017 a 30 de junho de 2017). Então você só precisa clicar no botão "ProBacktest my system" para iniciar a simulação.


Analise os resultados da simulação ProBacktest.


Uma vez que o sistema de negociação tenha sido testado, você pode verificar:


Sua curva de equidade Seu histórico de posição (na forma de gráficos) Seu histórico de ordens executadas (em forma de lista ou gráfico) Um relatório estatístico detalhado.


O relatório detalhado lhe dará muitas estatísticas úteis, tais como:


Análise de ganhos.


Ganho para o período simulado (em% e absoluto) Rácio ganho / perda% das posições vencedoras Análise diferenciada para posições longas e curtas.


Análise de posições.


Posição de tempo médio ocupada% de tempo no mercado Média de pedidos por dia / mês.


Maior perda em uma posição Máx. redução (perda máxima histórica) Exposição média / Exposição mínima.


Para saber mais sobre o ProBacktest, vá para a página 23 do manual de programação dos sistemas de negociação.


Aviso: a estática calculada com ProBacktest relaciona-se com dados passados. O desempenho passado não é indicativo de resultados futuros.


Simule uma estratégia no modo PaperTrading.


O PaperTrading é um simulador de negociação que permite a prática de negociação em condições reais de mercado com um portfólio virtual.


Como resultado, você também pode simular a execução de seu sistema de negociação dia após dia em condições reais de mercado com PaperTrading.


Ele permitirá que você veja as posições tomadas pelo seu sistema comercial em tempo real e também teste suas próprias reações às situações de negociação automática.


Depois de iniciar sua plataforma ProRealTime no modo PaperTrading, iniciar um sistema no modo PaperTrading é feito da mesma maneira que no modo de negociação real, conforme descrito na seção 6 desta página.


6 Execute seu sistema de negociação no modo de negociação real.


Como fazer isso?


Abra o gráfico do instrumento no qual você deseja executar o sistema de negociação Neste gráfico, selecione a unidade de tempo que deseja usar para a execução do sistema de negociação. Na parte superior do gráfico, clique no botão e então clique em & quot; ProBacktest & amp; Trading automático & quot; e selecione o sistema que deseja executar. Clique no botão & quot; Prepare for automatic trading & quot; para enviar o sistema para o ProOrder. A janela do ProOrder é aberta. Seu sistema estará no "não está executando" seção da janela do ProOrder.


Método alternativo mais rápido - quando você está simulando o sistema com o módulo ProBacktest, você pode arrastar o sistema da janela de gráficos para a janela de AutoTrading do ProOrder:


Na janela de gráficos, clique com o botão esquerdo na curva & quot; Equity curve & quot; ou o título "ProBacktest - Positions", mantenha pressionado o botão do mouse e mova o cursor para a janela ProOrder AutoTrading. Quando você solta, o sistema aparecerá na janela do ProOrder na seção "Não executando & quot; seção.


Defina as opções do ProOrder.


No topo da janela do ProOrder, clique no botão para definir opções relacionadas ao ProOrder. Posição e status da ordem após a parada dos sistemas: quando um sistema está parado, escolha se deseja que o ProOrder feche as posições e cancele as ordens pendentes; ou mantê-los para gerenciá-los manualmente. Pare devido ao número de pedidos: escolha um limite para o número de pedidos que um sistema pode colocar. Além deste limite, o sistema será interrompido. Parar devido à data de validade: por motivos de segurança, todos os sistemas têm uma data de validade comum, além da qual eles serão interrompidos. Para estender a data de validade, clique em "Extend & quot; na janela do ProOrder. O "Limite de validade" O parâmetro permite definir o número de dias de cada extensão.


Uma vez que estas opções estão definidas, clique no ícone X para fechar a janela de opções e volte para o ProOrder.


Comece seu sistema.


Na janela do ProOrder, clique no botão do seu sistema de negociação. A janela que abre solicita a confirmação de iniciar o sistema de troca automática. Esta janela lembra as informações importantes: O instrumento eo prazo em que o sistema será executado O nome do sistema e sua versão (que correspondem à data e hora que foi enviada aos servidores ProOrder) O código das preferências do sistema de negociação você configurou as opções do ProOrder As condições de execução dos sistemas de negociação automática Antes de iniciar o sistema, você deve definir o parâmetro "Tamanho máximo da posição". Este é o tamanho máximo da posição que sua estratégia poderá levar, independentemente das condições do código.


Exemplo: Em um de seus sistemas no DAX30 Future, você definiu um "tamanho de posição Max" de dois contratos Seu sistema já possui uma posição longa (compra) de 1 contrato. Uma nova condição do seu sistema é atendida e solicita comprar 2 contratos adicionais para teoricamente aumentar o tamanho da posição para 3 contratos. Esta condição será ignorada porque você definiu um & quot; tamanho máximo da posição & quot; de 2 contratos. Finalmente, clique no botão.


Seu sistema será então exibido no & quot; Running & quot; seção da janela do ProOrder e piscará para mostrar que foi ativado. O seu "Estado" também mudará de & quot; não rodando & quot; para "Running" quot ;.


7 Monitorar e melhorar continuamente seus sistemas.


Monitore seus sistemas.


Quando um sistema ProOrder está sendo executado, você pode verificar sua atividade e desempenho na janela ProOrder do software ProRealTime.


Curva de capital.


Para cada sistema de negociação, você pode exibir a curva de equivalência patrimonial mostrando o desempenho (ganhos e perdas) do sistema desde o início.


Uma análise precisa das flutuações da curva de equidade pode dar-lhe informações úteis para melhorar seu sistema. Por exemplo, como evitar algumas das perdas realizadas ou reforçar posições durante os períodos em que o sistema está fazendo ganhos.


Histórico de pedidos e posições.


O gráfico do Histórico de posições exibe histogramas mostrando as posições históricas do seu sistema de negociação. É notadamente útil ver se o seu sistema está frequentemente em posição e o tamanho médio das posições.


O histórico de pedidos é exibido no gráfico de preços. As ordens para entrar em posições são mostradas por setas e as ordens de saída são mostradas por cruzes.


Ambas as informações também estão disponíveis na janela de relatório detalhado no formato de lista.


Estatisticas.


O relatório detalhado de negociação dá acesso a cerca de trinta estatísticas sobre cada sistema de negociação, tais como:


Análise de lucro: ganho médio por tipo de posição (longo / curto), porcentagem de posições vencedoras, relação lucro / perda, etc. Análise de suas ordens e posições: ordens médias executadas por dia, porcentagem de tempo no mercado, tempo médio entre duas posições, etc. Análise de risco: redução máxima, exposição máxima ao risco, exposição média ao risco, etc.


Dica: o relatório detalhado, a lista de pedidos e a lista de posições podem ser facilmente exportados para aplicativos externos, como aplicativos de planilhas (por meio de arrastar e soltar).


Melhorar continuamente seus sistemas.


Todas as informações acima serão úteis para você detectar deficiências em seus sistemas, melhorá-las e adaptá-las a novas condições de mercado.


Nota: quando você modifica um sistema de negociação, a versão antiga permanecerá no ProOrder (a menos que você o remova manualmente). Para mostrar facilmente a diferença entre versões antigas e novas, o ProOrder exibe um número de versão (o que corresponde à data e hora em que você enviou o sistema de negociação para o ProOrder).


Uma vez que você conhece os conceitos básicos do módulo ProOrder, recomendamos que você também leia os manuais de programação que escrevemos cuidadosamente para que você possa se programar com mais independência.


Quando você melhora o seu sistema, os módulos ProBacktest e ProOrder serão seus melhores parceiros para confirmar suas mudanças via simulação.


Importar / Exportar seus sistemas.


Compartilhe seus sistemas com amigos.


Gostaria de compartilhar um de seus sistemas com um amigo?


É muito simples:


Do "ProBacktest e Trading Automático" janela, selecione o sistema que deseja compartilhar e clique em & quot; Exportar & quot ;. Na próxima janela, selecione & quot; Nenhum, o código será totalmente editável & quot ;, então clique em & quot; Exportar & quot ;. Seu sistema de negociação será exportado como um & quot ;.itf & quot; Arquivo. Agora, você só precisa enviar esse arquivo por e-mail para a pessoa de sua escolha, que será capaz de importá-lo facilmente para a plataforma ProRealTime!


Importe um sistema criado por outra pessoa.


Você baixou um & quot ;.itf & quot; arquivo de um site ou fórum da Internet? Um amigo enviou-lhe um sistema de negociação que ele criou?


Aqui é como usá-lo em nosso módulo ProOrder AutoTrading:


Do "ProBacktest e Trading Automático" janela, clique no & quot; Importar & quot; botão. Na janela que se abre, selecione o arquivo. itf do seu computador e, em seguida, valide para importá-lo para sua plataforma. O sistema agora aparecerá na lista de sistema, na janela "ProBacktest and Automatic Trading". Verifique se o sistema está adaptado à sua situação e adapte-o, se necessário, para suas próprias necessidades. Nunca use um sistema de negociação de um terceiro sem primeiro testá-lo e adaptá-lo, se necessário.


Nota: para executar um sistema comercial importado para o ProOrder com um portfólio real, seu código deve ser acessível (e modificável). No entanto, o backtesting é possível em qualquer caso.


Automated Trading está disponível através de um.


Plataforma de negociação Premium Plataforma de suporte AutoTrading suporte.


Serviços de corretagem Execução de ordens.


O MELHOR DOS AMBOS SERVIÇOS EM UMA CONTA.


Com uma conta IG patrocinada pela ProRealTime, você não é apenas um cliente direto com a IG, tendo os mesmos spreads e condições como cliente IG padrão, mas você também se beneficia de vantagens exclusivas adicionais.


Obtenha a plataforma ProRealTime de forma gratuita se você estiver ativo Versão Premium sem custo extra com suporte de plataforma de dados históricos até 4 vezes mais diretamente do ProRealTime.


Ajuda de programação gratuita para seus sistemas de negociação Nenhum depósito mínimo.


patrocinado pelo ProRealTime.


O ProRealTime oferece recepção e transmissão de serviços de pedidos em instrumentos financeiros alavancados. Os serviços de execução de pedidos são fornecidos pela Interactive Brokers.


A negociação pode expô-lo ao risco de perda maior do que seus depósitos e só é adequado para clientes experientes que tenham meios financeiros suficientes para suportar esse risco. Nenhuma informação neste site é um conselho de investimento ou uma solicitação para comprar ou vender qualquer instrumento financeiro.


Siga ProRealTime para informações e visualizações exclusivas.


Os seus comentários são importantes.


pelo site independente BrokerVergleich.


ProRealTime Trading é um nome comercial da ProRealTime SAS, uma empresa de investimento aprovada e supervisionada pelas autoridades financeiras francesas.


(Autorit & eacute; de ​​Contr & ocirc; le Prudentiel et de R & eacute; solution / Banque de France).


ProRealTime SAS (empresa comum simplificada) - N & deg; 499 355 444 RCS Nanterre.


Sede: ProRealTime SAS - 30 avenue Edouard Belin - 92500 Rueil-Malmaison - França.


Número de IVA da UE: FR90499355444. Recibo da CNIL (Comitê Nacional de Computação e Privacidade de Dados) número 1300984.


Sistemas de negociação.


Vídeos de ajuda relacionados.


O ProOrder é o módulo de negociação automática do ProRealTime. Os sistemas de negociação podem ser criados com ou sem programação e ser usados ​​com carteiras de negociação simuladas e reais.


Como criar facilmente um sistema de negociação sem programação.


Dica: Saiba como aproveitar os nossos avançados recursos de programação passo a passo:


Esta seção mostra como criar, fazer backtest e otimizar um exemplo de sistema comercial sem fazer qualquer programação.


Primeiro, clique no botão no canto superior direito de um gráfico, depois vá para a guia "Probacktest & amp; Comércio automático & quot; e clique em & quot; New & quot ;. A seguinte janela irá aparecer:


Nós somos por padrão em uma "Criação Assistida & quot; modo que permite que você crie sua estratégia sem ter que escrever uma única linha de código. Você também pode criar seu próprio código clicando no rótulo "Criação por programação" da janela exibida acima.


A "criação assistida" A janela é composta de vários botões (Compra, Vender, Curto, Sair) que permitem definir suas condições de compra e venda. Você pode definir paradas e alvos clicando nos botões correspondentes. Finalmente, "Gerar código" para gerar automaticamente o código para o seu backtest!


Exemplo: Deixe criar uma estratégia com base no índice de dinâmica estocástica. Primeiro mostramos uma média móvel simples sobre o preço e o indicador SMI.


Primeiro, clique no botão. Em seguida, clique em & quot; Backtesting & quot; no canto superior direito, clique em & quot; New & quot; e escolha o & quot; Buy & quot; para definir suas condições de compra. Finalmente, clique no gráfico SMI. A seguinte janela irá aparecer:


Selecione & quot; Stoch momentum 1 & quot; & quot; Cross Over & quot; "Sinal 1"


Agora vamos adicionar outra condição clicando no botão "Adicionar condição". Nós clicamos nesse tempo no gráfico de preços. A seguinte janela irá aparecer:


Deixe agora definir como vender as posições de compra clicando em "Sell & quot; e depois no gráfico estocástico. Escolha & quot; Stoch momentum 1 & quot; & quot; Cross Under & quot; "Mude a média 1" e clique em & quot; OK & quot ;.


Em seguida, definimos os parâmetros ilustrados abaixo:


Para definir a estratégia de parada, clicamos em & quot; Stops & amp; Alvo " e escolhemos as configurações abaixo:


Clique no & quot; OK & quot; botão. O programa está pronto, você só precisa dar um nome ao seu backtest, como "Momento Estocástico" e clique em "Gerar código".


Para executar o backtest, clique em "ProBacktest my system". Um gráfico contendo a curva de equidade do backtest será exibido, bem como um relatório detalhado contendo informações de desempenho:


Você pode modificar o backtest para melhorar seus resultados. Clique no ícone de chave inglesa da curva de Equidade destacada em amarelo e depois em "Modificar ProBacktest":


Deixe criar uma variável em vez de um valor fixo para a média móvel. Para fazer isso, remova o número "150" do programa e escreve "número" em vez de. Em seguida, clique no botão "Adicionar" & quot; do campo "Parâmetros de otimização" e escolha as configurações abaixo:


Finalmente, clique no botão "ProBacktest my system". Depois de alguns segundos, você obtém um relatório de otimização que lhe dá os valores que dão os melhores resultados para o conjunto de dados históricos examinados.


Para continuar a melhorar o sistema, você pode tentar adicionar novas condições. Você também pode modificar o tipo de parada usada ou adicionar um objetivo de lucro.


Com a criação por programação, você pode aplicar funções muito mais sofisticadas usando nossa biblioteca de Funções a que pode acessar, clicando na função & quot; Inserir função & quot; botão como mostrado abaixo.


Uma janela aparece com todas as funções disponíveis com o módulo ProBacktest e o texto de ajuda correspondente. Ao clicar em "Adicionar", você pode inserir esta função no seu programa na localização do cursor do mouse.


Registre-se agora para acessar a versão gratuita do ProRealTime ou faça o login para solicitar a sua versão gratuita de 7 dias com dados em tempo real.


A negociação pode expô-lo ao risco de perda maior do que seus depósitos e só é adequado para clientes experientes que tenham meios financeiros suficientes para suportar esse risco. Nenhuma informação neste site é um conselho de investimento ou uma solicitação para comprar ou vender qualquer instrumento financeiro.


Siga ProRealTime para informações e visualizações exclusivas.


Codificação de sistemas de negociação.


Por Justin Kuepper.


Como são criados sistemas de negociação automatizados?


Este tutorial se concentrará nas segunda e terceira partes deste processo, onde suas regras são convertidas em um código que seu software comercial pode entender e usar.


Vantagens e desvantagens.


Um sistema automatizado leva a emoção e ocupado - trabalhe fora da negociação, o que permite que você se concentre em melhorar sua estratégia e regras de gerenciamento de dinheiro. Uma vez que um sistema lucrativo é desenvolvido, não requer nenhum trabalho de sua parte até que ele quebre, ou as condições do mercado exigem uma mudança. Desvantagens:


Se o sistema não estiver corretamente codificado e testado, grandes perdas podem ocorrer muito rapidamente. Às vezes, é impossível colocar certas regras em código, o que dificulta o desenvolvimento de um sistema de negociação automatizado. Neste tutorial, você aprenderá como planejar e projetar um sistema de negociação automatizado, como traduzir esse design para o código que seu computador irá entender, como testar seu plano para garantir um desempenho ótimo e, finalmente, como colocar seu sistema em uso.


Começando: Construindo um Sistema de Negociação Totalmente Automatizado.


Nos últimos 6 meses, fiquei focado no processo de construção da pilha de tecnologia completa de um sistema de negociação automatizado. Eu encontrei muitos desafios e aprendi muito sobre os dois métodos diferentes de backtesting (Vectorizado e Evento conduzido). Na minha jornada de construção de um backtester dirigido por um evento, surpreendi que o que você acabasse fosse perto da pilha de tecnologia completa necessária para construir uma estratégia, testá-la e executar a execução ao vivo.


O meu maior problema ao abordar o problema foi a falta de conhecimento. Olhei em muitos lugares para uma introdução à construção da tecnologia ou um blog que me guiaria. Encontrei alguns recursos que vou compartilhar com você hoje.


Para iniciantes:


Para os leitores novos para negociação quantitativa, eu recomendaria o livro de Ernie P. Chan intitulado: Negociação Quantitativa: como construir seu próprio negócio de negociação algorítmica. Este livro é o básico. Na verdade, é o primeiro livro que eu li em negociação quantitativa e, mesmo assim, achei muito básico, mas há algumas notas que você deveria tomar.


Da página 81-84 Ernie escreve sobre como no nível de varejo uma arquitetura de sistema pode ser dividida em estratégias semi-automáticas e totalmente automatizadas.


Um sistema semi-automatizado é adequado se você deseja fazer alguns negócios por semana. Ernie recomenda o uso de Matlab, R ou mesmo do Excel. Utilizei todas as 3 plataformas e este é o meu conselho:


Saltei Matlab, custou muito dinheiro e eu só consegui acesso aos laboratórios universitários. Não há muito material de treinamento como blogs ou livros que irão ensinar-lhe como codificar uma estratégia usando o Matlab. R tem toneladas de recursos que você pode usar para aprender a construir uma estratégia. Meu blog favorito abordando o tópico é: QuantStratTradeR executado por Ilya Kipnis. O Microsoft Excel é provavelmente o local onde você iniciará se você não tiver experiência de programação. Você pode usar o Excel para negociação semi-automatizada, mas não vai fazer o truque quando se trata de construir a pilha de tecnologia completa.


Quadro semi-automático pg 81.


Sistemas de negociação totalmente automatizados são para quando você deseja colocar negócios automaticamente com base em um feed de dados ao vivo. Eu codifiquei o meu em C #, QuantConnect também usa C #, QuantStart anda pelo leitor através da construção dele em Python, Quantopian usa Python, HFT provavelmente usará C ++. Java também é popular.


Estrutura de negociação totalmente automatizada pg 84.


Passo 1: Obter uma vantagem.


Faça o Programa Executivo em Negociação Algorítmica oferecido pela QuantInsti. Acabei de começar o curso e o primeiro conjunto de palestras foi na arquitetura do sistema. Isso me salvaria cerca de 3 meses de pesquisa se eu tivesse começado aqui. As palestras me acompanharam por cada componente que eu precisaria, bem como uma descrição detalhada do que cada componente precisa fazer. Abaixo está uma captura de tela de uma das suas lâminas utilizadas na apresentação:


Você também pode usar esse quadro geral ao avaliar outros sistemas de negociação automática.


No momento da escrita, estou apenas na terceira semana de palestras, mas estou confiante de que um profissional poderá construir uma estratégia de negociação totalmente automatizada que, com um pouco de polonês, possa ser transformada em um hedge fund quantitativo .


Nota: o curso não está focado na construção da pilha de tecnologia.


Etapa 2: codifique um backtester baseado em eventos básicos.


O blog de Michael Hallsmore e o quantstart & amp; livro "Negociação Algorítmica de Sucesso"


Este livro possui seções dedicadas à construção de um backtester dirigido por eventos robustos. Ele dirige o leitor através de uma série de capítulos que irão explicar sua escolha de linguagem, os diferentes tipos de backtesting, a importância do backtesting dirigido a eventos e como codificar o backtester.


Michael apresenta o leitor às diferentes classes necessárias em um design orientado a objetos. Ele também ensina o leitor a construir um banco de dados mestre de valores mobiliários. É aqui que você verá como a arquitetura do sistema da QuantInsti se encaixa.


Nota: Você precisará comprar seu livro: "Successful Algorithmic Trading", seu blog deixa para fora muita informação.


Passo 3: Vire a TuringFinance.


O programa EPAT Leitura "Successful Algorithmic Trading" & amp; codificando um backtester em um idioma diferente da sua escolha.


Você deve se mudar para um blog chamado TuringFinance e ler o artigo intitulado "Algorithmic Trading System Architecture" Por: Stuart Gordon Reid. Em sua publicação, ele descreve a arquitetura seguindo as diretrizes dos padrões ISO / IEC / IEEE 42018 e padrão de descrição de arquitetura de engenharia de software.


Eu achei esta publicação muito técnica e tem algumas ótimas idéias que você deve incorporar na sua própria arquitetura.


Uma captura de tela de sua postagem.


Passo 4: Estudar sistemas de comércio aberto.


4.1) Quantopian.


Escusado será dizer que Quantopian deve ser adicionado a esta lista e estou com vergonha de dizer que não passei muito tempo usando sua plataforma (devido à minha escolha de linguagem). Quantopian tem muitas vantagens, mas as que melhoram para mim são as seguintes:


Fácil de aprender Python Acesso gratuito a muitos conjuntos de dados Uma grande comunidade e competições Eu adoro como eles hospedam QuantCon!


Quantopian é líder de mercado neste campo e é amado por quants por toda parte! Seu projeto de código aberto está sob o nome de código Zipline e isso é um pouco sobre isso:


"Zipline é o nosso motor de código aberto que alimenta o backtester no IDE. Você pode ver o repositório de códigos no Github e contribuir com solicitações de envio para o projeto. Existe um grupo do Google disponível para procurar ajuda e facilitar discussões ".


Aqui está um link para sua documentação:


4.2) QuantConnect.


Para aqueles que não estão familiarizados com a QuantConnect, eles fornecem um mecanismo de troca algorítmica de código aberto completo. Aqui está um link.


Você deve dar uma olhada em seu código, estudá-lo, & amp; dar-lhes elogios. Eles são competição de Quantopians.


Gostaria de aproveitar esta oportunidade para agradecer a equipe da QuantConnect por me deixar escolher seu cérebro e pelo brilhante serviço que eles fornecem.


Aqui está um link para sua documentação:


Observações finais:


Espero que este guia ajude os membros da comunidade. Eu queria ter essa visão 6 meses atrás, quando comecei a codificar nosso sistema.


Gostaria de chegar à comunidade e perguntar: "Quais bons cursos de negociação algorítmica você conhece?" Eu gostaria de escrever uma publicação que analisa o tópico e fornece uma classificação. Existem recomendações para a construção de um sistema de negociação totalmente automatizado que você gostaria de adicionar a esta publicação?


Compartilhar isso:


Compartilhe essa entrada.


Você pode gostar também.


Bom artigo. Eu gostaria de ter tido cerca de 6 meses atrás. Eu uso QuantConnect porque sou um programador C #. Achei muito conveniente poder fazer o download do teste Lean e back test localmente. Rummaging através do seu código também é valioso. Além disso, eles cortaram um acordo com a Trader por negócios de US $ 1. Isso ajuda muito. Não sou tão saliente sobre spreads e execução da Trader. O IB pode ser melhor para isso.


Vou dar uma olhada no curso que você mencionou.


Você não mencionou a Quantocracy ou RBloggers. Ambos são recursos muito valiosos.


O que você usa para traçar resultados de testes de volta? Eu logro os valores do OHLC e do indicador para csv do evento OnData e estou realmente cansado de usar o Excel para traçar os resultados. Gostaria de apontar um pacote de gráficos para um arquivo de dados e simplesmente ir.


Você ainda possui um fornecedor de caixas de seleção?


Tenho um pensamento sobre os sistemas dirigidos a eventos. O problema com os eventos é que eles são assíncronos e latentes. Parece que eles são inevitáveis ​​assim que você obtém uma corretora envolvida, então eu tenho sonhado com um sistema de streaming mais seguindo os princípios da programação funcional.


& # 8211; Injeste um fluxo de tiquetaque ou barra.


& # 8211; Execute-o através de um processo de cálculo de indicadores, execução de análise ou ML, e assim por diante.


& # 8211; Retornar um sinal.


& # 8211; Envie-o para o corretor para executar.


Em seguida, em um fluxo separado.


& # 8211; Receba uma resposta do corretor.


O problema, é claro, é o estado. Tenho margem suficiente para fazer o comércio? O que está no meu portfólio? Como está funcionando? Normalmente, o corretor api pode ser consultado para descobrir essas coisas, mas leva tempo e é assíncrono. Eu também estou olhando extensões Rx. Dessa forma, o sistema pode reagir às mudanças no sistema através do padrão observável.


Os eventos são ótimos para cliques no mouse. Não é tão bom para processamento transacional de alto volume.


Esta é exatamente a abordagem que tomei com minhas próprias coisas. Essencialmente, eu tenho um & # 8216; normal & # 8217; programa que envolve uma pequena parte que é conduzida a eventos para falar com o corretor (IB API). Agora, para o problema do estado. Você tem duas escolhas; obter o estado do corretor, ou armazená-lo internamente, atualizando-o quando você receber um preenchimento. Isso significa que há momentos em que você não conhece seu estado ou quando as duas fontes de estado estão potencialmente em conflito (dados ruins ou atrasos). Parte disso depende da rapidez com que você troca. A menos que você esteja negociando com muita rapidez, então, pausando se você tiver um conflito de estado, ou você está incerto de estado, é melhor do que prosseguir sem saber o seu estado. Eu uso um banco de dados & # 8216; lock & # 8217; paradigma para lidar com isso.


Quanto a quase tudo o que você pediu, você está perto da resposta em Reactive Extension (Rx).


Com Rx indo de tiques para velas é trivial.


Passar de Velas para Indicadores é trivial.


Indicadores de composição de outros indicadores é trivial.


Escrever Posições de Indicadores é trivial.


Composição de Portfolios (como realizada ao longo do tempo) das Posições é trivial.


Simular o modelo de risco é trivial.


Back testing ou trading live é simplesmente decidir entre uma transmissão ao vivo de dados ou uma repetição simulada de dados do banco de dados.


Executar é trivial.


A implementação é possível em tudo, desde C # até F # para JavaScript para C ++ em código quase idêntico.


A otimização é feita rapidamente porque o Rx puramente funcional é massivamente paralisável ao GPU.


É certo que a otimização e a alimentação do efeito da otimização contínua de volta ao teste de back-back não é trivial, mas dado que não é trivial de qualquer maneira, eu irei deixar esse slide 😉


Puramente funcional (ou perto dela) A Rx é, na minha opinião, a única maneira de abordar a infraestrutura desse problema.


Conheço o sistema que quero negociar. Eu não quero programar ou aprender algo que alguém já conhece. Então, quem posso contratar para levar o sistema que eu quero usar e automatizá-lo. Por automatizar isso, quero dizer, eu não quero olhar para ele. Eu vou olhar os resultados uma vez por semana e os negócios serão executados sem a minha atenção. Parece estranho para mim que, em 2018, tanto esforço precisa tomar um conjunto de regras e ter essas regras executadas no meu corretor.


Eu sugeriria inscrever-se com o Quantopian e depois encontrar alguém dentro da comunidade lá para construir a estratégia para você. Eles serão capazes de construí-lo para você dentro da plataforma IB Brokers e ser totalmente automatizado.


Deixe-me dizer, porém, que acho que você deve monitorá-lo de perto, e não apenas "esqueça-o para" # 8221 ;.

No comments:

Post a Comment