base

package
v1.0.16 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 31, 2024 License: MIT Imports: 6 Imported by: 0

README

GoCryptoTrader Backtester: Base package

Build Status Software License GoDoc Coverage Status Go Report Card

This base 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 this Trello board: https://trello.com/b/ZAhMhpOy/gocryptotrader.

Join our slack to discuss all things related to GoCryptoTrader! GoCryptoTrader Slack

Base package overview

The strategy base file has basic implementations of the strategies.Handler interface. Add any functions that can be used across all strategies here.

Please click GoDocs chevron above to view current GoDoc information for this package

Contribution

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.

Donations

If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:

bc1qk0jareu4jytc0cfrhr5wgshsq8282awpavfahc

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrCustomSettingsUnsupported used when custom settings are found in the strategy config when they shouldn't be
	ErrCustomSettingsUnsupported = errors.New("custom settings not supported")
	// ErrSimultaneousProcessingNotSupported used when strategy does not support simultaneous processing
	// but strategy config is set to use it
	ErrSimultaneousProcessingNotSupported = errors.New("does not support simultaneous processing and could not be loaded")
	// ErrSimultaneousProcessingOnly is raised when a strategy is improperly configured
	ErrSimultaneousProcessingOnly = errors.New("this strategy only supports simultaneous processing")
	// ErrStrategyNotFound used when strategy specified in strategy config does not exist
	ErrStrategyNotFound = errors.New("not found. Please ensure the strategy-settings field 'name' is spelled properly in your .strat config") //nolint:misspell // its shorthand for strategy
	// ErrInvalidCustomSettings used when bad custom settings are found in the strategy config
	ErrInvalidCustomSettings = errors.New("invalid custom settings in config")
	// ErrTooMuchBadData used when there is too much missing data
	ErrTooMuchBadData = errors.New("backtesting cannot continue as there is too much invalid data. Please review your dataset")
	// ErrNoDataToProcess is returned when simultaneous signal processing is enabled, but no events are passed in
	ErrNoDataToProcess = errors.New("no kline data to process")
)

Functions

This section is empty.

Types

type Strategy

type Strategy struct {
	// contains filtered or unexported fields
}

Strategy is base implementation of the Handler interface

func (*Strategy) CloseAllPositions

func (s *Strategy) CloseAllPositions([]holdings.Holding, []data.Event) ([]signal.Event, error)

CloseAllPositions sends a closing signal to supported strategies, allowing them to sell off any positions held default use-case is for when a user closes the application when running a live strategy

func (*Strategy) GetBaseData

func (s *Strategy) GetBaseData(d data.Handler) (signal.Signal, error)

GetBaseData returns the non-interface version of the Handler

func (*Strategy) SetSimultaneousProcessing

func (s *Strategy) SetSimultaneousProcessing(b bool)

SetSimultaneousProcessing sets whether multiple currencies can be assessed in one go

func (*Strategy) UsingSimultaneousProcessing

func (s *Strategy) UsingSimultaneousProcessing() bool

UsingSimultaneousProcessing returns whether multiple currencies can be assessed in one go

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL