воскресенье, 24 июня 2018 г.

Sistema de negociação javafx


Pivôs de Tempo Alternável com Alertas para MetaTrader MT4.
Demonstração do Módulo de Pivots Diários.
O JFX Pivot System é uma integração exclusiva de Java FX e MetaTrader. Ele consiste em indicadores MT4 e uma interface JavaFX que é usada para controlar os indicadores MT4 subjacentes.
As vantagens dessa abordagem são numerosas e incluem:
Screenshots.
Gráfico EURGBP H4 com sobreposição de pivô diário, semanal e mensal.
EURGBP Gráfico por hora com zona de alerta de 3 pip configurada em torno do Daily S1 Pivot.
A interface diária de pivôs.
A imagem abaixo mostra a interface para controlar os pivots diários que também são desenhados no gráfico MetaTrader. O comerciante tem controle preciso e granular sobre todos os aspectos de como os pivôs são apresentados no gráfico. Há interfaces separadas para os pivôs Semanal e Mensal, que podem ser lançados do catálogo de produtos JFX.
A interface do catálogo de produtos JFX.
A interface semanal de pivôs.
A interface de pivots mensais.
Visão geral dos parâmetros de alto nível.
O módulo de alerta do JavaFX.
O módulo de alerta baseado em Java FX fornece um módulo de alerta pop-up muito mais sofisticado do que a versão MetaTrader MT4 padrão. Os comerciantes podem ver os alertas em uma estrutura de tabela que pode ser classificada com base em seus critérios. As colunas da tabela podem ser redimensionadas e as colunas podem ser ocultadas usando os botões na parte inferior da interface. O modo de alerta mostra a data, hora, símbolo, período, condição de alerta e também o arquivo de som (arquivo. wav) definido para o gráfico específico e a linha de tendência. As versões Java FX dos produtos FX AlgoTrader permitem que os comerciantes criem perfis de alerta que podem ser específicos para um período de tempo individual - isso significa que os comerciantes podem criar diferentes configurações de parâmetro / opções de exibição e sons de alerta para prazos individuais, se desejarem. Este é um recurso exclusivo da interface Java FX!
Benefícios adicionais da abordagem Java FX.
Mudanças de parâmetro ultra rápidas - os comerciantes podem alterar os parâmetros em segundos! Basta clicar na interface, fazer as alterações necessárias e elas serão refletidas no indicador subjacente quando o próximo tick for recebido!
Os comerciantes podem controlar vários gráficos a partir de uma única interface externa. não há necessidade de se aprofundar em cada gráfico e percorrer longas listas de parâmetros de entrada externa!
Os comerciantes podem definir perfis que permitem que um conjunto pré-definido de parâmetros seja aplicado a um novo gráfico com alguns cliques do mouse!
Perfis / configurações atuais podem ser "onduladas" em todos os prazos MT4 com um clique do mouse. OU. Os comerciantes podem definir perfis exclusivos para cada período de tempo para um ID de gráfico específico. В.
Atualização do JFX Pivot Update 03/09/2015 - agora com a função de detecção automática de gráficos.
Preços
'Pivôs padrão' inclui sistemas diários, semanais e mensais.
Licença perpétua (taxa única) com suporte técnico gratuito.

