Files
gocryptotrader/backtester/plugins/strategies
Adrian Gallagher bb122dcafa codebase: Remove web frontend and related services (#2067)
* 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
2025-09-30 13:32:09 +10:00
..

GoCryptoTrader Backtester: Strategies package

Build Status Software License GoDoc Coverage Status Go Report Card

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 main package
  • 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.Handler to return a slice of implemented strategy.Handler.
    • If only using one custom strategy, can simply return []strategy.Handler{&customStrategy{}}.

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