indicator

package
v1.16.3 Latest Latest
Warning

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

Go to latest
Published: May 28, 2021 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const DPeriod int = 3

Variables

This section is empty.

Functions

func CalculateKLinesEMA

func CalculateKLinesEMA(allKLines []types.KLine, priceF KLinePriceMapper, window int) float64

func KLineClosePriceMapper

func KLineClosePriceMapper(k types.KLine) float64

func KLineOpenPriceMapper

func KLineOpenPriceMapper(k types.KLine) float64

func KLineTypicalPriceMapper

func KLineTypicalPriceMapper(k types.KLine) float64

func MapKLinePrice

func MapKLinePrice(kLines []types.KLine, f KLinePriceMapper) (prices []float64)

Types

type AD struct {
	types.IntervalWindow
	Values   types.Float64Slice
	PrePrice float64

	EndTime         time.Time
	UpdateCallbacks []func(value float64)
}

ad implements accumulation/distribution indicator

Accumulation/Distribution Indicator (A/D) - https://www.investopedia.com/terms/a/accumulationdistribution.asp

func (*AD) Bind

func (inc *AD) Bind(updater KLineWindowUpdater)

func (*AD) EmitUpdate

func (inc *AD) EmitUpdate(value float64)

func (*AD) Last

func (inc *AD) Last() float64

func (*AD) OnUpdate

func (inc *AD) OnUpdate(cb func(value float64))

type BOLL

type BOLL struct {
	types.IntervalWindow

	// times of Std, generally it's 2
	K float64

	SMA      types.Float64Slice
	StdDev   types.Float64Slice
	UpBand   types.Float64Slice
	DownBand types.Float64Slice

	EndTime time.Time
	// contains filtered or unexported fields
}

func (*BOLL) Bind

func (inc *BOLL) Bind(updater KLineWindowUpdater)

func (*BOLL) EmitUpdate

func (inc *BOLL) EmitUpdate(sma float64, upBand float64, downBand float64)

func (*BOLL) LastDownBand

func (inc *BOLL) LastDownBand() float64

func (*BOLL) LastSMA

func (inc *BOLL) LastSMA() float64

func (*BOLL) LastStdDev

func (inc *BOLL) LastStdDev() float64

func (*BOLL) LastUpBand

func (inc *BOLL) LastUpBand() float64

func (*BOLL) OnUpdate

func (inc *BOLL) OnUpdate(cb func(sma float64, upBand float64, downBand float64))

type EWMA

type EWMA struct {
	types.IntervalWindow
	Values       types.Float64Slice
	LastOpenTime time.Time

	UpdateCallbacks []func(value float64)
}

func (*EWMA) Bind

func (inc *EWMA) Bind(updater KLineWindowUpdater)

func (*EWMA) EmitUpdate

func (inc *EWMA) EmitUpdate(value float64)

func (*EWMA) Last

func (inc *EWMA) Last() float64

func (*EWMA) OnUpdate

func (inc *EWMA) OnUpdate(cb func(value float64))

func (*EWMA) Update

func (inc *EWMA) Update(value float64)

type KLinePriceMapper

type KLinePriceMapper func(k types.KLine) float64

type KLineWindowUpdater

type KLineWindowUpdater interface {
	OnKLineWindowUpdate(func(interval types.Interval, window types.KLineWindow))
}

type MACD

type MACD struct {
	types.IntervalWindow     // 9
	ShortPeriod          int // 12
	LongPeriod           int // 26
	Values               types.Float64Slice
	FastEWMA             EWMA
	SlowEWMA             EWMA
	SignalLine           EWMA
	Histogram            types.Float64Slice

	EndTime time.Time

	UpdateCallbacks []func(value float64)
}

func (*MACD) Bind

func (inc *MACD) Bind(updater KLineWindowUpdater)

func (*MACD) EmitUpdate

func (inc *MACD) EmitUpdate(value float64)

func (*MACD) OnUpdate

func (inc *MACD) OnUpdate(cb func(value float64))

type OBV

type OBV struct {
	types.IntervalWindow
	Values   types.Float64Slice
	PrePrice float64

	EndTime         time.Time
	UpdateCallbacks []func(value float64)
}

obv implements on-balance volume indicator

On-Balance Volume (OBV) Definition - https://www.investopedia.com/terms/o/onbalancevolume.asp

func (*OBV) Bind

func (inc *OBV) Bind(updater KLineWindowUpdater)

func (*OBV) EmitUpdate

func (inc *OBV) EmitUpdate(value float64)

func (*OBV) Last

func (inc *OBV) Last() float64

func (*OBV) OnUpdate

func (inc *OBV) OnUpdate(cb func(value float64))

type SMA

type SMA struct {
	types.IntervalWindow
	Values  types.Float64Slice
	EndTime time.Time

	UpdateCallbacks []func(value float64)
}

func (*SMA) Bind

func (inc *SMA) Bind(updater KLineWindowUpdater)

func (*SMA) EmitUpdate

func (inc *SMA) EmitUpdate(value float64)

func (*SMA) Last

func (inc *SMA) Last() float64

func (*SMA) OnUpdate

func (inc *SMA) OnUpdate(cb func(value float64))

type STOCH

type STOCH struct {
	types.IntervalWindow
	K types.Float64Slice
	D types.Float64Slice

	KLineWindow types.KLineWindow

	EndTime         time.Time
	UpdateCallbacks []func(k float64, d float64)
}

stoch implements stochastic oscillator indicator

Stochastic Oscillator - https://www.investopedia.com/terms/s/stochasticoscillator.asp

func (*STOCH) Bind

func (inc *STOCH) Bind(updater KLineWindowUpdater)

func (*STOCH) EmitUpdate

func (inc *STOCH) EmitUpdate(k float64, d float64)

func (*STOCH) LastD

func (inc *STOCH) LastD() float64

func (*STOCH) LastK

func (inc *STOCH) LastK() float64

func (*STOCH) OnUpdate

func (inc *STOCH) OnUpdate(cb func(k float64, d float64))

type VWAP

type VWAP struct {
	types.IntervalWindow
	Values      types.Float64Slice
	WeightedSum float64
	VolumeSum   float64
	EndTime     time.Time

	UpdateCallbacks []func(value float64)
}

vwap implements the volume weighted average price (VWAP) indicator:

Volume Weighted Average Price (VWAP) Definition - https://www.investopedia.com/terms/v/vwap.asp

Volume-Weighted Average Price (VWAP) Explained - https://academy.binance.com/en/articles/volume-weighted-average-price-vwap-explained

func (*VWAP) Bind

func (inc *VWAP) Bind(updater KLineWindowUpdater)

func (*VWAP) EmitUpdate

func (V *VWAP) EmitUpdate(value float64)

func (*VWAP) OnUpdate

func (V *VWAP) OnUpdate(cb func(value float64))

Jump to

Keyboard shortcuts

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