Sistema de comércio Javafx
Bem-vindo ao Home do Open Java Trading System.
O Open Java Trading System (OJTS) pretende ser uma infra-estrutura comum para desenvolver sistemas de negociação de ações. Consiste em quatro partes: a coleta de dados brutos pela internet, o reconhecimento de sinais de negociação, um módulo de visualização e módulos para conectar as interfaces programáticas de plataformas de negociação, como bancos. O objetivo do projeto é fornecer uma infra-estrutura comum Java independente (independente de plataforma) para desenvolvedores de sistemas de negociação. Alguns dos aspectos que devem ser abordados são fornecer um esquema de banco de dados compatível com SQL92 comum para armazenar dados financeiros, interfaces Java comuns para como trocar dados entre diferentes módulos, visualização de dados financeiros brutos e sinais de negociação e vários outros aspectos comuns necessários para criar um sistema final de negociação.
Por causa do meu trabalho e da minha família, não encontro mais tempo para melhorar a OJTS. Eu continuo atualizando a seção de links abaixo que irá guiá-lo para projetos java open source mais ativos nessa área, no entanto.
Na verdade, como consequência do meu interesse pela dinâmica dos mercados de ações, comecei uma jornada para os detalhes mais profundos da economia nacional, a fim de entender as taxas de câmbio. Este tópico finalmente me levou a um estudo mais profundo do dinheiro em si como a unidade métrica que usamos na economia para medir "valor", "sucesso" ou "utilidade". Este tópico acabou por ser extremamente interessante, mas ao mesmo tempo foi muito difícil encontrar qualquer informação sobre como funciona o nosso sistema monetário. Circule e pergunte às pessoas de onde vem o dinheiro, quem o cria e o que determina seu valor. Você vai notar que até mesmo as pessoas que têm um mestrado ou doutorado. em economia não vai saber esses detalhes. Ah, sim, eles responderão em termos técnicos enigmáticos, mas não conseguirão desenhar um diagrama simples que descreva o processo.
H. G. Wells é relatado para ter dito:
"Escrever de moeda é geralmente reconhecido como uma prática censurável, na verdade quase indecente. Os editores irão implorar ao escritor quase que em lágrimas para não escrever sobre dinheiro, não porque seja um assunto desinteressante, mas porque sempre foi profundamente perturbador. "
Sugiro a qualquer pessoa que viva em uma sociedade democrática que leia sobre esse assunto. Afeta nossas vidas todos os dias em uma extensão que não pode ser exagerada! Na minha opinião, todo cidadão de um país democrático nesse mundo deveria saber de onde vem o nosso dinheiro. O mais provável é que você tenha acessado este site para procurar ferramentas que o ajudem a aumentar sua riqueza monetária. Entender a unidade métrica "dinheiro" (não importa se dólar ou euro) será um ingrediente importante em seu kit de ferramentas para ganhar dinheiro.
Se você tem pouco tempo e só pode dar ao luxo de ler um único livro sobre esse assunto, então eu sugiro que você leia Riqueza, riqueza virtual e dívida por Frederick Soddy. Eu consegui comprar uma cópia usada via Amazon por US $ 23,48, mas também existe uma versão online. Você precisará do plugin DjVu para lê-lo. Este livro foi publicado originalmente em 1929, mas ainda descreve os fatos reais muito bem. Mesmo que eu não concorde com todas as conclusões de Frederick Soddy, seu trabalho é estimulante e levará você a fazer as perguntas certas.
Lançamentos, correções de bugs e documentação atualizada.
Estou investigando como tornar o OJTS mais compatível com outros esforços do sistema de negociação java.
Existe um novo wiki disponível na ITSdoc, focado na distribuição de conhecimento no domínio dos sistemas de investimento e negociação. A ideia por trás do ITSdoc é ter uma plataforma de colaboração semelhante à wikipedia, ajudando a comunidade a compartilhar conhecimento.
Ontem lancei a versão 0.13 da biblioteca OpenJavaTradingSystem. Entre as novidades estão: Recuperação de dados para ações, fundos e moedas da OnVista. Implementação de manipulação de moeda e conversões. Os portfólios são implementados e você pode trabalhar com portfólios da mesma forma que com itens de papel de segurança únicos. Adicionado um quadro geral para a aplicação de algoritmos para séries temporais do mercado de ações. Comutado do shell interativo SISC / Scheme para ABCL / CommonLisp mais seu editor chamado "J". Adicionado um mecanismo geral de armazenamento em cache de dados para armazenar em cache os dados que já foram recuperados pela Web no sistema de arquivos. Além disso, muitas outras pequenas melhorias Se você estiver interessado nesta nova versão, você deve começar na seção de início rápido / captura de tela. O manual ainda não está atualizado, mas pode fornecer informações valiosas, no entanto, se você quiser usar a biblioteca em seu projeto. A documentação deve ser atualizada em breve.
D a c u e n t a ç ã o.
Documentos descrevendo os componentes internos do projeto. Documentação do Java Data Objects and Interface.
& gt; & gt; HTML & gt; PDF Projeto de documentação do sistema de investimento e negociação.
T e h o o o g y.
Blocos de Construção de Terceiros usados ​​neste projeto.
O HSQLDB é o mecanismo de banco de dados fornecido com o projeto para que você possa começar imediatamente a usar o OJTS sem instalar um banco de dados de terceiros. Mas se você planeja usar outro banco de dados compatível com SQL92, essa é uma opção de configuração. Castor (licença: a licença Exolab)
Castor é uma estrutura de ligação de dados de código aberto para Java [tm]. É o caminho mais curto entre objetos Java, documentos XML e tabelas relacionais. O Castor fornece ligação Java para XML, persistência de Java para SQL e muito mais. Castor Doclet (licença: GNU LGPL v2.1)
Java doclet para gerar mapeamento e arquivos DDL para Castor JDO e Castor XML. TestMaker (licença: Licença Open Source do TestMaker)
A partir do projeto TestMaker, apenas a implementação de protocolos como HTTP ou HTTPS é usada para coletar dados da web. jCookie (licença: GNU LGPL v2.1)
A biblioteca jCookie é necessária para que as bibliotecas do TestMaker funcionem. htmlparser (licença: GNU LGPL v2.1)
A biblioteca htmlparser é usada para extrair os dados dos recursos da web. ABCL / CommonLisp (licença: GNU GPL v2)
ABCL (Armed Bear Common Lisp) é usado para implementar o coração algorítmico do projeto na linguagem de programação ANSI Common Lisp. JFreeChart (licença: GNU LGPL v2.1)
JFreeChart é usado para a visualização de dados financeiros como gráficos. JSci (licença: GNU LGPL v2.1)
O Joda Time substitui as classes originais de Data e Hora do JDK.
Links para outros projetos.
O grupo JavaTraders do Google pode ser a melhor entrada para você descobrir sobre outros sistemas e ferramentas de negociação baseados em Java.
O código do projeto é licenciado sob os termos da LGPL e toda a documentação que você encontra neste projeto está licenciada sob os termos da FDL.

