top2bottom2

package
v0.0.0-...-c17c338 Latest Latest
Warning

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

Go to latest
Published: Nov 20, 2021 License: MIT Imports: 14 Imported by: 0

README

GoCryptoTrader Backtester: Top2bottom2 package

Build Status Software License GoDoc Coverage Status Go Report Card

This top2bottom2 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

Top 2 Bottom 2 package overview

The Top 2 Bottom 2 (T2B2) strategy utilises the gct-ta MFI package to analyse market signals and selects the top and bottom two currencies based on MFI value. It is a basic example strategy to highlight how the backtester can perform more complex data event signal processing

This strategy requires at least 4 exchange currency settings to determine the 4 signals to process This strategy requires SimultaneousSignalProcessing aka use-simultaneous-signal-processing. This strategy does support strategy customisation in the following ways:

Field Description Example
mfi-high The upper bounds of MFI that when met, will trigger a Sell signal 70
mfi-low The lower bounds of MFI that when met, will trigger a Buy signal 30
mfi-period The consecutive candle periods used in order to generate a value. All values less than this number cannot output a buy or sell signal 14
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

View Source
const (
	// Name is the strategy name
	Name = "top2bottom2"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Strategy

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

Strategy is an implementation of the Handler interface

func (*Strategy) Description

func (s *Strategy) Description() string

Description provides a nice overview of the strategy be it definition of terms or to highlight its purpose

func (*Strategy) Name

func (s *Strategy) Name() string

Name returns the name of the strategy

func (*Strategy) OnSignal

OnSignal handles a data event and returns what action the strategy believes should occur however,this complex strategy cannot function on an individual basis

func (*Strategy) OnSimultaneousSignals

func (s *Strategy) OnSimultaneousSignals(d []data.Handler, f funding.IFundTransferer, _ portfolio.Handler) ([]signal.Event, error)

OnSimultaneousSignals analyses multiple data points simultaneously, allowing flexibility in allowing a strategy to only place an order for X currency if Y currency's price is Z

func (*Strategy) SetCustomSettings

func (s *Strategy) SetCustomSettings(customSettings map[string]interface{}) error

SetCustomSettings allows a user to modify the MFI limits in their config

func (*Strategy) SetDefaults

func (s *Strategy) SetDefaults()

SetDefaults sets the custom settings to their default values

func (*Strategy) SupportsSimultaneousProcessing

func (s *Strategy) SupportsSimultaneousProcessing() bool

SupportsSimultaneousProcessing highlights whether the strategy can handle multiple currency calculation There is nothing actually stopping this strategy from considering multiple currencies at once but for demonstration purposes, this strategy does not

Jump to

Keyboard shortcuts

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