Introdução JForex SDK.
O Kit de Desenvolvimento de Software JForex (JForex SDK) permite ao usuário usar JForex API sem o cliente JForex.
Mais proeminente, ele permite ao usuário executar suas estratégias a partir de um aplicativo java personalizado.
A interface IClient pode ser usada para trabalhar com dados ao vivo, enquanto o ITesterClient é usado para trabalhar com dados históricos.
Além disso, o JForex SDK fornece interfaces para trabalhar com gráficos fora do cliente JForex, encontre exemplos nas seções Trabalhe com gráficos e Backtesting no modo GUI. Vá para Usar no Eclipse, use no Intellij IDEA ou use no NetBeans para baixar os projetos do SDK com exemplos e começar.
API JForex.
A API JForex oferece a possibilidade de desenvolver aplicativos de software personalizados usando a linguagem de programação Java. A biblioteca do cliente da API pode ser vinculada aos sistemas de clientes. Ele se comunica diretamente com os servidores comerciais do Dukascopy Bank através de sessões seguras e autenticadas na Internet. Não é necessário executar a plataforma JForex ao mesmo tempo, mas a plataforma pode ser usada para monitorar em tempo real quaisquer ações tomadas pelo sistema de um cliente.
Para começar a trabalhar com o JForex Software Development Kit (JForex SDK), baixe-o e importe-o em um ambiente de desenvolvimento integrado Java (IDE) de sua escolha:
O JForex SDK contém exemplos para:
Estratégia em execução com back-testing da estratégia de back-testing da estratégia de dados ao vivo no modo visual.
A visão geral do JForex SDK descreve como modificar e melhorar esses casos de uso.
Para o desenvolvimento da estratégia, comece com a visão geral da API da Estratégia.
As últimas dependências do JForex SDK sempre podem ser encontradas no repositório público Dukascopy Maven, o que significa que se pode configurar seu projeto para usar sempre a versão mais recente da API JForex.
Mantenha-se atualizado com os nossos mais recentes desenvolvimentos da JDIx api e assine os e-mails automáticos da nota de lançamento da Jforex API. Além disso, não se esqueça de verificar o nosso fórum de suporte da API onde todas as versões da Jforex API são publicadas e discutidas.
Para saber mais sobre o JForex e outras informações relacionadas ao comércio, escreva-nos: envie-nos uma mensagem, ligue-nos: +41 22 799 4888 ou, em alternativa, peça um call-back.
SDK Client.
A interface IClient é usada para trabalhar com dados em tempo real e o ITesterClient herda sua funcionalidade para trabalhar com dados históricos. Este artigo fornece exemplos de principais recursos IClient. Os exemplos são baseados no exemplo Main. java localizado no projeto JForex SDK. Assim, para testar snippets sem anexo, é necessário integrá-los simplesmente no programa de exemplo Main. java.
Obtém uma instância do IClient usando ClientFactory. getDefaultInstance (). Um se conecta aos servidores dukascopy usando o método de conexão, por exemplo:
Para se conectar aos servidores LIVE, veja aqui.
Ouvinte do sistema.
A interface ISystemListener permite que o usuário execute alguma lógica comercial no sistema se conecta e desconecta, bem como no início e no fim de cada estratégia. O ouvinte do sistema é adicionado ao IClient usando o método setSystemListener, por exemplo:
Inscrevendo-se em instrumentos.
Ao contrário do cliente JForex, na API autônoma, sempre tem que se inscrever explicitamente em todos os instrumentos que a estratégia dele vai usar. Isso pode ser feito usando o método IClient. setSubscribedInstruments. Observe que a assinatura é assíncrona, portanto, se for aconselhável se inscrever da seguinte forma:
Estratégias de execução.
A estratégia pode ser iniciada passando-a para IClient. startStrategy, por exemplo:
Também é possível executar múltiplas estratégias. Por exemplo, é possível executar duas instâncias da mesma estratégia, mas com diferentes parâmetros:
Executando estratégias remotas.
É possível executar uma estratégia remota ao chamar o método IClient. getRemoteStrategyManager (). StartStrategy. Para outros métodos de gerenciamento de estratégia remota, veja IStrategyManager. Considere um exemplo de programa que é executado e gerencia estratégias remotas:
Observe que as estratégias remotas devem seguir as regras descritas na seção Executar remoto.
Estratégia de parada.
Um recupera o ID do processo de estratégia do IClient. startStrategy, que depois pode ser usado para parar a estratégia usando o método IClient. stopStrategy. Considere um programa que inicia uma estratégia anônima e verifica cada segundo se o usuário digitar no console "parar", se assim for, o programa pára a estratégia.
Estratégia de parada.
Um recupera o ID do processo de estratégia do IClient. startStrategy, que depois pode ser usado para parar a estratégia usando o método IClient. stopStrategy. Considere um programa que inicia uma estratégia anônima e verifica cada segundo se o usuário digitar no console "parar", se assim for, o programa pára a estratégia.
Trabalhe com gráficos.
Há duas maneiras como se pode abrir um gráfico:
IClient. openChart é usado para abrir um gráfico sem executar uma estratégia. IClient. addClientGUIListener adiciona um ouvinte para o programa para lidar com os eventos IContext. openChart e IContext. closeChart.
Abra um gráfico da IClient.
Considere abrir vários gráficos - para cada instrumento em uma matriz instrArr:
Gerencie IContext. openChart.
Considere um programa que abre um gráfico sempre que a estratégia chama IContext. openChart e fecha um gráfico sempre que a estratégia chamar IContext. closeChart:
Adicionar objetos de gráfico.
Não se pode apenas traçar os objetos do gráfico dentro de uma estratégia, mas também do programa que executa o IClient. Considere criar um painel de botões que recebe um IChart de IClientGUI. getChart ():
Altere o tema do gráfico.
IChartTheme representa um tema de gráfico, ele pode ser recuperado e configurado em um gráfico usando os métodos getTheme e setTheme da interface IClientChartPresentationManager. Considere alterar o plano de fundo do gráfico e as cores do carrapato / vela:
Pode-se recuperar um tema predefinido ao chamar o método IClientChartPresentationManager. getPredefinedTheme. Considere definir um tema predefinido para um gráfico:
Para o exemplo de uso completo, procure a caixa de combinação cmbChartTheme em: MainOpenChart. java.
Programa de comunicação com uma estratégia.
Ao definir um ouvinte (no meio de interface pública) dentro de uma estratégia, pode-se implementar lógica do lado do cliente em eventos estratégicos.
Ação do cliente no preenchimento e fechamento de pedidos.
Considere que, a partir do programa, você deseja fazer algum log extra no preenchimento e fechamento de pedidos. E também deseja configurar a perda de parada de pedidos:
Considere a introdução de uma interface em uma estratégia que sirva como preenchimento de pedidos e ouvinte próximo. A implementação da interface seria passada do programa IClient:
Em seguida, em cada preenchimento de ordem e fechar, execute a lógica que foi passada do programa IClient:
O cliente cobre os preenchimentos de estratégia.
Considere outro exemplo do mesmo padrão - um programa de cliente que abrange cada ordem criada pelo staregy:
Nesse caso, o intruso ouvinte apenas inclui um método:
Então, em cada preenchimento de ordem, execute a lógica que foi passada do programa IClient:
Notícias e Calendário.
Para receber notícias e / ou mensagens de calendário em uma estratégia, é necessário aplicar NewsFilter e / ou CalendarFilter ao IClient antes da execução da estratégia da seguinte maneira:
Nota: O NewsFilter só funciona com dados ao vivo, o que significa que você não pode usá-lo enquanto faz back-testing - nenhuma novidade na estratégia chegará.
Prazo.
Os cronogramas disponíveis são definidos pelo TimeFrame enum. Pode-se recuperar notícias para os seguintes prazos:
Online - estratégia receberá notícias à medida que chegarem. Os últimos 10 minutos - estratégia logo após o início receberão novidades nos últimos 10 minutos, a partir daí o filtro de notícias se comportará como Online. Últimos 30 minutos, Última hora, Hoje - funcionam da mesma forma que os últimos 10 minutos, ao longo de um período de tempo diferente. Data específica - estratégia logo após o início receberá novidades para a data específica, a partir daí o filtro de notícias se comportará como Online. Para habilitar este, é necessário chamar NewsFilter. setFrom com a data específica.
Parâmetros do filtro.
Pode-se filtrar notícias pelos seguintes parâmetros:
Os conjuntos de parâmetros funcionam como condições OR, o que significa que:
A aplicação de nenhum parâmetro resultará na recepção de todas as mensagens de notícias. A aplicação de um parâmetro StockIndex. NYSE resultará em uma estratégia recebendo SOMENTE notícias relacionadas ao índice de ações da NYSE. Aplicação de múltiplos parâmetros Country. FR e StockIndex. NYSE resultarão em recebimento de estratégia SOMENTE notícias relacionadas ao índice de ações da NYSE ou relacionadas à França.
Filtrar palavras-chave.
A filtragem de palavras-chave pode ser percebida como um filtro extra em cima da filtragem de parâmetros, pois cai dos resultados de filtragem de parâmetros os que não correspondem aos critérios de string de texto fornecidos.
Exemplo de filtro de notícias.
Considere filtrar todas as notícias de hoje relacionadas ao índice de ações da NYSE ou índice de ações DJI ou EUA ou França. Além disso, tome apenas novidades que contenham palavras & quot; Lucro & quot; e "Perda":
Exemplo de filtro de calendário.
Considere a possibilidade de filtrar os eventos do calendário em 11 de março de 2018 relacionados aos países do G7. Além disso, tome apenas eventos que contenham uma das três palavras-chave: "Treasury", "GDP", & quot; trade & quot ;:
No comments:
Post a Comment