Ce projet est un résumé de mon expérience de travail en tant que développeur et chef d'équipe pour diverses institutions financières (banques et courtiers FOREX) et traders individuels. J'ai rendu l'application aussi simple que possible à utiliser avec des choses aussi complexes que les finances.
Le programme convient à tout le monde.
En utilisant cette application, on peut se développer dans les 3 directions : avec une utilisation constante, on peut devenir un consommateur/commerçant meilleur et intelligent, puis un meilleur commerçant et enfin un investisseur avisé. Ces écrans afficheront et suivront dans le temps vos performances et vos relations personnelles avec les finances. État du capital annuel et performances des revenus/dépenses par jour/mois.
Cette version est gratuite mais si vous souhaitez une version meilleure et sécurisée, vous pouvez m'écrire à [email protected] nous pourrons parler d'amélioration/installation/support et convenir de $.
Application. Accédez au dossier FinCore/ClientApp Exécutez : npm install
Pour l'exécution de débogage de l'interface utilisateur : npm run start
et utilisez l'URL http://127.0.0.1:4200 pour exécuter la version de débogage de l'interface utilisateur.
Créer une application entière Pour créer une application de service ou de console Windows : Exécutez à partir de la ligne de commande : build.bat
Pour créer une image Docker : Exécutez : docker.sh
Si vous ne parvenez pas à créer ou si vous ne souhaitez pas créer sur votre machine, il existe une option pour obtenir une image Docker à partir de mon hub Docker. Exécutez ces commandes :
git clone https://github.com/sergiovision/FinCore.git
docker pull dockersergio/fincore:latest
docker-compose up
Pour que la build réussisse, les applications suivantes doivent être installées : Visual Studio 2019, les outils Visual Studio 2019 Build, le dernier NPM de http://nodejs.org. Les applications doivent être installées pour exécuter correctement le serveur :
Base de données SQLite située dans le dossier /DB
. Par défaut, le fichier SQLite DB est utilisé, mais MySQL est également pris en charge, vous pouvez passer à MySQL dans le fichier /FinCore/appSettings.json
.
Pour configurer les clés API de configuration du module de chiffrement pour les fournisseurs KuCoin et/ou FTX :
Pour l'échange KuCoin, définissez les propriétés suivantes dans /FinCore/appSettings.json
: KuCoinAPIKey
- Clé API principale KuCoin KuCoinAPISecret
- API secrète KuCoinPassPhrase
- Phrase de passe
KuCoinFutureAPIKey
- Clé API KuCoin Futures KuCoinFutureAPISecret
- Secret API KuCoinFuturePassPhrase
- Phrase de passe Futures
Pour FTX Exchange : FTXAPIKey
- Clé API FTX FTXAPISecret
- Secret API FTX
Ouvrez le fichier fincore_empty.sqlite
dans n'importe quel éditeur de base de données fonctionnant avec SQLite (comme Navicat).
Ouvrez l'écran Paramètres et définissez les variables suivantes
XTrade.TerminalUser
- doit être défini sur le nom de connexion de l'utilisateur Windows sur lequel les terminaux de trading seront exécutés
XTrade.InstallDir
- Dossier d'installation de XTrade.
Metatrader.CommonFiles
- chemin d'accès au dossier de fichiers communs MT5
MQL.Sources
- chemin d'accès au dossier MQL où sont stockés vos robots MQL
Pour installer l'application en mode Service Windows, créez le projet sous Windows, accédez au dossier bin et exécutez la commande (sous privilèges d'administrateur) : FinCore.exe install
Si vous rencontrez des problèmes d'exécution, vérifiez FinCore.MainServer.log
pour voir les erreurs.
Structure des dossiers FinCore :
/BusinessLogic - logique principale de l'application
/BusinessObjects - objets métier partagés
/FinCore - auto-hôte du serveur principal et contrôleurs WebAPI
/ClientApp - Application client angulaire
/MQL5 - Exécutables MQL5 qui doivent être installés dans Metatrader pour pouvoir se synchroniser et fonctionner avec Metatrader.
À propos de FinCore
Tableau de bord en temps réel
Livre de portefeuilles
Intégration Metatrader
Gestion de plusieurs terminaux/courtiers et conseillers
Gestion des métasymboles
Taux de change en temps réel
Statistiques de trading et gestion des risques
Historique des transactions
Journaux d'applications
Tarte aux investissements
Travaux en arrière-plan
Performances de revenus/dépenses par jour/mois
État de la capitale annuelle
Une fois l'application démarrée, elle devient accessible par ce lien : http://localhost:2020/#/login ou http://localhost:2020/#/dashboard
Le port Websockets utilise le port 2021
. Assurez-vous que les ports 2020
et 2021
sont ouverts pour rendre FinCore accessible en dehors du VPS. Si vous exécutez l'application dans Docker sur une adresse distincte pour la connecter à Windows où résident les terminaux Metatrader, vous devez activer la redirection de ports dans Windows :
Exécutez cette commande dans la ligne de commande 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'
Après cela, tous les experts de Metatrader pourront se synchroniser avec l'application FinCore exécutée dans Docker ou sur une autre machine/système d'exploitation.
Pour exposer l'application Fincore via le serveur Web NGINX, ajoutez le texte suivant dans le fichier nginx.conf sous la section serveur { } : `emplacement ^~ /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;
}`
La connexion par défaut pour le fichier fincore_empty est :
courrier : [email protected]
mot de passe : test
Livre de portefeuilles
Tableau de bord en temps réel
Le tableau de bord affiche les positions actuelles et les performances des investissements en temps réel. Utilisation d'un moteur Websocket haute performance pour mettre à jour les instruments en temps réel.Paramètres
Ajout d'un conseiller dans Metatrader
Pour ajouter un conseiller sur un graphique, faites un clic droit et sélectionnez le modèle d'objectif. FinCore fera tout le reste.Paramètres Metatrader
Expert Advisor interagit avec le serveur d'applications via WebAPI.Conseiller
Le conseiller a un panneau dans le coin supérieur gauche du graphique. Les paramètres du conseiller peuvent être modifiés sur cet écran Gestion des conseillersGestion de plusieurs terminaux/courtiers et conseillers
État de la capitale annuelle
Résumé de l'état de la capitale tout au long de l'annéeStatistiques de trading et gestion des risques
Écran utile pour commerçant/investisseur. Ici, vous pouvez voir quels instruments fonctionnent le mieux et sélectionner vos favoris pour votre prochain échange/investissement.Tarte aux investissements
Observez le gâteau de votre portefeuille d’investissement sur cet écran.Journaux d'applications
Journalisation colorée de tous les terminaux de trading en un seul rouleau de journal. Pas besoin d'ouvrir chaque journal de terminal.Performances de revenus/dépenses par jour/mois
Cet écran très utile montre comment vous gagnez/dépensez de l'argent dans la vie et sur le marché.Historique des transactions
Historique des transactions terminées/fermées.Travaux en arrière-plan
Afficher et contrôler les tâches. Ici, vous pouvez appeler divers emplois de service. Planification des tâches implémentée à l'aide de la bibliothèque Quartz et définie à l'aide d'expressions cron dans la base de données.Gestion des métasymboles
Pour ajouter un nouveau symbole à FinCore, ajoutez un nouveau méta-symbole, puis ajoutez un nouveau symbole sur cet écran. Un conseiller peut alors être créé pour ce symbole.Taux de change en temps réel
Pour mettre à jour les taux de change, ouvrez et connectez votre terminal Metatrader à Fincore et démarrez ExchangeRatesJob dans les tâches en arrière-plan.