Files
gocryptotrader/cmd/documentation/backtester_templates/backtester_plugins_readme.tmpl
Adrian Gallagher ba92ba3254 docs: Add CODING_GUIDELINES.md and other adjustments (#1988)
* docs: Create new CODING_GUIDELINES doc

Rids excess contribution instructions from other packages
Adds AGENTS.md file for the AI overlords
Rids unused templates
Updates ADD_NEW_EXCHANGE.md with minor fixes

* docs: Fix linter issues and minor adjustments based on Copilot feedback

* docs: Update coding guidelines for API parameters and testing practices

* docs: Remove redundant GoDoc references

Adds copilot-instructions.md

* docs: Update CODING_GUIDELINES with export recommendations and test commentary

* docs: Fix formatting inconsistencies in ADD_NEW_EXCHANGE.md links

* docs: Update struct naming conventions for request and response types

* docs: Improve clarity and consistency in ADD_NEW_EXCHANGE.md and CODING_GUIDELINES.md

* refactor: Simplify error handling in QueryOrder method
2025-08-08 12:10:53 +10:00

31 lines
1.4 KiB
Cheetah

{{define "backtester plugins" -}}
{{template "backtester-header" .}}
## {{.CapitalName}} 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 `{{.Name}}.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/)
{{template "donations" .}}
{{end}}