Lançamento: JavaFX 2.2.21.
Última atualização: abril de 2013.
[+] Mostrar / ocultar tabela de conteúdos.
Monica Pawlan.
Escritor Técnico, Oracle.
Monica é uma escritora técnica do grupo JavaFX. Ela escreve artigos técnicos, tutoriais e livros sobre tecnologias Java.
Congratulamo-nos com seus comentários.
Se você tiver dúvidas sobre o JavaFX, acesse o fórum.
O que é o JavaFX?
O JavaFX é um conjunto de gráficos e pacotes de mídia que permite aos desenvolvedores projetar, criar, testar, depurar e implantar aplicativos rich client que operam consistentemente em diversas plataformas.
Consulte o documento da Arquitetura JavaFX para conhecer a arquitetura da plataforma JavaFX e obter uma breve descrição das APIs do JavaFX para streaming de mídia, renderização da web e estilo da interface com o usuário.
Aplicativos JavaFX.
Escrito como uma API Java, o código do aplicativo JavaFX pode fazer referência a APIs de qualquer biblioteca Java. Por exemplo, os aplicativos JavaFX podem usar bibliotecas da API Java para acessar os recursos nativos do sistema e conectar-se a aplicativos middleware baseados em servidor.
A aparência dos aplicativos JavaFX pode ser personalizada. Cascading Style Sheets (CSS) separa aparência e estilo da implementação para que os desenvolvedores possam se concentrar na codificação. Os designers gráficos podem personalizar facilmente a aparência e o estilo do aplicativo por meio do CSS. Se você tiver um plano de fundo de design da web ou se desejar separar a interface do usuário e a lógica de backend, poderá desenvolver os aspectos de apresentação da interface do usuário na linguagem de script FXML e usar o código Java para o aplicativo lógica. Se você preferir projetar interfaces de usuário sem escrever código, use o JavaFX Scene Builder. Conforme você cria a UI, o Scene Builder cria uma marcação FXML que pode ser transferida para um Ambiente de Desenvolvimento Integrado (IDE) para que os desenvolvedores possam adicionar a lógica de negócios.
Disponibilidade.
As versões do JavaFX 2.2 e posteriores são totalmente integradas ao Java SE 7 Runtime Environment (JRE) e ao Java Development Kit (JDK). Como o JDK está disponível para todas as principais plataformas de desktop (Windows, Mac OS X e Linux), os aplicativos JavaFX compilados para o JDK 7 e posterior também são executados em todas as principais plataformas de desktop. A compatibilidade entre plataformas permite uma experiência de tempo de execução consistente para desenvolvedores e usuários de aplicativos JavaFX. A Oracle garante lançamentos e atualizações sincronizados em todas as plataformas e oferece um extenso programa de suporte para empresas que executam aplicativos de missão crítica.
Na página de download do JDK, você pode obter um arquivo zip de aplicativos de amostra do JavaFX. Os aplicativos de amostra fornecem muitas amostras de código e snippets que mostram, por exemplo, como gravar aplicativos JavaFX. Consulte "Como faço para executar um aplicativo de exemplo?" Para maiores informações.
Características principais.
O JavaFX 2.2 e versões posteriores possuem os seguintes recursos:
APIs Java. JavaFX é uma biblioteca Java que consiste em classes e interfaces que são escritas em código Java nativo. As APIs são projetadas para serem uma alternativa amigável às linguagens Java Virtual Machine (Java VM), como JRuby e Scala.
FXML e Scene Builder. FXML é uma linguagem de marcação declarativa baseada em XML para a construção de uma interface de usuário do aplicativo JavaFX. Um designer pode codificar em FXML ou usar o JavaFX Scene Builder para projetar interativamente a interface gráfica do usuário (GUI). O Scene Builder gera marcação FXML que pode ser portada para um IDE, onde um desenvolvedor pode adicionar a lógica de negócios.
WebView. Um componente da Web que usa a tecnologia WebKitHTML para possibilitar a incorporação de páginas da Web em um aplicativo JavaFX. O JavaScript em execução no WebView pode chamar APIs Java e as APIs do Java podem chamar o JavaScript em execução no WebView.
Swing interoperabilidade. Os aplicativos Swing existentes podem ser atualizados com novos recursos do JavaFX, como reprodução de mídia gráfica avançada e conteúdo da Web incorporado.
Controles internos da interface do usuário e CSS. O JavaFX fornece todos os principais controles de interface do usuário necessários para desenvolver um aplicativo completo. Os componentes podem ser esfolados com tecnologias padrão da Web, como CSS.
API de tela. A API do Canvas permite desenhar diretamente em uma área da cena JavaFX que consiste em um elemento gráfico (nó).
Suporte multitoque. O JavaFX fornece suporte para operações multitoque, com base nos recursos da plataforma subjacente.
Pipeline de gráficos acelerada por hardware. Os gráficos do JavaFX são baseados no pipeline de renderização de gráficos (Prism). O JavaFX oferece gráficos suaves que são renderizados rapidamente através do Prism quando são usados ​​com uma placa gráfica ou GPU (Graphics Processing Unit) suportada. Se um sistema não apresentar uma das GPUs recomendadas suportadas pelo JavaFX, o Prism será padronizado para a pilha de software Java 2D.
Mecanismo de mídia de alto desempenho. O canal de mídia suporta a reprodução de conteúdo multimídia da web. Ele fornece uma estrutura de mídia estável e de baixa latência baseada na estrutura multimídia do GStreamer.
Modelo de implantação de aplicativo independente. Os pacotes de aplicativos independentes contêm todos os recursos do aplicativo e uma cópia privada dos tempos de execução Java e JavaFX. Eles são distribuídos como pacotes instaláveis ​​nativos e fornecem a mesma instalação e experiência de inicialização que aplicativos nativos para esse sistema operacional. Consulte o documento Implantando Aplicativos JavaFX.
O que posso construir com o JavaFX?
Com o JavaFX, você pode criar muitos tipos de aplicativos. Normalmente, eles são aplicativos com reconhecimento de rede que são implementados em várias plataformas e exibem informações em uma interface de usuário moderna de alto desempenho que apresenta áudio, vídeo, gráficos e animação.
A Tabela 1 mostra imagens de alguns dos aplicativos JavaFX de amostra incluídos no JavaFX 2.2. n lançamento.
Tabela 1 Exemplos de Aplicativos JavaFX.
O Ensemble fornece uma galeria de amostras que demonstram vários recursos do JavaFX, como animações, gráficos e controles. Você pode visualizar a amostra em execução, ler uma descrição, copiar o código-fonte e seguir os links para a documentação da API.
Painel de vendas (DataApp)
O DataApp é um aplicativo cliente-servidor para uma empresa fictícia global de automóveis chamada Henley Car Sales. As vendas de automóveis são simuladas em um servidor EJB usando JavaDB, e os dados estão disponíveis por meio do Derby e de um serviço da Web RESTful. O cliente demonstra uma variedade de apresentações de dados usando uma mistura de FXML e JavaFX.
Nota: A amostra DataApp possui vários projetos do NetBeans e não pode ser executada sem alguma configuração adicional. O arquivo DataAppReadme. html e o arquivo de projeto do NetBeans estão no diretório src \ DataApp.
Este aplicativo Swing mostra como o Swing e o JavaFX podem ser combinados. Ele usa componentes do JavaFX para implementar um gráfico e um navegador simples. Um componente JTable Swing é usado para a tabela.
Como faço para executar um aplicativo de exemplo?
As etapas nesta seção explicam como fazer o download e executar os aplicativos de amostra que estão disponíveis como um download separado com a Plataforma Java (JDK 7).
Antes de executar um aplicativo JavaFX de amostra, é necessário ter as bibliotecas de tempo de execução do JavaFX em sua máquina. Antes de prosseguir com essas etapas, instale a versão mais recente do JDK 7 ou a versão mais recente do JRE.
Para baixar e executar os aplicativos de amostra:
Role para baixo para localizar a seção Demos e Amostras do JDK 7 e do JavaFX.
Clique no botão Demos and Samples Download para ir para a página de downloads.
Na página Downloads do Java SE Development Kit 7, role para baixo até a seção JavaFX Demos e Downloads de Amostras.
Baixe o arquivo zip para o sistema operacional correto e extraia os arquivos.
O diretório javafx-samples-2.2.x é criado e contém os arquivos das amostras disponíveis. Os projetos do NetBeans para as amostras estão no diretório javafx-samples-2.2.x \ src.
Clique duas vezes em um dos arquivos executáveis ​​para uma amostra.
Por exemplo, para executar o aplicativo de amostra do Ensemble, use um dos seguintes métodos:
Para executar o Ensemble como um aplicativo independente, clique duas vezes no arquivo Ensemble. jar.
Para executar o Ensemble no navegador, clique duas vezes no arquivo Ensemble. html.
Para executar o Ensemble como um aplicativo Web Start, clique duas vezes no arquivo Ensemble. jnlp ou clique duas vezes no arquivo Ensemble. html. O código JavaScript envolve o Java Deployment Toolkit para garantir que o ambiente do usuário tenha os tempos de execução Java e JavaFX necessários.
Como faço para executar um exemplo em um IDE?
Você pode usar vários IDEs de desenvolvimento Java para desenvolver aplicativos JavaFX. As etapas a seguir explicam como exibir e executar o código-fonte no NetBeans IDE.
Para exibir e executar o código-fonte de exemplo no NetBeans IDE:
Baixe as amostras conforme descrito acima e extraia os arquivos.
Em um IDE do NetBeans 7.2 ou posterior, carregue o projeto para a amostra que você deseja visualizar.
No menu Arquivo, selecione Abrir projeto.
Na caixa de diálogo Open Project, navegue até o diretório que lista as amostras. O caminho de navegação é algo como isto:
Selecione a amostra que você deseja visualizar.
Clique no botão Abrir projeto.
Na janela Projetos, clique com o botão direito do mouse no projeto que você acabou de abrir e selecione Executar.
Observe que a janela Saída é atualizada e o projeto de amostra é executado e implementado.
Como faço para criar um aplicativo JavaFX?
Como os aplicativos JavaFX são gravados na linguagem Java, você pode usar seu editor favorito ou qualquer ambiente de desenvolvimento integrado (IDE) que suporte a linguagem Java (como NetBeans, Eclipse ou IntelliJ IDEA) para criar aplicativos JavaFX.
Para criar aplicativos JavaFX:
Acesse a página de downloads do Java SE em oracle / technetwork / java / javase / downloads / index. html para fazer o download do Oracle & reg; JDK 7 com o JavaFX 2.2. n suporte. Vá para a página Documentos do Release do JavaFX para obter os requisitos do sistema e as instruções de instalação para a versão do JavaFX SDK que você planeja usar.
Use o tutorial Introdução ao JavaFX para criar aplicativos simples que demonstrem como trabalhar com layouts, folhas de estilo e efeitos visuais.
Use o JavaFX Scene Builder para projetar a interface do usuário para seu aplicativo JavaFX sem codificação. Você pode arrastar e soltar componentes de interface do usuário em uma área de trabalho, modificar suas propriedades, aplicar folhas de estilo e integrar o código resultante à lógica de seu aplicativo.
Como faço para implantar um aplicativo JavaFX?
Os aplicativos JavaFX podem ser implementados em qualquer um dos seguintes modos de execução:
Executar como um programa autônomo. O pacote de aplicativos está disponível em uma unidade local. Ative-o usando um ativador Java, como java - jar MyApp. jar, ou clicando duas vezes no arquivo JAR do aplicativo.
Inicie a partir de um servidor remoto com o Web Start. Clique em um link em uma página da Web para iniciar o aplicativo a partir de um servidor da web remoto. Depois de fazer o download, você também pode iniciar um aplicativo Web Start a partir de um atalho na área de trabalho.
Incorporar em uma página da web. O conteúdo do JavaFX é incorporado na página da Web e hospedado em um servidor da Web remoto.
Inicie como um aplicativo independente. O aplicativo é instalado na unidade local e é executado como um programa independente usando uma cópia privada dos tempos de execução Java e JavaFX. Você pode iniciar o aplicativo da mesma maneira que outros aplicativos nativos para esse sistema operacional, por exemplo, usando um atalho na área de trabalho ou uma entrada de menu.
Para implantar um aplicativo JavaFX:
Decida qual modo de execução você deseja usar para implantar o aplicativo.
Leia o documento Implementando o aplicativo JavaFX para obter instruções detalhadas.
Use os recursos a seguir para aprender mais sobre a tecnologia JavaFX.
Faça o download da versão mais recente do JDK 7 e das amostras do JavaFX na página de downloads do Java SE em:

