mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-13 15:09:42 +00:00
* codebase: Remove web frontend and related services * refactor: Update StartPPROF to accept context and adjust related tests * refactor: Simplify SetIfZero functions and update related tests * config: Clarify DowngradeConfig method documentation regarding permanent removal of deprecated fields * refactor: Rename setIfZeroAndWarn to setDefaultIfZeroWarn for clarity and update related calls * refactor: Update error handling in DataHistoryManager and remove redundant error variable
GoCryptoTrader Backtester: Strategies package
This strategies package is part of the GoCryptoTrader codebase.
This is still in active development
You can track ideas, planned features and what's in progress on our GoCryptoTrader Kanban board.
Join our slack to discuss all things related to GoCryptoTrader! GoCryptoTrader Slack
Strategies package overview
Designing a strategy
- File must contain
mainpackage - Custom strategy plugins must adhere to the strategy.Handler interface. See the strategy.Handler interface documentation for more information.
- Must contain function
func GetStrategies() []strategy.Handlerto return a slice of implementedstrategy.Handler.- If only using one custom strategy, can simply
return []strategy.Handler{&customStrategy{}}.
- If only using one custom strategy, can simply
Building
See here for details on how to build the plugin file.
Running
Plugins can only be loaded via Linux, macOS and WSL. Windows itself is not supported.
To run a strategy you will need to use the following flags when running the GoCryptoTrader Backtester:
./backtester -strategypluginpath="path/to/strategy/example.so"
Upon startup, the GoCryptoTrader Backtester will load the strategy and run it for all events.
Donations
If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
bc1qk0jareu4jytc0cfrhr5wgshsq8282awpavfahc