2 releases

0.1.1 Sep 17, 2024
0.1.0 Sep 3, 2024

#1546 in Procedural macros


Used in discretionary_engine

MIT/Apache

3KB

Discretionary Engine

Minimum Supported Rust Version crates.io docs.rs build status Lines Of Code

Places and follows a position from a definition of what the target position is

Usage

Example query:

discretionary_engine new --size=-0.1 --symbol=ADAUSDT '-f=sar:t5m:s0.07:i0.02:m0.15' '-f=tpsl:t0.4884:s0.5190'

This would open a new position on ADA, where:

  • Side: SELL, as the provided size is negative
  • Size: 10% of the total balance
  • rm_protocol_1: sar indicator, following the price action on 5m timeframe, with starting value 0.07, increase of 0.02, max 0.15
  • rm_protocol_2: static tp and sl, which are set at 0.4884 and 0.5190, respectively

Coverage

Currently only working with Binance.

Configuration

Config is read from ${HOME}/.config/discretionary_engine.toml by default, but can also be specified via --config cli argument.

An example config can be found in ./examples/config.toml

Assumptions

  • strictly one asset per Position. No methods for acquiring several assets at once will ever be introduced.

Current (may change in the future)

  • no two Positions are opened on the same symbol

  • no new Positions on account are opened outside of the engine

  • orders are placed immediately (not that far off, as most of the time we will spam the thing until it accepts, and only other action that will need to be taken is to prevent any increases in exposure while we have any mismatches).


This repository follows my best practices.

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~205–640KB
~15K SLoC