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
55 lines
2.9 KiB
Markdown
55 lines
2.9 KiB
Markdown
# GoCryptoTrader Backtester: Plugins package
|
|
|
|
<img src="/backtester/common/backtester.png?raw=true" width="350px" height="350px" hspace="70">
|
|
|
|
|
|
[](https://github.com/thrasher-corp/gocryptotrader/actions/workflows/tests.yml)
|
|
[](https://github.com/thrasher-corp/gocryptotrader/blob/master/LICENSE)
|
|
[](https://godoc.org/github.com/thrasher-corp/gocryptotrader/backtester/plugins)
|
|
[](https://codecov.io/gh/thrasher-corp/gocryptotrader)
|
|
[](https://goreportcard.com/report/github.com/thrasher-corp/gocryptotrader)
|
|
|
|
|
|
This plugins 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](https://github.com/orgs/thrasher-corp/projects/3).
|
|
|
|
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://join.slack.com/t/gocryptotrader/shared_invite/zt-38z8abs3l-gH8AAOk8XND6DP5NfCiG_g)
|
|
|
|
## Plugins package overview
|
|
|
|
Golang Plugins are supported by the GoCryptoTrader Backtester. At present, only custom strategies are supported.
|
|
|
|
Please read the Golang documentation on [plugins](https://golang.org/pkg/plugin/) for more information.
|
|
|
|
## Building Golang Plugins
|
|
|
|
### Windows
|
|
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.
|
|
#### WSL Setup
|
|
The following is a basic setup for WSL: [here](https://pureinfotech.com/install-wsl-windows-11/)
|
|
|
|
### Linux, macOS & WSL
|
|
A plugin is a Go main package with exported functions and variables that has been built with:
|
|
|
|
```bash
|
|
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](/strategies/example/README.md) 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.
|
|
|
|
#### Installing Golang in WSL
|
|
See the following for instructions on installing Golang in WSL: [here](https://ao.ms/how-to-install-golang-on-wsl-wsl2/)
|
|
|
|
## Donations
|
|
|
|
<img src="/docs/assets/donate.png" hspace="70">
|
|
|
|
If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
|
|
|
|
***bc1qk0jareu4jytc0cfrhr5wgshsq8282awpavfahc***
|