Este proyecto es un resumen de mi experiencia trabajando como desarrollador y líder de equipo para varias instituciones financieras (bancos y corredores de FOREX) y comerciantes individuales. Hice la aplicación lo más simple posible para usarla en cosas tan complejas como las finanzas.
El programa se adapta a cualquiera.
Al utilizar esta aplicación, uno puede crecer en las 3 direcciones: con el uso constante, uno puede convertirse en un consumidor/comerciante mejor e inteligente, luego en un mejor comerciante y, finalmente, en un inversor inteligente. Estas pantallas mostrarán y rastrearán en el tiempo su desempeño y relaciones personales con las finanzas. Estado capital anual y desempeño de ingresos/gastos por día/mes.
Esta versión es gratuita, pero si desea una versión mejor y segura, puede escribirme a [email protected]. Podemos hablar sobre mejoras/instalación/soporte y acordar $.
Aplicación. Vaya a la carpeta FinCore/ClientApp Ejecute: npm install
Para ejecutar la depuración de la interfaz de usuario: npm run start
y use la URL http://127.0.0.1:4200 para ejecutar la versión de depuración de la interfaz de usuario
Compile la aplicación completa Para compilar como un servicio de Windows o una aplicación de consola: Ejecute desde la línea de comandos: build.bat
Para compilar como una imagen de Docker: Ejecute: docker.sh
Si no puede compilar o no desea compilar en su máquina, existe una opción para obtener la imagen de la ventana acoplable desde mi Docker Hub. Ejecute estos comandos:
git clone https://github.com/sergiovision/FinCore.git
docker pull dockersergio/fincore:latest
docker-compose up
Para que la compilación sea exitosa, se deben instalar las siguientes aplicaciones: Visual Studio 2019, herramientas de compilación de Visual Studio 2019, NPM más reciente de http://nodejs.org. Es necesario instalar aplicaciones para ejecutar el servidor correctamente:
Base de datos SQLite ubicada en la carpeta /DB
. De forma predeterminada se utiliza el archivo SQLite DB, pero también se admite MySQL, puede cambiar a MySQL en el archivo /FinCore/appSettings.json
.
Para configurar las claves Api de configuración del módulo criptográfico para proveedores de KuCoin y/o FTX:
Para el intercambio de KuCoin, establezca las siguientes propiedades en /FinCore/appSettings.json
: KuCoinAPIKey
- Clave de API principal de KuCoin KuCoinAPISecret
- Secreto de API KuCoinPassPhrase
- Frase de contraseña
KuCoinFutureAPIKey
- Clave API de futuros de KuCoin KuCoinFutureAPISecret
- Secreto de API KuCoinFuturePassPhrase
- Frase de pase de futuros
Para FTX Exchange: FTXAPIKey
- Clave API de FTX FTXAPISecret
- Secreto de API de FTX
Abra el archivo fincore_empty.sqlite
en cualquier editor de base de datos que funcione con SQLite (como Navicat).
Abra la pantalla de Configuración y establezca las siguientes variables
XTrade.TerminalUser
: debe configurarse con el nombre de inicio de sesión del usuario de Windows donde se ejecutarán las terminales comerciales
XTrade.InstallDir
: carpeta de instalación de XTrade.
Metatrader.CommonFiles
: ruta a la carpeta de archivos comunes MT5
MQL.Sources
: ruta a la carpeta MQL donde se almacenan sus robots MQL
Para instalar la aplicación en el modo de servicio de Windows, cree el proyecto en Windows, vaya a la carpeta bin y ejecute el comando (con privilegios de administrador): FinCore.exe install
Si tiene problemas para ejecutar, consulte FinCore.MainServer.log
para ver los errores.
Estructura de carpetas de FinCore:
/BusinessLogic - lógica de la aplicación principal
/BusinessObjects: objetos comerciales compartidos
/FinCore: servidor principal autohospedado y controladores WebAPI
/ClientApp - Aplicación cliente angular
/MQL5: ejecutables de MQL5 que deben instalarse en Metatrader para poder sincronizarse y trabajar con Metatrader.
Acerca de FinCore
Panel en tiempo real
Libro de carteras
Integración de metatrader
Gestión de Múltiples Terminales/Brokers y Asesores
Gestión de metasímbolos
Tipos de cambio en tiempo real
Estadísticas comerciales y gestión de riesgos.
Historial de ofertas
Registros de aplicaciones
Pastel de inversiones
Trabajos en segundo plano
Rendimiento de ingresos/gastos por día/mes
Estado capital anual
Cuando se inicia la aplicación, se puede acceder a ella mediante este enlace: http://localhost:2020/#/login o http://localhost:2020/#/dashboard
El puerto de Websockets utiliza el puerto 2021
. Asegúrese de que los puertos 2020
y 2021
estén abiertos para que FinCore sea accesible fuera de VPS. Si ejecuta la aplicación en la ventana acoplable en una dirección separada para conectarla a Windows donde se encuentran los terminales Metatrader, debe activar el reenvío de puertos en Windows:
Ejecute este comando en la línea de comando de 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'
Después de eso, todos los expertos en Metatrader podrán sincronizar con la aplicación FinCore que se ejecuta en Docker o en otra máquina/sistema operativo.
Para exponer la aplicación Fincore a través del servidor web NGINX, agregue el siguiente texto en el archivo nginx.conf en la sección del servidor {}: `ubicación ^~ /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;
}`
El inicio de sesión predeterminado para el archivo fincore_empty es:
correo: [email protected]
contraseña: test
Libro de carteras
Panel en tiempo real
El panel muestra las posiciones actuales y el rendimiento de las inversiones en tiempo real. Se utilizó un motor websocket de alto rendimiento para actualizar los instrumentos en tiempo real.Ajustes
Agregar asesor en Metatrader
Para agregar Asesor en un gráfico, simplemente haga clic derecho y seleccione Plantilla de objetivo. FinCore hará el resto.Configuración de metacomerciante
El Asesor Experto interactúa con el servidor de aplicaciones a través de WebAPI.Asesor
Adviser tiene un panel en la esquina superior izquierda del gráfico. La configuración del asesor se puede editar en esta pantalla Gestión de asesoresGestión de Múltiples Terminales/Brokers y Asesores
Estado capital anual
Resumen Estado capital a lo largo del añoEstadísticas comerciales y gestión de riesgos.
Pantalla útil para comerciante/inversor. Aquí puede ver qué instrumentos funcionan mejor y seleccionar sus favoritos para su próxima operación/inversión.Pastel de inversiones
Observe el pastel de su cartera de inversiones en esta pantalla.Registros de aplicaciones
Registro colorido de todas las terminales comerciales en un solo rollo de registro. No es necesario abrir el registro de cada terminal.Rendimiento de ingresos/gastos por día/mes
Esta pantalla muy útil muestra cómo gana/gasta dinero en la vida y en el mercado.Historial de ofertas
Historial de operaciones completadas/cerradas.Trabajos en segundo plano
Ver y controlar trabajos. Aquí puede llamar a varios trabajos de servicio. Programación de trabajos implementada usando la biblioteca Quartz y configurada usando expresiones cron en DB.Gestión de metasímbolos
Para agregar un nuevo símbolo a FinCore, agregue un nuevo MetaSymbol y luego agregue un nuevo símbolo en esta pantalla. Luego se puede crear un Asesor para este símbolo.Tipos de cambio en tiempo real
Para actualizar los tipos de cambio, abra y conecte su terminal Metatrader con Fincore e inicie ExhangeRatesJob en trabajos en segundo plano.