{{define "backtester plugins strategies" -}}
{{template "backtester-header" .}}
## {{.CapitalName}} 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](./backtester/eventhandlers/strategies/README.md) 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](./backtester/plugins/README.md) 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:

```bash
./backtester -strategypluginpath="path/to/strategy/example.so"
```

Upon startup, the GoCryptoTrader Backtester will load the strategy and run it for all events.


### Please click GoDocs chevron above to view current GoDoc information for this package
{{template "contributions"}}
{{template "donations" .}}
{{end}}