This plugins package is part of the GoCryptoTrader codebase.
You can track ideas, planned features and what's in progress on this Trello board: https://trello.com/b/ZAhMhpOy/gocryptotrader.
Join our slack to discuss all things related to GoCryptoTrader! GoCryptoTrader Slack
Golang Plugins are supported by the GoCryptoTrader Backtester. At present, only custom strategies are supported.
Please read the Golang documentation on plugins for more information.
Plugin support is not yet available for Windows. However, you can still build via WSL. See below for instructions on a basic setup for WSL. Once completed, follow the instructions for Linux.
The following is a basic setup for WSL: here
A plugin is a Go main package with exported functions and variables that has been built with:
go build -buildmode=plugin
This outputs a file named plugins.so
which can be loaded by the backtester. At present, only custom strategies can be loaded. See here for more information on building custom strategies via plugins.
You must ensure that the plugin is built with the same version of code as the GoCryptoTrader Backtester. Otherwise the plugin will refuse to load.
See the following for instructions on installing Golang in WSL: here
Please feel free to submit any pull requests or suggest any desired features to be added.
When submitting a PR, please abide by our coding guidelines:
- Code must adhere to the official Go formatting guidelines (i.e. uses gofmt).
- Code must be documented adhering to the official Go commentary guidelines.
- Code must adhere to our coding style.
- Pull requests need to be based on and opened against the
master
branch.
If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
bc1qk0jareu4jytc0cfrhr5wgshsq8282awpavfahc