Crypto/stock backtester 
See my other projects: turpin.dev.
Disclaimer
Don't invest what you can't afford to lose. Illustrations are for illustrative purposes only. History is not an indicator of future performance. That said...
Overview
Historic price data are fetched daily via the Marketstack and CryptoCompare APIs, and converted to CSV format using Python; each currency pair is then analysed in C++. Finally, the table below is generated using the trade summary.
Profiling
The C++ code is profiled using gprof
and visualised with gprof2dot
and graphviz
.
Built with ♥ on Thu Oct 9 17:38:48 UTC 2025 by a Ubuntu Questing Quokka (development branch).
Backtests
- 446 currency pairs (from Marketstack, Coinbase, Kraken, Binance)
- 3% take profit
- 6% stop loss
- 68 candles window size
- 0.5 minimum ATR (normalised)
- 4.3 minimum entry price
-0.54% average profit over 31 trades.
Time | Token | Open | Close | Hours | Profit |
---|---|---|---|---|---|
2025-10-08 03:00:00 | Coinbase-LINK-GBP | 16.34 | 16.84 | 20 | 3.1% |
2025-08-19 12:00:00 | Kraken-LINK-GBP | 18.24 | 19.13 | 27 | 4.8% |
2025-08-19 12:00:00 | Coinbase-LINK-EUR | 21.09 | 22.09 | 27 | 4.8% |
2025-08-18 15:00:00 | Binance-AVAX-EUR | 20.27 | 19.85 | 67 | -2.1% |
2025-08-18 15:00:00 | Kraken-AVAX-EUR | 20.22 | 19.88 | 67 | -1.7% |
2025-08-18 15:00:00 | Coinbase-AVAX-EUR | 20.25 | 19.84 | 67 | -2.0% |
2025-08-15 06:00:00 | Kraken-GNO-EUR | 126.24 | 118.42 | 13 | -6.2% |
2025-08-12 06:00:00 | Coinbase-LINK-GBP | 16.00 | 16.63 | 7 | 3.9% |
2025-08-11 20:00:00 | Kraken-LINK-EUR | 18.41 | 19.26 | 17 | 4.6% |
2025-08-06 12:00:00 | Coinbase-SOL-GBP | 123.11 | 126.81 | 19 | 3.0% |
2025-08-06 12:00:00 | Kraken-SOL-EUR | 141.27 | 146.43 | 22 | 3.7% |
2025-08-06 12:00:00 | Coinbase-SOL-EUR | 141.24 | 146.39 | 22 | 3.6% |
2025-08-01 04:00:00 | Kraken-KP3R-EUR | 5.15 | 5.31 | 1 | 3.1% |
2025-07-30 09:00:00 | Kraken-RPL-EUR | 6.32 | 6.52 | 8 | 3.1% |
2025-07-29 11:00:00 | Kraken-UNI-EUR | 8.89 | 8.34 | 57 | -6.2% |
2025-07-29 11:00:00 | Coinbase-UNI-EUR | 8.89 | 8.34 | 57 | -6.2% |
2025-07-29 10:00:00 | Coinbase-AVAX-EUR | 21.43 | 20.03 | 33 | -6.5% |
2025-07-26 21:00:00 | Kraken-KP3R-EUR | 5.16 | 5.38 | 28 | 4.1% |
2025-07-24 15:00:00 | Binance-BNB-EUR | 660.65 | 676.91 | 67 | 2.5% |
2025-07-24 05:00:00 | Binance-BNB-EUR | 647.96 | 667.78 | 43 | 3.1% |
2025-07-22 17:00:00 | Kraken-ICP-EUR | 5.11 | 4.73 | 24 | -7.4% |
2025-07-22 17:00:00 | Kraken-ETH-GBP | 2739.13 | 2768.57 | 67 | 1.1% |
2025-07-22 17:00:00 | Coinbase-ICP-GBP | 4.44 | 4.17 | 21 | -6.1% |
2025-07-22 13:00:00 | Kraken-KSM-EUR | 14.53 | 13.42 | 28 | -7.6% |
2025-07-22 13:00:00 | Binance-EGLD-EUR | 15.06 | 15.55 | 16 | 3.3% |
2025-07-22 13:00:00 | Binance-APT-EUR | 4.51 | 4.69 | 18 | 3.8% |
2025-07-22 04:00:00 | Coinbase-LINK-GBP | 14.34 | 13.41 | 34 | -6.5% |
2025-07-22 04:00:00 | Binance-LINK-EUR | 16.52 | 15.49 | 34 | -6.2% |
2025-07-22 04:00:00 | Kraken-LINK-EUR | 16.48 | 15.48 | 34 | -6.0% |
2025-07-22 04:00:00 | Coinbase-LINK-EUR | 16.52 | 15.49 | 34 | -6.2% |
2025-07-21 10:00:00 | Coinbase-UNI-GBP | 7.75 | 8.10 | 3 | 4.6% |
Benchmarks
---------------------------------------------------------------- Benchmark Time CPU Iterations ---------------------------------------------------------------- BM_is_entry 53060 ns 53056 ns 12992 BM_is_entry2 40555 ns 40554 ns 17402 BM_to_exit 224 ns 224 ns 3143375 BM_to_exit2 222 ns 222 ns 3141838 BM_to_vwap 7546 ns 7546 ns 92821 BM_to_vwap2 7638 ns 7606 ns 92704 BM_is_recent_dip2 893 ns 893 ns 786262 BM_to_atr 60276 ns 60276 ns 11290 BM_to_atr2 2436 ns 2436 ns 285115 BM_to_atr3 2575 ns 2575 ns 276503 BM_to_average_func 0.338 ns 0.338 ns 2023055194 BM_to_average_func2 0.336 ns 0.336 ns 2029099654 BM_to_average_volume 61897 ns 61897 ns 11272 BM_to_average_volume2 1922 ns 1922 ns 371537 BM_to_size 0.512 ns 0.512 ns 1380589982 BM_to_first 0.356 ns 0.356 ns 1992778898 BM_to_last 0.348 ns 0.348 ns 2013132926 BM_to_sum 0.339 ns 0.339 ns 2103021653 BM_to_sum2 0.332 ns 0.332 ns 2018155081 BM_to_spot 0.335 ns 0.335 ns 2115884747 BM_identity 161 ns 161 ns 4372634 BM_identity2 160 ns 160 ns 4374155 BM_to_profit 0.330 ns 0.330 ns 2197827806 BM_to_time 0.342 ns 0.342 ns 2056043166 BM_to_open 0.334 ns 0.334 ns 2117652758 BM_to_high 0.325 ns 0.325 ns 2118830908 BM_to_low 0.333 ns 0.333 ns 2055450360 BM_to_close 0.340 ns 0.340 ns 2122977506 BM_to_volume 0.336 ns 0.336 ns 2117919174