- & gt; & gt; Clique para pesquisar & lt; & lt; -
Tutorial do javafx 2.0 tableview @@ & gt; Obter javafx 2.0 tableview tutorial tutorial de tableview Forex Trading System sistema de negociação Forex javafx 2.0.
Tutorial do javafx 2.0 tableview @@ & gt; Obtenha o tutorial de tableview do javafx 2.0 Forex Trading System.
Tutorial do javafx 2.0 tableview @@ & gt; Obter javafx 2.0 tableview tutorial tutorial de tableview Forex Trading System sistema de negociação Forex javafx 2.0.
Tutorial do javafx 2.0 tableview @@ & gt; Obter javafx 2.0 tableview tutorial Sistema de Negociação Forex Sistema de Negociação Forex javafx 2.0 tableview tutorial javafx 2.0 tableview tutorial @@ & gt; Obter javafx 2.0 tableview tutorial tutorial de tableview Forex Trading System sistema de negociação Forex javafx 2.0.

- & gt; & gt; Clique para pesquisar & lt; & lt; -
javafx 2.0 tutorial # & gt; Tutorial javafx 2.0 grátis Online Forex Trading Sistema Forex Trading System javafx 2.0 tutorial.
javafx 2.0 tutorial # & gt; Tutorial javafx 2.0 grátis Online Forex Trading System.
javafx 2.0 tutorial # & gt; Tutorial javafx 2.0 grátis Online Forex Trading Sistema Forex Trading System javafx 2.0 tutorial.
javafx 2.0 tutorial # & gt; Tutorial javafx 2.0 grátis Sistema de negociação Forex online Sistema de negociação Forex javafx 2.0 tutorial javafx 2.0 tutorial # & gt; Tutorial javafx 2.0 grátis Online Forex Trading Sistema Forex Trading System javafx 2.0 tutorial.

