scuriolus 0.1.0

Scuriolus is a modular trading bot platform. It can apply different strategies to various markets, as described below.
Documentation
# Scuriolus

**Scuriolus** is a modular trading bot platform. It can apply different *strategies* to various *markets*, as described below.

## πŸš€ Installation

- Clone the project.
- Copy `.env.example` as `.env` and complete it with your API (facultative, only to use the **Mexc** market)

Once that's done, you can run the tests:

```bash
cargo test --all --features mexc
```

> ℹ️ Note for french users : Mexc.com is blocked in France. Use a VPN to access the API.

## πŸ›  CLI

The command-line interface is still under development. More features will be added soon.

## πŸ“ˆ Market

Markets represent external trading platforms that the bot can interact with.

### Mexc

The **Mexc** market use the [Mexc API](https://mexcdevelop.github.io/apidocs/spot_v3_en/#introduction) for real trading.

### TestWithMexc

**TestWithMexc** uses the [Mexc API](https://mexcdevelop.github.io/apidocs/spot_v3_en/#introduction) to fetch live exchange prices but operates on a local database to emulate trades.

It's designed to simulate and test strategies in a sandboxed environment.

> ⚠️ Currently, fees and volumes are not taken into account.

## 🧠 Strategies

**Strategies** define how the bot operates to maximize gains. You’re encouraged to develop and contribute your own strategies.

### StrictBuy

**StrictBuy** is a simple benchmark strategy. It buys as much as possible at the start and sells everything at once to close.

## 🧩 Core

The **Core**  is responsible for interfacing with a given market's API and tracking all orders placed by the strategies.

It uses an embedded database to persist order data and statuses, and also provides timekeeping utilities.

## πŸ“ Logs

This projet uses the `tracing` crate for logging.

You can configure the log levels using the `RUST_LOG` environment variable:

```bash
RUST_LOG="debug,mexc_rs=trace,hyper=info,surrealdb=warn,rocksdb=warn" cargo run
```

## πŸ“Š Performance

To test a strategy's performance, refer to the example in `src/bin/perfo.rs`. Run it with:

```bash
cargo run --bin perfo
```

## πŸ“„ License

This project is licensed under the terms of the [Apache License 2.0](./LICENSE).