This is a complete cryptocurrency backtesting platform that I developed as my final thesis project for University of West Attica.
- .Net Core API backend
- WinForms based frontend that communicates with the backend
- CryptoCore: a library that is used in both the backend and the frontend to provide the same core functionality to both applications
- C# strategy scripting
- Script editor with C# syntax highlighting
- Live compile-time script error checking
- Add indicators directly to the chart
- Market prices and candlestick data directly from Binance
- Ability to choose any candlestick interval (5 min, 15 min, 2 hours, etc)
- Visual representation of buys and sells on the chart
- CS-Script (for C# code execution)
- DevExpress components (used on the frontend)
- SQLite (caches candlestick data)
- TA-Lib (technical indicators)
- FastColoredTextBox (script editor component)
- RestSharp (HTTP requests to communicate with the backend)
- Newtonsoft Json (json parser)
To compile and run, after restoring all packages from nuget, set default Binance API Key and Secret in CryptoCore.Classes.Globals.DEFAULT_BINANCE_KEY
and CryptoCore.Classes.Globals.DEFAULT_BINANCE_SECRET
.
Default user login is:
User: admin
Pass: 123
First you run CryptoAPI server (the easiest way is dotnet CryptoAPI.dll
) and afterwards you run CryptoFront.exe
, which is the frontend.