Projetando um aplicativo de negociação automatizado na plataforma Rich Client do NetBeans (Parte 1)
Junte-se à comunidade DZone e obtenha a experiência completa dos membros.
Práticas recomendadas para obter uma implantação contínua mais rápida e com resultados impressionantes em minutos reduzidos de interrupções, custos de desenvolvimento e ciclos de testes de controle de qualidade. Trazido a você pelo Rainforest QA.
Nos últimos dez anos, abriram-se novas oportunidades nos mercados de ações, de futuros e de moeda, para permitir aos comerciantes de varejo a capacidade de produzir suas próprias estratégias de negociação automatizadas, que antes eram apenas o domínio dos fundos de hedge e dos bancos de investimento. A Interactive Brokers foi uma das primeiras corretoras a oferecer uma API Java para seus clientes de varejo. Originalmente concebido como uma maneira de os desenvolvedores aumentarem o aplicativo de desktop Interactive Brokers Trader Workstation (TWS) com recursos como gráficos ou manutenção de registros, a API ganhou popularidade como uma forma de automatizar as estratégias de negociação.
Em minha primeira iteração de desenvolvimento de uma estratégia de negociação e software para automatizar as negociações, criei um aplicativo de desktop Java usando componentes Swing que monitoravam estoques ao longo do dia e colocavam negociações quando determinados parâmetros eram atendidos e, em seguida, saiam das negociações no fechamento do mercado. dia de negociação. O software funcionou bem e foi adequado para a estratégia que foi projetada para o comércio, no entanto, não foi extensível e tentando implementar novas estratégias de negociação para automatizar, bem como conectar-se a diferentes contas de corretagem provou difícil e complicado. Além disso, há restrições sobre quantas ações podem ser monitoradas por meio do feed de dados da corretora, para que o software tenha que acomodar feeds de dados de mercado em tempo real de outras fontes, além do feed de dados da corretora.
Fui apresentado à Rich Client Platform (RCP) do Netbeans há alguns anos e recentemente decidi começar a migrar meu aplicativo para a plataforma devido a um grande número de vantagens que ele oferece. O Netbeans RCP é baseado em um princípio de design modular que permite ao desenvolvedor definir APIs abstratas para recursos e, em seguida, fornecer módulos que podem ter diferentes implementações da API, permitindo que o aplicativo selecione em tempo de execução qual implementação usar. Ele não apenas fornece um design mais limpo ao separar as preocupações, mas também usa a API de pesquisa do Netbeans e separa o aplicativo e seus vários componentes uns dos outros. Existem vários outros recursos que podem ser aproveitados, incluindo um sistema de janelas embutido, editor de texto, explorador de arquivos, barra de ferramentas, tabela e componentes de tabelas em árvore, bem como a API Action (apenas para citar alguns).
O aplicativo comercial fará uso do sistema de módulos RCP para definir APIs abstratas com as seguintes funcionalidades:
Fazer e cancelar pedidos de ações, opções, futuros ou moedas Fornecer notificação de evento quando os pedidos são preenchidos Monitore os saldos de caixa na conta.
Assine os dados de cotação em tempo real para qualquer símbolo de ticker Assine os dados do Nível 2 (profundidade de mercado / order-book) para qualquer símbolo de ticker.
Solicite dados históricos de preços para qualquer símbolo de ticker.
Definir um conjunto de regras para entrar e sair de negociações Capacidade de usar qualquer corretora, dados de mercado e implementações de API de dados históricos para tomar decisões comerciais.
A implementação principal para os módulos da API Broker, Market Data e Historical data APIs estará utilizando a API Java da Interactive Broker, mas outras implementações também podem ser criadas como módulos Netbeans e importadas para a aplicação comercial, de forma que as estratégias de negociação possam utilizar dados de mercado. fontes diferentes, se necessário.
Novas estratégias de negociação podem ser construídas como módulos do Netbeans implementando a API da Estratégia de Negociação, onde cada estratégia pode fazer uso de uma das implementações dos vários dados e APIs do broker. Utilizando a API de pesquisa do Netbeans, as estratégias podem consultar a plataforma para obter uma lista de todas as implementações das APIs de dados do broker e do mercado, fornecendo um acoplamento flexível entre as APIs e permitindo que o usuário selecione qual implementação usar no tempo de execução.
Abaixo está um diagrama que ilustra a organização dos vários componentes da API do aplicativo:
Em postagens futuras, entrarei em mais detalhes sobre como criar um plug-in de API para o Netbeans RCP, além de mostrar como criar uma implementação concreta da API. Na ilustração acima, as APIs abstratas intermediárias, dados de mercado e estratégia de negociação são instaladas no RCP como plug-ins. A API do broker possui uma única implementação para Interactive Brokers neste momento. A API de dados de mercado tem plug-ins que fornecem implementações para dados de mercado em tempo real do Yahoo Finance, bem como dados de mercado em tempo real da Interactive Brokers. Por fim, a API da estratégia de negociação possui duas implementações neste exemplo. A primeira estratégia chamada "Comprador Limite" irá observar os preços de aproximadamente 800 ações e colocar ordem de limite para comprar quando certas condições forem atendidas. A segunda estratégia no exemplo acima, denominada AUD / NZD Currency Strategy, irá monitorar as taxas de câmbio dos dólares australiano e neozelandês e fazer pedidos para comprar ou vender quando certas condições forem atendidas.
Neste momento, a aplicação é funcional e está utilizando Interactive Brokers como a principal corretora, bem como provedor de dados de mercado. A estratégia de negociação AUD / NZD está sendo ativamente negociada através do aplicativo, embora com uma interface de usuário rudimentar que está publicando mensagens para uma área de texto na guia principal da estratégia. A captura de tela abaixo ilustra o aplicativo “Trader Workstation” do Interactive Brokers, o aplicativo preto grande (que é um aplicativo Java Swing), bem como o aplicativo de negociação automatizado Netbeans RCP que é o aplicativo branco pequeno, com a área de texto grande. Na captura de tela abaixo, o aplicativo está atualmente monitorando os preços e colocando os negócios para as moedas do dólar australiano, do dólar da Nova Zelândia, do dólar de Hong Kong e do iene japonês.
Este post é apenas uma visão geral de alto nível sobre o design de um aplicativo RCP para negociar nos mercados financeiros. As partes futuras desta série incluirão mais informações sobre como implementar APIs abstratas e disponibilizá-las para outras partes do aplicativo usando a API de pesquisa do Netbeans, além de trabalhar com alguns dos componentes da interface do usuário do NetBeans incluídos na plataforma, como guias , árvores e tabelas, mostrando como é fácil renderizar os mesmos dados por meio dessas exibições diferentes usando a API de Netbeans Nodes. Além disso, eu gostaria de incorporar alguns componentes do JavaFX no aplicativo, como os componentes de gráficos que podem ser encontrados na biblioteca JavaFX principal, que fornecerá uma representação gráfica de alguns dos dados que as estratégias estão monitorando, que serão um pouco mais user friendly do que a atual área de texto grande. A integração dos componentes do JavaFX dentro do aplicativo também será documentada em um post futuro.
Você pode seguir o meu blog relacionado negociação se você gostaria de ver os resultados reais da aplicação como sendo refinado em:
Descubra como otimizar seus fluxos de trabalho de DevOps com nossa solução de QA sob demanda, oferecida em parceria com o Rainforest QA.
Como este artigo? Leia mais da DZone.
Grátis DZone Refcard.
DevOps para banco de dados.
As opiniões expressas pelos colaboradores da DZone são suas.

Комментариев нет:

Отправить комментарий