6.1. Informações Gerais da API
A API do Bookmap permite conectar novas fontes de dados e sistemas de trading ao Bookmap, além de desenvolver módulos personalizados, como estratégias de trading automatizado, indicadores, alertas de voz, exportação e gravação de dados, e muito mais. A API foi desenvolvida pela equipe do Bookmap, que tem experiência com dezenas de APIs de plataformas de trading, fornecedores de dados e bolsas de valores. A API resultante combina níveis sem precedentes de simplicidade e transparência. Isso dá aos usuários a capacidade de desenvolver, em minutos ou horas, módulos personalizados que recebem dados de mercado verdadeiramente não filtrados e não agregados (incluindo toda a profundidade do mercado) e podem utilizar a funcionalidade completa de trading.
Para habilitar sua conta para a API do Bookmap, use o ícone de estratégias e indicadores personalizados acima do gráfico. Ele contém várias estratégias de amostra que os usuários podem configurar. Também permite importar estratégias ou indicadores adicionais desenvolvidos via API. O código fonte de algumas das estratégias de amostra pode ser encontrado em https://github.com/BookmapAPI/DemoStrategies.
- Para editar as estratégias de amostra para entender melhor a API, a versão incorporada delas precisa ser removida do Bookmap.
- Para remover as versões incorporadas, feche o Bookmap, vá para C:\Program Files (x86)\Bookmap\lib e exclua "bm-strategies.jar", então reinicie o Bookmap. O botão de estratégias e indicadores personalizados deve permanecer no local, mas as estratégias de amostra não devem aparecer lá.
Agora você precisará do Eclipse para Java para desenvolver e editar sua estratégia. Note que é necessário usar um JRE de 32 bits para executar o Bookmap com sua estratégia a partir do Eclipse. Tecnicamente, qualquer IDE serve, mas para nosso exemplo usaremos o Eclipse. Importe o projeto para a área de trabalho. Se você encontrar erros, verifique se o caminho de compilação do projeto está configurado corretamente:
Insira a captura de tela
Essas configurações devem estar lá por padrão, mas se não estiverem, precisam ser configuradas. Agora, você deve ser capaz de exportar a estratégia como um arquivo Jar. Uma vez exportado, importe o jar para o Bookmap. Você deve ver esta janela:
Insira a captura de tela
Cada item na lista representa uma estratégia. Você pode desenvolver sua estratégia editando o projeto e importando novos arquivos jar, mas isso pode não ser muito conveniente. Uma maneira mais fácil seria realizar o seguinte:
-
Crie um "bm-strategy-package-fs-root.jar" vazio na pasta com suas classes (Para o Eclipse, é
<seu espaço de trabalho>\\Strategies\\bin
). -
Selecione-o no diálogo de carregamento de estratégias do Bookmap e configure o Bookmap para carregar a estratégia (por exemplo, escolha o último ponto de entrada, certifique-se de que as opções Auto enable e auto load estão ativadas, e a estratégia está habilitada no Bookmap). Agora você pode remover o arquivo.
-
Configure seu IDE para executar o Bookmap. Para isso, configure o IDE para:
- Adicionar C:\Program Files (x86)\Bookmap\Bookmap.exe ao classpath - iniciar velox.ib.Main
- Adicionar -Xmx1000M às opções do VM
- Usar C:\Bookmap\Config como o diretório de trabalho
Agora você deve ser capaz de usar essa configuração para iniciar o Bookmap com a versão mais recente de sua estratégia.
Nota: o JRE usado para iniciar o Bookmap deve ser de 32 bits (você pode usar um incluído em C:\Program Files (x86)\Bookmap\jre), e o Bookmap.exe deve ser adicionado como uma entrada de usuário (na configuração de execução do Eclipse):
Insira a captura de tela
Quando o Bookmap é iniciado desta maneira, a estratégia pode ser depurada a partir do IDE. Aqui está uma captura de tela do que você deve ser capaz de fazer (neste exemplo, o projeto Strategies está configurado para busca de origem quando o Eclipse pediu por isso.
Para repetir, coloque um ponto de interrupção no mesmo local com a estratégia "Filtro de grandes ordens" carregada, conforme explicado acima, e envie uma ordem de tamanho 11 ou maior - ela será "rejeitada" pela estratégia, e se você estiver no modo de depuração, poderá controlá-la passo a passo):
'Insira a captura de tela`
Quando você executa o Bookmap desta maneira, a maioria das funcionalidades do IDE podem ser utilizadas, incluindo aquela que permite editar o código no modo de depuração sem reiniciar o aplicativo.
O próximo passo do processo seria testar as estratégias de amostra fornecidas e começar a criar as suas próprias.
Documentação da API
O Bookmap é um programa Java em sua essência com renderização acelerada por GPU baseada em C++ OpenGL. Módulos personalizados devem ser desenvolvidos em Java e entregues como arquivos JAR, mas em sua outra extremidade eles podem se conectar a uma API com qualquer linguagem de programação, daí o nome adaptadores. A documentação completa da API faz parte do instalador do Bookmap. Seu nome é bm-l1api-javadoc.jar localizado em C:\Program Files\Bookmap\lib (dado os caminhos de instalação padrão).
Nota: não é recomendado extraí-lo na pasta de instalação. A API suporta versionamento, permitindo compatibilidade retroativa.
Mais detalhes e exemplos de código fonte podem ser encontrados na página do GitHub do Bookmap. Os exemplos de configuração são demonstrados usando o Eclipse IDE, mas não há requisitos para uma estrutura de desenvolvimento específica.