Este projeto é um resumo da minha experiência trabalhando como desenvolvedor e líder de equipe para diversas instituições financeiras (bancos e corretoras FOREX) e traders individuais. Tornei o aplicativo o mais simples possível para usar em questões tão complexas como finanças.
O programa se adapta a qualquer pessoa.
Usando este aplicativo, é possível crescer em todas as três direções - com o uso constante, pode-se tornar-se um consumidor/comerciante melhor e inteligente, depois um comerciante melhor e, finalmente, um investidor sábio. Essas telas mostrarão e acompanharão em tempo o seu desempenho e relações pessoais com as finanças Estado anual do capital e desempenho de ganhos/gastos por dia/mês.
Esta versão é gratuita, mas se você quiser uma versão melhor e segura, pode me escrever para [email protected], podemos conversar sobre melhoria/instalação/suporte e concordar sobre $.
Aplicativo. Vá para a pasta FinCore/ClientApp Execute: npm install
Para UI Debug execute:: npm run start
e use o URL http://127.0.0.1:4200 para executar a versão de depuração da UI
Compilar o aplicativo inteiro Para compilar como um serviço do Windows ou aplicativo de console: Execute a partir da linha de comando: build.bat
Para compilar como uma imagem docker: Execute: docker.sh
Se você não conseguir compilar ou não quiser compilar em sua máquina, existe uma opção para obter a imagem do docker em meu docker hub. Execute estes comandos:
git clone https://github.com/sergiovision/FinCore.git
docker pull dockersergio/fincore:latest
docker-compose up
Para que a compilação seja bem-sucedida, os seguintes aplicativos devem ser instalados: Visual Studio 2019, ferramentas de compilação do Visual Studio 2019, NPM mais recente de http://nodejs.org. Os aplicativos precisam ser instalados para executar o servidor corretamente:
Banco de dados SQLite localizado na pasta /DB
. Por padrão, o arquivo SQLite DB é usado, mas o MySQL também é compatível, você pode mudar para o MySQL no arquivo /FinCore/appSettings.json
.
Para configurar chaves de API de configuração do módulo de criptografia para provedores KuCoin e/ou FTX:
Para troca KuCoin, defina as seguintes propriedades em /FinCore/appSettings.json
: KuCoinAPIKey
- Chave de API principal KuCoin KuCoinAPISecret
- Segredo de API KuCoinPassPhrase
- Pass Phrase
KuCoinFutureAPIKey
- Chave de API de futuros de KuCoin KuCoinFutureAPISecret
- Segredo de API KuCoinFuturePassPhrase
- Frase de acesso de futuros
Para troca FTX: FTXAPIKey
- Chave API FTX FTXAPISecret
- Segredo API FTX
Abra o arquivo fincore_empty.sqlite
em qualquer editor de banco de dados que funcione com SQLite (como Navicat).
Abra a tela Configurações e defina as seguintes variáveis
XTrade.TerminalUser
- deve ser definido como o nome de login do usuário do Windows onde os terminais de negociação estarão em execução
XTrade.InstallDir
- pasta de instalação do XTrade.
Metatrader.CommonFiles
- caminho para a pasta de arquivos comuns MT5
MQL.Sources
- caminho para a pasta MQL onde seus robôs MQL foram armazenados
Para instalar o aplicativo no modo de serviço do Windows, construa o projeto no Windows, vá para a pasta bin e execute o comando (sob privilégios de administrador): FinCore.exe install
Se você tiver problemas ao executar, verifique FinCore.MainServer.log
para ver erros.
Estrutura de pastas FinCore:
/BusinessLogic – lógica principal do aplicativo
/BusinessObjects – objetos de negócios compartilhados
/FinCore - auto-host do servidor principal e controladores WebAPI
/ClientApp – aplicativo cliente Angular
/MQL5 - Executáveis MQL5 que precisam ser instalados no Metatrader para poder sincronizar e trabalhar com o Metatrader.
Sobre FinCore
Painel em tempo real
Livro de carteiras
Integração Metatrader
Gerenciamento de múltiplos terminais/corretores e consultores
Gerenciamento de metassímbolos
Taxas de câmbio em tempo real
Estatísticas de Negociação e Gestão de Risco
Histórico de transações
Registros de aplicativos
Torta de Investimentos
Trabalhos em segundo plano
Desempenho de ganhos/gastos por dia/mês
Estado da Capital Anual
Quando o aplicativo é iniciado ele fica acessível por este link: http://localhost:2020/#/login ou http://localhost:2020/#/dashboard
A porta Websockets usa a porta 2021
. Certifique-se de que as portas 2020
e 2021
estejam abertas para tornar o FinCore acessível fora do VPS. Se você executar o aplicativo no docker em um endereço separado para conectá-lo ao Windows onde residem os terminais Metatrader - você deve ativar o encaminhamento de portas no Windows:
Execute este comando na linha de comando do Windows:
netsh interface portproxy add v4tov4 listenport=2020 listenaddress=127.0.0.1 connectport=2020 connectaddress='docker container address'
netsh interface portproxy add v4tov4 listenport=2022 listenaddress=127.0.0.1 connectport=2022 connectaddress='docker container address'
Depois disso, todos os especialistas em Metatrader poderão sincronizar com o aplicativo FinCore rodando no Docker ou em outra máquina/SO.
Para expor o aplicativo Fincore por meio do servidor da web NGINX, adicione o seguinte texto no arquivo nginx.conf na seção server {}: `location ^~ /fincore/ {
proxy_pass http://127.0.0.1:2020/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}`
O login padrão para o arquivo fincore_empty é:
e-mail: [email protected]
senha: test
Livro de carteiras
Painel em tempo real
O painel mostra as posições atuais e o desempenho dos investimentos em tempo real. Usou mecanismo acionado por websocket de alto desempenho para atualizar instrumentos em tempo real.Configurações
Adicionando consultor no Metatrader
Para adicionar um Consultor em um gráfico, basta clicar com o botão direito e selecionar Modelo de objetivo. FinCore fará todo o resto.Configurações do Metatrader
O Expert Adviser interage com o servidor de aplicativos por meio da WebAPI.Conselheiro
O consultor possui um painel no canto superior esquerdo do gráfico. As configurações do consultor podem ser editadas nesta tela Gerenciamento de consultoresGerenciamento de múltiplos terminais/corretores e consultores
Estado da Capital Anual
Resumo Estado da capital ao longo do anoEstatísticas de Negociação e Gestão de Risco
Tela útil para trader/investidor. Aqui você pode ver quais instrumentos têm melhor desempenho e selecionar os favoritos para sua próxima negociação/investimento.Torta de Investimentos
Observe a torta do seu portfólio de investimentos nesta tela.Registros de aplicativos
Registro colorido de todos os terminais de negociação em um único rolo de registro. Não há necessidade de abrir cada log do terminal.Desempenho de ganhos/gastos por dia/mês
Esta tela muito útil mostra como você ganha/gasta dinheiro na vida e no mercado.Histórico de transações
Histórico de negociações concluídas/fechadas.Trabalhos em segundo plano
Visualize e controle trabalhos. Aqui você pode ligar para vários trabalhos de plantão. Agendamento de jobs implementado usando a biblioteca Quartz e definido usando expressões cron no banco de dados.Gerenciamento de metassímbolos
Para adicionar um novo símbolo ao FinCore, adicione um novo MetaSymbol e, em seguida, adicione um novo símbolo nesta tela. Então um Consultor pode ser criado para este símbolo.Taxas de câmbio em tempo real
Para atualizar as taxas de câmbio, abra e conecte seu terminal Metatrader com Fincore e inicie ExhangeRatesJob em trabalhos em segundo plano