Files
gocryptotrader/cmd/documentation/backtester_templates/backtester_plugins_strategies_readme.tmpl
Scott 10f7ff3236 backtester: custom strategy plugins (#989)
* Adds custom strategy

* docs and structure

* docs

* rn

* Documents plugins, adds custom strat config

* mini fixes. Fleshes strategy test

* docgen

* Updates plugins to allow for multiple strategies to be loaded

* docs

* docs regen

* fix doc accuracy

* why did I add the word custom?
2022-08-23 14:22:06 +10:00

30 lines
1.2 KiB
Cheetah

{{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}}