Documentation ¶
Index ¶
- Constants
- func CalculateKLinesEMA(allKLines []types.KLine, priceF KLineValueMapper, window int) float64
- func KLineClosePriceMapper(k types.KLine) float64
- func KLineHighPriceMapper(k types.KLine) float64
- func KLineLowPriceMapper(k types.KLine) float64
- func KLineOpenPriceMapper(k types.KLine) float64
- func KLinePriceVolumeMapper(k types.KLine) float64
- func KLineTypicalPriceMapper(k types.KLine) float64
- func KLineVolumeMapper(k types.KLine) float64
- func MapKLinePrice(kLines []types.KLine, f KLineValueMapper) (prices []float64)
- type AD
- type ALMA
- type ATR
- func (inc *ATR) Clone() *ATR
- func (inc *ATR) EmitUpdate(value float64)
- func (inc *ATR) Index(i int) float64
- func (inc *ATR) Last(i int) float64
- func (inc *ATR) Length() int
- func (inc *ATR) OnUpdate(cb func(value float64))
- func (inc *ATR) PushK(k types.KLine)
- func (inc *ATR) TestUpdate(high, low, cloze float64) *ATR
- func (inc *ATR) Update(high, low, cloze float64)
- type ATRP
- func (inc *ATRP) Bind(updater KLineWindowUpdater)
- func (inc *ATRP) CalculateAndUpdate(kLines []types.KLine)
- func (inc *ATRP) EmitUpdate(value float64)
- func (inc *ATRP) Index(i int) float64
- func (inc *ATRP) Last(i int) float64
- func (inc *ATRP) Length() int
- func (inc *ATRP) OnUpdate(cb func(value float64))
- func (inc *ATRP) PushK(k types.KLine)
- func (inc *ATRP) Update(high, low, cloze float64)
- type ATRPStream
- type ATRStream
- type BOLL
- func (inc *BOLL) Bind(updater KLineWindowUpdater)
- func (inc *BOLL) BindK(target KLineClosedEmitter, symbol string, interval types.Interval)
- func (inc *BOLL) CalculateAndUpdate(allKLines []types.KLine)
- func (inc *BOLL) EmitUpdate(sma float64, upBand float64, downBand float64)
- func (inc *BOLL) GetDownBand() types.SeriesExtend
- func (inc *BOLL) GetSMA() types.SeriesExtend
- func (inc *BOLL) GetStdDev() types.SeriesExtend
- func (inc *BOLL) GetUpBand() types.SeriesExtend
- func (inc *BOLL) LastDownBand() float64
- func (inc *BOLL) LastUpBand() float64
- func (inc *BOLL) LoadK(allKLines []types.KLine)
- func (inc *BOLL) OnUpdate(cb func(sma float64, upBand float64, downBand float64))
- func (inc *BOLL) PushK(k types.KLine)
- func (inc *BOLL) Update(value float64)
- type BOLLStream
- type BandType
- type CA
- func (inc *CA) CalculateAndUpdate(allKLines []types.KLine)
- func (inc *CA) EmitUpdate(value float64)
- func (inc *CA) Index(i int) float64
- func (inc *CA) Last(i int) float64
- func (inc *CA) Length() int
- func (inc *CA) OnUpdate(cb func(value float64))
- func (inc *CA) PushK(k types.KLine)
- func (inc *CA) Update(x float64)
- type CCI
- func (inc *CCI) CalculateAndUpdate(allKLines []types.KLine)
- func (inc *CCI) EmitUpdate(value float64)
- func (inc *CCI) Index(i int) float64
- func (inc *CCI) Last(i int) float64
- func (inc *CCI) Length() int
- func (inc *CCI) OnUpdate(cb func(value float64))
- func (inc *CCI) PushK(k types.KLine)
- func (inc *CCI) Update(value float64)
- type CMAStream
- type CrossStream
- type CrossType
- type DEMA
- func (inc *DEMA) Bind(updater KLineWindowUpdater)
- func (inc *DEMA) CalculateAndUpdate(allKLines []types.KLine)
- func (inc *DEMA) Clone() *DEMA
- func (inc *DEMA) EmitUpdate(value float64)
- func (inc *DEMA) Index(i int) float64
- func (inc *DEMA) Last(i int) float64
- func (inc *DEMA) Length() int
- func (inc *DEMA) OnUpdate(cb func(value float64))
- func (inc *DEMA) PushK(k types.KLine)
- func (inc *DEMA) TestUpdate(value float64) *DEMA
- func (inc *DEMA) Update(value float64)
- type DMI
- func (inc *DMI) CalculateAndUpdate(allKLines []types.KLine)
- func (inc *DMI) EmitUpdate(diplus float64, diminus float64, adx float64)
- func (inc *DMI) GetADX() types.SeriesExtend
- func (inc *DMI) GetDIMinus() types.SeriesExtend
- func (inc *DMI) GetDIPlus() types.SeriesExtend
- func (inc *DMI) Length() int
- func (inc *DMI) OnUpdate(cb func(diplus float64, diminus float64, adx float64))
- func (inc *DMI) PushK(k types.KLine)
- func (inc *DMI) Update(high, low, cloze float64)
- type Drift
- func (inc *Drift) Bind(updater KLineWindowUpdater)
- func (inc *Drift) CalculateAndUpdate(allKLines []types.KLine)
- func (inc *Drift) Clone() (out *Drift)
- func (inc *Drift) EmitUpdate(value float64)
- func (inc *Drift) Index(i int) float64
- func (inc *Drift) Last(i int) float64
- func (inc *Drift) Length() int
- func (inc *Drift) OnUpdate(cb func(value float64))
- func (inc *Drift) PushK(k types.KLine)
- func (inc *Drift) TestUpdate(value float64) *Drift
- func (inc *Drift) Update(value float64)
- func (inc *Drift) ZeroPoint() float64
- type EMV
- type EWMA
- func (inc *EWMA) Clone() *EWMA
- func (inc *EWMA) EmitUpdate(value float64)
- func (inc *EWMA) Index(i int) float64
- func (inc *EWMA) Last(i int) float64
- func (inc *EWMA) Length() int
- func (inc *EWMA) OnUpdate(cb func(value float64))
- func (inc *EWMA) PushK(k types.KLine)
- func (inc *EWMA) TestUpdate(value float64) *EWMA
- func (inc *EWMA) Update(value float64)
- type EWMAStream
- type FisherTransform
- func (inc *FisherTransform) Clone() types.UpdatableSeriesExtend
- func (inc *FisherTransform) EmitUpdate(value float64)
- func (inc *FisherTransform) Index(i int) float64
- func (inc *FisherTransform) Last(i int) float64
- func (inc *FisherTransform) Length() int
- func (inc *FisherTransform) OnUpdate(cb func(value float64))
- func (inc *FisherTransform) Update(value float64)
- type Float64Calculator
- type Float64Series
- func (f *Float64Series) Bind(source Float64Source, target Float64Calculator)
- func (f *Float64Series) Index(i int) float64
- func (f *Float64Series) Last(i int) float64
- func (f *Float64Series) Length() int
- func (f *Float64Series) PushAndEmit(x float64)
- func (f *Float64Series) Slice() floats.Slice
- func (f *Float64Series) Subscribe(source Float64Source, c func(x float64))
- type Float64Source
- type Float64Subscription
- type Float64Truncator
- type Float64Updater
- type GHFilter
- func (inc *GHFilter) EmitUpdate(value float64)
- func (inc *GHFilter) Index(i int) float64
- func (inc *GHFilter) Last(i int) float64
- func (inc *GHFilter) Length() int
- func (inc *GHFilter) OnUpdate(cb func(value float64))
- func (inc *GHFilter) PushK(k types.KLine)
- func (inc *GHFilter) Update(value float64)
- type GMA
- func (inc *GMA) BindK(target KLineClosedEmitter, symbol string, interval types.Interval)
- func (inc *GMA) Clone() (out *GMA)
- func (inc *GMA) EmitUpdate(value float64)
- func (inc *GMA) Index(i int) float64
- func (inc *GMA) Last(i int) float64
- func (inc *GMA) Length() int
- func (inc *GMA) LoadK(allKLines []types.KLine)
- func (inc *GMA) OnUpdate(cb func(value float64))
- func (inc *GMA) PushK(k types.KLine)
- func (inc *GMA) TestUpdate(value float64) *GMA
- func (inc *GMA) Update(value float64)
- type HULL
- type KLineCalculateUpdater
- type KLineClosedBinder
- type KLineClosedEmitter
- type KLinePusher
- type KLineStream
- type KLineSubscription
- type KLineValueMapper
- type KLineWindowUpdater
- type KalmanFilter
- func (inc *KalmanFilter) EmitUpdate(value float64)
- func (inc *KalmanFilter) Index(i int) float64
- func (inc *KalmanFilter) Last(i int) float64
- func (inc *KalmanFilter) Length() int
- func (inc *KalmanFilter) OnUpdate(cb func(value float64))
- func (inc *KalmanFilter) PushK(k types.KLine)
- func (inc *KalmanFilter) Update(value float64)
- type KlingerOscillator
- func (inc *KlingerOscillator) BindK(target KLineClosedEmitter, symbol string, interval types.Interval)
- func (inc *KlingerOscillator) EmitUpdate(value float64)
- func (inc *KlingerOscillator) Last(i int) float64
- func (inc *KlingerOscillator) Length() int
- func (inc *KlingerOscillator) OnUpdate(cb func(value float64))
- func (inc *KlingerOscillator) PushK(k types.KLine)
- func (inc *KlingerOscillator) Update(high, low, cloze, volume float64)
- type LinReg
- func (lr *LinReg) BindK(target KLineClosedEmitter, symbol string, interval types.Interval)
- func (lr *LinReg) EmitUpdate(value float64)
- func (lr *LinReg) Index(i int) float64
- func (lr *LinReg) IndexRatio(i int) float64
- func (lr *LinReg) Last(i int) float64
- func (lr *LinReg) LastRatio() float64
- func (lr *LinReg) Length() int
- func (lr *LinReg) LengthRatio() int
- func (lr *LinReg) LoadK(allKLines []types.KLine)
- func (lr *LinReg) OnUpdate(cb func(value float64))
- func (lr *LinReg) PushK(k types.KLine)
- func (lr *LinReg) Update(kline types.KLine)
- type Line
- type MACDConfig
- type MACDLegacy
- func (inc *MACDLegacy) EmitUpdate(macd float64, signal float64, histogram float64)
- func (inc *MACDLegacy) Last(i int) float64
- func (inc *MACDLegacy) Length() int
- func (inc *MACDLegacy) MACD() types.SeriesExtend
- func (inc *MACDLegacy) OnUpdate(cb func(macd float64, signal float64, histogram float64))
- func (inc *MACDLegacy) PushK(k types.KLine)
- func (inc *MACDLegacy) Singals() types.SeriesExtend
- func (inc *MACDLegacy) Update(x float64)
- type MACDStream
- type MACDValues
- type MultiplyStream
- type OBV
- func (inc *OBV) Bind(updater KLineWindowUpdater)
- func (inc *OBV) CalculateAndUpdate(kLines []types.KLine)
- func (inc *OBV) EmitUpdate(value float64)
- func (inc *OBV) Index(i int) float64
- func (inc *OBV) Last(i int) float64
- func (inc *OBV) OnUpdate(cb func(value float64))
- func (inc *OBV) PushK(k types.KLine)
- func (inc *OBV) Update(price, volume float64)
- type PSAR
- func (inc *PSAR) BindK(target KLineClosedEmitter, symbol string, interval types.Interval)
- func (inc *PSAR) EmitUpdate(value float64)
- func (inc *PSAR) Last(i int) float64
- func (inc *PSAR) Length() int
- func (inc *PSAR) OnUpdate(cb func(value float64))
- func (inc *PSAR) PushK(k types.KLine)
- func (inc *PSAR) Update(high, low float64)
- type Pivot
- func (inc *Pivot) Bind(updater KLineWindowUpdater)
- func (inc *Pivot) CalculateAndUpdate(klines []types.KLine)
- func (inc *Pivot) EmitUpdate(valueLow float64, valueHigh float64)
- func (inc *Pivot) LastHigh() float64
- func (inc *Pivot) LastLow() float64
- func (inc *Pivot) OnUpdate(cb func(valueLow float64, valueHigh float64))
- type PivotHigh
- type PivotHighStream
- type PivotLow
- type PivotLowStream
- type PivotSupertrend
- func (inc *PivotSupertrend) BindK(target KLineClosedEmitter, symbol string, interval types.Interval)
- func (inc *PivotSupertrend) Direction() types.Direction
- func (inc *PivotSupertrend) EmitUpdate(value float64)
- func (inc *PivotSupertrend) GetSignal() types.Direction
- func (inc *PivotSupertrend) Index(i int) float64
- func (inc *PivotSupertrend) Last(i int) float64
- func (inc *PivotSupertrend) LastSupertrendResistance() float64
- func (inc *PivotSupertrend) LastSupertrendSupport() float64
- func (inc *PivotSupertrend) Length() int
- func (inc *PivotSupertrend) LoadK(allKLines []types.KLine)
- func (inc *PivotSupertrend) OnUpdate(cb func(value float64))
- func (inc *PivotSupertrend) PushK(k types.KLine)
- func (inc *PivotSupertrend) Update(highPrice, lowPrice, closePrice float64)
- type PriceStream
- func ClosePrices(source KLineSubscription) *PriceStream
- func HighPrices(source KLineSubscription) *PriceStream
- func LowPrices(source KLineSubscription) *PriceStream
- func OpenPrices(source KLineSubscription) *PriceStream
- func Price(source KLineSubscription, mapper KLineValueMapper) *PriceStream
- func Volumes(source KLineSubscription) *PriceStream
- type RMA
- func (inc *RMA) Bind(updater KLineWindowUpdater)
- func (inc *RMA) CalculateAndUpdate(kLines []types.KLine)
- func (inc *RMA) Clone() types.UpdatableSeriesExtend
- func (inc *RMA) EmitUpdate(value float64)
- func (inc *RMA) Index(i int) float64
- func (inc *RMA) Last(i int) float64
- func (inc *RMA) Length() int
- func (inc *RMA) OnUpdate(cb func(value float64))
- func (inc *RMA) PushK(k types.KLine)
- func (inc *RMA) Update(x float64)
- type RMAStream
- type RSI
- func (inc *RSI) Bind(updater KLineWindowUpdater)
- func (inc *RSI) CalculateAndUpdate(kLines []types.KLine)
- func (inc *RSI) EmitUpdate(value float64)
- func (inc *RSI) Index(i int) float64
- func (inc *RSI) Last(i int) float64
- func (inc *RSI) Length() int
- func (inc *RSI) OnUpdate(cb func(value float64))
- func (inc *RSI) PushK(k types.KLine)
- func (inc *RSI) Update(price float64)
- type RSIStream
- type SMA
- func (inc *SMA) BindK(target KLineClosedEmitter, symbol string, interval types.Interval)
- func (inc *SMA) Clone() types.UpdatableSeriesExtend
- func (inc *SMA) EmitUpdate(value float64)
- func (inc *SMA) Index(i int) float64
- func (inc *SMA) Last(i int) float64
- func (inc *SMA) Length() int
- func (inc *SMA) LoadK(allKLines []types.KLine)
- func (inc *SMA) OnUpdate(cb func(value float64))
- func (inc *SMA) PushK(k types.KLine)
- func (inc *SMA) Update(value float64)
- type SMAStream
- type SSF
- func (inc *SSF) CalculateAndUpdate(allKLines []types.KLine)
- func (inc *SSF) EmitUpdate(value float64)
- func (inc *SSF) Index(i int) float64
- func (inc *SSF) Last(i int) float64
- func (inc *SSF) Length() int
- func (inc *SSF) OnUpdate(cb func(value float64))
- func (inc *SSF) PushK(k types.KLine)
- func (inc *SSF) Update(value float64)
- type STOCH
- func (inc *STOCH) EmitUpdate(k float64, d float64)
- func (inc *STOCH) GetD() types.Series
- func (inc *STOCH) GetK() types.Series
- func (inc *STOCH) LastD() float64
- func (inc *STOCH) LastK() float64
- func (inc *STOCH) OnUpdate(cb func(k float64, d float64))
- func (inc *STOCH) PushK(k types.KLine)
- func (inc *STOCH) Update(high, low, cloze float64)
- type Simple
- type StdDev
- type StdDevStream
- type StochStream
- type SubtractStream
- type Supertrend
- func (inc *Supertrend) Bind(updater KLineWindowUpdater)
- func (inc *Supertrend) BindK(target KLineClosedEmitter, symbol string, interval types.Interval)
- func (inc *Supertrend) CalculateAndUpdate(kLines []types.KLine)
- func (inc *Supertrend) Direction() types.Direction
- func (inc *Supertrend) EmitUpdate(value float64)
- func (inc *Supertrend) GetSignal() types.Direction
- func (inc *Supertrend) Index(i int) float64
- func (inc *Supertrend) Last(i int) float64
- func (inc *Supertrend) LastSupertrendResistance() float64
- func (inc *Supertrend) LastSupertrendSupport() float64
- func (inc *Supertrend) Length() int
- func (inc *Supertrend) LoadK(allKLines []types.KLine)
- func (inc *Supertrend) OnUpdate(cb func(value float64))
- func (inc *Supertrend) PushK(k types.KLine)
- func (inc *Supertrend) Update(highPrice, lowPrice, closePrice float64)
- type TEMA
- func (inc *TEMA) Bind(updater KLineWindowUpdater)
- func (inc *TEMA) CalculateAndUpdate(allKLines []types.KLine)
- func (inc *TEMA) EmitUpdate(value float64)
- func (inc *TEMA) Index(i int) float64
- func (inc *TEMA) Last(i int) float64
- func (inc *TEMA) Length() int
- func (inc *TEMA) OnUpdate(cb func(value float64))
- func (inc *TEMA) PushK(k types.KLine)
- func (inc *TEMA) Update(value float64)
- type TILL
- func (inc *TILL) Bind(updater KLineWindowUpdater)
- func (inc *TILL) BindK(target KLineClosedEmitter, symbol string, interval types.Interval)
- func (inc *TILL) CalculateAndUpdate(allKLines []types.KLine)
- func (inc *TILL) EmitUpdate(value float64)
- func (inc *TILL) Index(i int) float64
- func (inc *TILL) Last(i int) float64
- func (inc *TILL) Length() int
- func (inc *TILL) LoadK(allKLines []types.KLine)
- func (inc *TILL) OnUpdate(cb func(value float64))
- func (inc *TILL) PushK(k types.KLine)
- func (inc *TILL) Update(value float64)
- type TMA
- type TRStream
- type TSI
- func (inc *TSI) BindK(target KLineClosedEmitter, symbol string, interval types.Interval)
- func (inc *TSI) EmitUpdate(value float64)
- func (inc *TSI) Index(i int) float64
- func (inc *TSI) Last(i int) float64
- func (inc *TSI) Length() int
- func (inc *TSI) OnUpdate(cb func(value float64))
- func (inc *TSI) PushK(k types.KLine)
- func (inc *TSI) Update(value float64)
- type UtBotAlert
- func (inc *UtBotAlert) BindK(target KLineClosedEmitter, symbol string, interval types.Interval)
- func (inc *UtBotAlert) EmitUpdate(value types.Direction)
- func (inc *UtBotAlert) GetSignal() types.Direction
- func (inc *UtBotAlert) Index(i int) types.Direction
- func (inc *UtBotAlert) Last() types.Direction
- func (inc *UtBotAlert) Length() int
- func (inc *UtBotAlert) LoadK(allKLines []types.KLine)
- func (inc *UtBotAlert) OnUpdate(cb func(value types.Direction))
- func (inc *UtBotAlert) PushK(k types.KLine)
- func (inc *UtBotAlert) Update(highPrice, lowPrice, closePrice float64)
- type VIDYA
- func (inc *VIDYA) Bind(updater KLineWindowUpdater)
- func (inc *VIDYA) CalculateAndUpdate(allKLines []types.KLine)
- func (inc *VIDYA) EmitUpdate(value float64)
- func (inc *VIDYA) Index(i int) float64
- func (inc *VIDYA) Last(i int) float64
- func (inc *VIDYA) Length() int
- func (inc *VIDYA) OnUpdate(cb func(value float64))
- func (inc *VIDYA) PushK(k types.KLine)
- func (inc *VIDYA) Update(value float64)
- type VWAP
- func (inc *VWAP) Bind(updater KLineWindowUpdater)
- func (inc *VWAP) CalculateAndUpdate(allKLines []types.KLine)
- func (inc *VWAP) EmitUpdate(value float64)
- func (inc *VWAP) Index(i int) float64
- func (inc *VWAP) Last(i int) float64
- func (inc *VWAP) Length() int
- func (inc *VWAP) OnUpdate(cb func(value float64))
- func (inc *VWAP) PushK(k types.KLine)
- func (inc *VWAP) Update(price, volume float64)
- type VWMA
- func (inc *VWMA) Bind(updater KLineWindowUpdater)
- func (inc *VWMA) CalculateAndUpdate(allKLines []types.KLine)
- func (inc *VWMA) EmitUpdate(value float64)
- func (inc *VWMA) Index(i int) float64
- func (inc *VWMA) Last(i int) float64
- func (inc *VWMA) Length() int
- func (inc *VWMA) OnUpdate(cb func(value float64))
- func (inc *VWMA) PushK(k types.KLine)
- func (inc *VWMA) Update(price, volume float64)
- type Volatility
- func (inc *Volatility) Bind(updater KLineWindowUpdater)
- func (inc *Volatility) CalculateAndUpdate(allKLines []types.KLine)
- func (inc *Volatility) EmitUpdate(value float64)
- func (inc *Volatility) Index(i int) float64
- func (inc *Volatility) Last(i int) float64
- func (inc *Volatility) Length() int
- func (inc *Volatility) OnUpdate(cb func(value float64))
- type VolumeForce
- type VolumeProfile
- func (inc *VolumeProfile) PointOfControlAboveEqual(price float64, limit ...float64) (resultPrice float64, vol float64)
- func (inc *VolumeProfile) PointOfControlBelowEqual(price float64, limit ...float64) (resultPrice float64, vol float64)
- func (inc *VolumeProfile) Update(price, volume float64, timestamp types.Time)
- type WWMA
- func (inc *WWMA) Bind(updater KLineWindowUpdater)
- func (inc *WWMA) CalculateAndUpdate(allKLines []types.KLine)
- func (inc *WWMA) EmitUpdate(value float64)
- func (inc *WWMA) Index(i int) float64
- func (inc *WWMA) Last(i int) float64
- func (inc *WWMA) Length() int
- func (inc *WWMA) OnUpdate(cb func(value float64))
- func (inc *WWMA) PushK(k types.KLine)
- func (inc *WWMA) Update(value float64)
- type WeightedDrift
- func (inc *WeightedDrift) Bind(updater KLineWindowUpdater)
- func (inc *WeightedDrift) CalculateAndUpdate(allKLines []types.KLine)
- func (inc *WeightedDrift) Clone() (out *WeightedDrift)
- func (inc *WeightedDrift) EmitUpdate(value float64)
- func (inc *WeightedDrift) Index(i int) float64
- func (inc *WeightedDrift) Last(i int) float64
- func (inc *WeightedDrift) Length() int
- func (inc *WeightedDrift) OnUpdate(cb func(value float64))
- func (inc *WeightedDrift) PushK(k types.KLine)
- func (inc *WeightedDrift) TestUpdate(value float64, weight float64) *WeightedDrift
- func (inc *WeightedDrift) Update(value float64, weight float64)
- func (inc *WeightedDrift) ZeroPoint() float64
- type ZLEMA
- func (inc *ZLEMA) Bind(updater KLineWindowUpdater)
- func (inc *ZLEMA) CalculateAndUpdate(allKLines []types.KLine)
- func (inc *ZLEMA) EmitUpdate(value float64)
- func (inc *ZLEMA) Index(i int) float64
- func (inc *ZLEMA) Last(i int) float64
- func (inc *ZLEMA) Length() int
- func (inc *ZLEMA) OnUpdate(cb func(value float64))
- func (inc *ZLEMA) PushK(k types.KLine)
- func (inc *ZLEMA) Update(value float64)
Constants ¶
const DPeriod int = 3
const DefaultEMVScale float64 = 100000000.
const MaxNumOfALMA = 5_000
const MaxNumOfALMATruncateSize = 100
const MaxNumOfATR = 1000
const MaxNumOfATRTruncateSize = 500
const MaxNumOfEWMA = 1_000
These numbers should be aligned with bbgo MaxNumOfKLines and MaxNumOfKLinesTruncate
const MaxNumOfEWMATruncateSize = 500
const MaxNumOfKLines = 4_000
const MaxNumOfRMA = 1000
const MaxNumOfRMATruncateSize = 500
const MaxNumOfSMA = 5_000
const MaxNumOfSMATruncateSize = 100
const MaxNumOfStdev = 600
const MaxNumOfStdevTruncateSize = 300
const MaxNumOfVOL = 5_000
const MaxNumOfVOLTruncateSize = 100
const MaxNumOfWWMA = 5_000
const MaxNumOfWWMATruncateSize = 100
Variables ¶
This section is empty.
Functions ¶
func CalculateKLinesEMA ¶ added in v1.3.1
func CalculateKLinesEMA(allKLines []types.KLine, priceF KLineValueMapper, window int) float64
func KLineClosePriceMapper ¶ added in v1.2.1
func KLineHighPriceMapper ¶ added in v1.33.0
func KLineLowPriceMapper ¶ added in v1.33.0
func KLineOpenPriceMapper ¶ added in v1.2.1
func KLinePriceVolumeMapper ¶ added in v1.21.0
func KLineTypicalPriceMapper ¶ added in v1.16.0
func KLineVolumeMapper ¶ added in v1.21.0
func MapKLinePrice ¶ added in v1.2.1
func MapKLinePrice(kLines []types.KLine, f KLineValueMapper) (prices []float64)
Types ¶
type AD ¶ added in v1.16.0
type AD struct { types.SeriesBase types.IntervalWindow Values floats.Slice 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) CalculateAndUpdate ¶ added in v1.37.0
func (*AD) EmitUpdate ¶ added in v1.16.0
type ALMA ¶ added in v1.34.0
type ALMA struct { types.SeriesBase types.IntervalWindow // required Offset float64 // required: recommend to be 0.5 Sigma int // required: recommend to be 5 Values floats.Slice UpdateCallbacks []func(value float64) // contains filtered or unexported fields }
Refer: Arnaud Legoux Moving Average Refer: https://capital.com/arnaud-legoux-moving-average Also check https://github.com/DaveSkender/Stock.Indicators/blob/main/src/a-d/Alma/Alma.cs
The Arnaud Legoux Moving Average (ALMA) is a technical analysis indicator that is used to smooth price data and reduce the lag associated with traditional moving averages. It was developed by Arnaud Legoux and is based on the weighted moving average, with the weighting factors determined using a Gaussian function. The ALMA is calculated by taking the weighted moving average of the input data using weighting factors that are based on the standard deviation of the data and the specified length of the moving average. This resulting average is then plotted on the price chart as a line, which can be used to make predictions about future price movements. The ALMA is typically more responsive to changes in the underlying data than a simple moving average, but may be less reliable in trending markets.
@param offset: Gaussian applied to the combo line. 1->ema, 0->sma @param sigma: the standard deviation applied to the combo line. This makes the combo line sharper
func (*ALMA) CalculateAndUpdate ¶ added in v1.37.0
func (*ALMA) EmitUpdate ¶ added in v1.34.0
type ATR ¶ added in v1.31.0
type ATR struct { types.SeriesBase types.IntervalWindow PercentageVolatility floats.Slice PreviousClose float64 RMA *RMA EndTime time.Time UpdateCallbacks []func(value float64) }
func (*ATR) EmitUpdate ¶ added in v1.31.0
func (*ATR) TestUpdate ¶ added in v1.38.0
type ATRP ¶ added in v1.37.0
type ATRP struct { types.SeriesBase types.IntervalWindow PercentageVolatility floats.Slice PreviousClose float64 RMA *RMA EndTime time.Time UpdateCallbacks []func(value float64) }
ATRP is the average true range percentage See also https://www.fidelity.com/learning-center/trading-investing/technical-analysis/technical-indicator-guide/atrp
The Average True Range Percentage (ATRP) is a technical analysis indicator that measures the volatility of a security's price. It is calculated by dividing the Average True Range (ATR) of the security by its closing price, and then multiplying the result by 100 to convert it to a percentage. The ATR is a measure of the range of a security's price, taking into account gaps between trading periods and any limit moves (sharp price movements that are allowed under certain exchange rules). The ATR is typically smoothed using a moving average to make it more responsive to changes in the underlying price data. The ATRP is a useful indicator for traders because it provides a way to compare the volatility of different securities, regardless of their individual prices. It can also be used to identify potential entry and exit points for trades based on changes in the security's volatility.
Calculation:
ATRP = (Average True Range / Close) * 100
func (*ATRP) Bind ¶ added in v1.37.0
func (inc *ATRP) Bind(updater KLineWindowUpdater)
func (*ATRP) CalculateAndUpdate ¶ added in v1.37.0
func (*ATRP) EmitUpdate ¶ added in v1.37.0
type ATRPStream ¶ added in v1.48.0
type ATRPStream struct {
*Float64Series
}
func ATRP2 ¶ added in v1.48.0
func ATRP2(source KLineSubscription, window int) *ATRPStream
type ATRStream ¶ added in v1.48.0
type ATRStream struct { // embedded struct *RMAStream }
func ATR2 ¶ added in v1.48.0
func ATR2(source KLineSubscription, window int) *ATRStream
type BOLL ¶
type BOLL struct { types.IntervalWindow // K is the multiplier of Std, generally it's 2 K float64 SMA *SMA StdDev *StdDev UpBand floats.Slice DownBand floats.Slice EndTime time.Time // contains filtered or unexported fields }
func (*BOLL) Bind ¶
func (inc *BOLL) Bind(updater KLineWindowUpdater)
func (*BOLL) BindK ¶ added in v1.38.0
func (inc *BOLL) BindK(target KLineClosedEmitter, symbol string, interval types.Interval)
func (*BOLL) CalculateAndUpdate ¶ added in v1.37.0
func (*BOLL) EmitUpdate ¶
func (*BOLL) GetDownBand ¶ added in v1.30.2
func (inc *BOLL) GetDownBand() types.SeriesExtend
func (*BOLL) GetSMA ¶ added in v1.30.2
func (inc *BOLL) GetSMA() types.SeriesExtend
func (*BOLL) GetStdDev ¶ added in v1.30.2
func (inc *BOLL) GetStdDev() types.SeriesExtend
func (*BOLL) GetUpBand ¶ added in v1.30.2
func (inc *BOLL) GetUpBand() types.SeriesExtend
func (*BOLL) LastDownBand ¶
func (*BOLL) LastUpBand ¶
type BOLLStream ¶ added in v1.48.0
type BOLLStream struct { // the band series *Float64Series UpBand, DownBand *Float64Series SMA *SMAStream StdDev *StdDevStream // contains filtered or unexported fields }
func BOLL2 ¶ added in v1.48.0
func BOLL2(source Float64Source, window int, k float64) *BOLLStream
BOOL2 is bollinger indicator the data flow:
priceSource ->
-> calculate SMA -> calculate stdDev -> calculate bandWidth -> get latest SMA -> upBand, downBand
func (*BOLLStream) Calculate ¶ added in v1.48.0
func (s *BOLLStream) Calculate(v float64) float64
type CA ¶ added in v1.31.0
type CA struct { types.SeriesBase Interval types.Interval Values floats.Slice // contains filtered or unexported fields }
Refer: Cumulative Moving Average, Cumulative Average Refer: https://en.wikipedia.org/wiki/Moving_average
func (*CA) CalculateAndUpdate ¶ added in v1.37.0
func (*CA) EmitUpdate ¶ added in v1.31.0
type CCI ¶ added in v1.33.0
type CCI struct { types.SeriesBase types.IntervalWindow Input floats.Slice TypicalPrice floats.Slice MA floats.Slice Values floats.Slice UpdateCallbacks []func(value float64) }
func (*CCI) CalculateAndUpdate ¶ added in v1.37.0
func (*CCI) EmitUpdate ¶ added in v1.33.0
type CMAStream ¶ added in v1.48.0
type CMAStream struct {
*Float64Series
}
func CMA2 ¶ added in v1.48.0
func CMA2(source Float64Source) *CMAStream
type CrossStream ¶ added in v1.48.0
type CrossStream struct { *Float64Series // contains filtered or unexported fields }
CrossStream subscribes 2 upstreams, and calculate the cross signal
func Cross ¶ added in v1.48.0
func Cross(a, b Float64Source) *CrossStream
Cross creates the CrossStream object:
cross := Cross(fastEWMA, slowEWMA)
type DEMA ¶ added in v1.31.0
type DEMA struct { types.IntervalWindow types.SeriesBase Values floats.Slice UpdateCallbacks []func(value float64) // contains filtered or unexported fields }
func (*DEMA) Bind ¶ added in v1.31.0
func (inc *DEMA) Bind(updater KLineWindowUpdater)
func (*DEMA) CalculateAndUpdate ¶ added in v1.37.0
func (*DEMA) EmitUpdate ¶ added in v1.31.0
func (*DEMA) TestUpdate ¶ added in v1.38.0
type DMI ¶ added in v1.35.0
type DMI struct { types.IntervalWindow ADXSmoothing int DMP types.UpdatableSeriesExtend DMN types.UpdatableSeriesExtend DIPlus *types.Queue DIMinus *types.Queue ADX types.UpdatableSeriesExtend PrevHigh, PrevLow float64 // contains filtered or unexported fields }
func (*DMI) CalculateAndUpdate ¶ added in v1.37.0
func (*DMI) EmitUpdate ¶ added in v1.35.0
func (*DMI) GetADX ¶ added in v1.35.0
func (inc *DMI) GetADX() types.SeriesExtend
func (*DMI) GetDIMinus ¶ added in v1.35.0
func (inc *DMI) GetDIMinus() types.SeriesExtend
func (*DMI) GetDIPlus ¶ added in v1.35.0
func (inc *DMI) GetDIPlus() types.SeriesExtend
type Drift ¶ added in v1.33.1
type Drift struct { types.SeriesBase types.IntervalWindow Values floats.Slice MA types.UpdatableSeriesExtend LastValue float64 UpdateCallbacks []func(value float64) // contains filtered or unexported fields }
func (*Drift) Bind ¶ added in v1.33.1
func (inc *Drift) Bind(updater KLineWindowUpdater)
func (*Drift) CalculateAndUpdate ¶ added in v1.37.0
func (*Drift) EmitUpdate ¶ added in v1.33.1
func (*Drift) TestUpdate ¶ added in v1.38.0
type EMV ¶ added in v1.33.0
type EMV struct { types.SeriesBase types.IntervalWindow Values *SMA EMVScale float64 UpdateCallbacks []func(value float64) // contains filtered or unexported fields }
func (*EMV) EmitUpdate ¶ added in v1.33.0
type EWMA ¶
type EWMA struct { types.IntervalWindow types.SeriesBase Values floats.Slice EndTime time.Time // contains filtered or unexported fields }
func (*EWMA) EmitUpdate ¶ added in v1.2.1
func (*EWMA) TestUpdate ¶ added in v1.38.0
type EWMAStream ¶ added in v1.48.0
type EWMAStream struct { *Float64Series // contains filtered or unexported fields }
func EWMA2 ¶ added in v1.48.0
func EWMA2(source Float64Source, window int) *EWMAStream
func (*EWMAStream) Calculate ¶ added in v1.48.0
func (s *EWMAStream) Calculate(v float64) float64
type FisherTransform ¶ added in v1.38.0
type FisherTransform struct { types.SeriesBase types.IntervalWindow Values floats.Slice UpdateCallbacks []func(value float64) // contains filtered or unexported fields }
Fisher Transform
The Fisher Transform is a technical analysis indicator that is used to identify potential turning points in the price of a security. It is based on the idea that prices tend to be normally distributed, with most price movements being small and relatively insignificant. The Fisher Transform converts this normal distribution into a symmetrical, Gaussian distribution, with a peak at zero and a range of -1 to +1. This transformation allows for more accurate identification of price extremes, which can be used to make predictions about potential trend reversals. The Fisher Transform is calculated by taking the natural logarithm of the ratio of the security's current price to its moving average, and then double-smoothing the result. This resulting line is called the Fisher Transform line, and can be plotted on the price chart along with the security's price.
func (*FisherTransform) Clone ¶ added in v1.38.0
func (inc *FisherTransform) Clone() types.UpdatableSeriesExtend
func (*FisherTransform) EmitUpdate ¶ added in v1.38.0
func (inc *FisherTransform) EmitUpdate(value float64)
func (*FisherTransform) Index ¶ added in v1.38.0
func (inc *FisherTransform) Index(i int) float64
func (*FisherTransform) Last ¶ added in v1.38.0
func (inc *FisherTransform) Last(i int) float64
func (*FisherTransform) Length ¶ added in v1.38.0
func (inc *FisherTransform) Length() int
func (*FisherTransform) OnUpdate ¶ added in v1.38.0
func (inc *FisherTransform) OnUpdate(cb func(value float64))
func (*FisherTransform) Update ¶ added in v1.38.0
func (inc *FisherTransform) Update(value float64)
type Float64Calculator ¶ added in v1.48.0
type Float64Series ¶ added in v1.48.0
type Float64Series struct { types.SeriesBase Float64Updater // contains filtered or unexported fields }
func NewFloat64Series ¶ added in v1.48.0
func NewFloat64Series(v ...float64) *Float64Series
func (*Float64Series) Bind ¶ added in v1.48.0
func (f *Float64Series) Bind(source Float64Source, target Float64Calculator)
Bind binds the source event to the target (Float64Calculator) A Float64Calculator should be able to calculate the float64 result from a single float64 argument input
func (*Float64Series) Index ¶ added in v1.48.0
func (f *Float64Series) Index(i int) float64
func (*Float64Series) Last ¶ added in v1.48.0
func (f *Float64Series) Last(i int) float64
func (*Float64Series) Length ¶ added in v1.48.0
func (f *Float64Series) Length() int
func (*Float64Series) PushAndEmit ¶ added in v1.48.0
func (f *Float64Series) PushAndEmit(x float64)
func (*Float64Series) Slice ¶ added in v1.48.0
func (f *Float64Series) Slice() floats.Slice
func (*Float64Series) Subscribe ¶ added in v1.48.0
func (f *Float64Series) Subscribe(source Float64Source, c func(x float64))
type Float64Source ¶ added in v1.48.0
type Float64Subscription ¶ added in v1.48.0
type Float64Truncator ¶ added in v1.48.0
type Float64Truncator interface {
Truncate()
}
type Float64Updater ¶ added in v1.48.0
type Float64Updater struct {
// contains filtered or unexported fields
}
func (*Float64Updater) EmitUpdate ¶ added in v1.48.0
func (f *Float64Updater) EmitUpdate(v float64)
func (*Float64Updater) OnUpdate ¶ added in v1.48.0
func (f *Float64Updater) OnUpdate(cb func(v float64))
type GHFilter ¶ added in v1.40.2
type GHFilter struct { types.SeriesBase types.IntervalWindow Values floats.Slice UpdateCallbacks []func(value float64) // contains filtered or unexported fields }
func (*GHFilter) EmitUpdate ¶ added in v1.40.2
type GMA ¶ added in v1.40.0
type GMA struct { types.SeriesBase types.IntervalWindow SMA *SMA UpdateCallbacks []func(value float64) }
func (*GMA) BindK ¶ added in v1.40.0
func (inc *GMA) BindK(target KLineClosedEmitter, symbol string, interval types.Interval)
func (*GMA) EmitUpdate ¶ added in v1.40.0
func (*GMA) TestUpdate ¶ added in v1.40.0
type HULL ¶ added in v1.31.0
type HULL struct { types.SeriesBase types.IntervalWindow // contains filtered or unexported fields }
Refer: Hull Moving Average Refer URL: https://fidelity.com/learning-center/trading-investing/technical-analysis/technical-indicator-guide/hull-moving-average
The Hull Moving Average (HMA) is a technical analysis indicator that uses a weighted moving average to reduce the lag in simple moving averages. It was developed by Alan Hull, who sought to create a moving average that was both fast and smooth. The HMA is calculated by first taking the weighted moving average of the input data using a weighting factor of W, where W is the square root of the length of the moving average. The result is then double-smoothed by taking the weighted moving average of this result using a weighting factor of W/2. This final average forms the HMA line, which can be used to make predictions about future price movements.
func (*HULL) EmitUpdate ¶ added in v1.31.0
type KLineCalculateUpdater ¶ added in v1.37.0
type KLineClosedBinder ¶ added in v1.37.0
type KLineClosedBinder interface {
BindK(target KLineClosedEmitter, symbol string, interval types.Interval)
}
type KLineClosedEmitter ¶ added in v1.37.0
KLineClosedEmitter is currently applied to the market data stream the market data stream emits the KLine closed event to the listeners.
type KLinePusher ¶ added in v1.37.0
KLinePusher provides an interface for API user to push kline value to the indicator. The indicator implements its own way to calculate the value from the given kline object.
type KLineStream ¶ added in v1.48.0
type KLineStream struct {
// contains filtered or unexported fields
}
func KLines ¶ added in v1.48.0
KLines creates a KLine stream that pushes the klines to the subscribers
func (*KLineStream) AddSubscriber ¶ added in v1.48.0
func (s *KLineStream) AddSubscriber(f func(k types.KLine))
AddSubscriber adds the subscriber function and push historical data to the subscriber
func (*KLineStream) BackFill ¶ added in v1.50.0
func (s *KLineStream) BackFill(kLines []types.KLine)
func (*KLineStream) EmitUpdate ¶ added in v1.48.0
func (s *KLineStream) EmitUpdate(k types.KLine)
func (*KLineStream) Length ¶ added in v1.48.0
func (s *KLineStream) Length() int
func (*KLineStream) OnUpdate ¶ added in v1.48.0
func (s *KLineStream) OnUpdate(cb func(k types.KLine))
type KLineSubscription ¶ added in v1.48.0
type KLineValueMapper ¶ added in v1.33.0
type KLineWindowUpdater ¶
type KLineWindowUpdater interface {
OnKLineWindowUpdate(func(interval types.Interval, window types.KLineWindow))
}
type KalmanFilter ¶ added in v1.40.2
type KalmanFilter struct { types.SeriesBase types.IntervalWindow AdditionalSmoothWindow uint Values floats.Slice UpdateCallbacks []func(value float64) // contains filtered or unexported fields }
func (*KalmanFilter) EmitUpdate ¶ added in v1.40.2
func (inc *KalmanFilter) EmitUpdate(value float64)
func (*KalmanFilter) Index ¶ added in v1.40.2
func (inc *KalmanFilter) Index(i int) float64
func (*KalmanFilter) Last ¶ added in v1.40.2
func (inc *KalmanFilter) Last(i int) float64
func (*KalmanFilter) Length ¶ added in v1.40.2
func (inc *KalmanFilter) Length() int
func (*KalmanFilter) OnUpdate ¶ added in v1.40.2
func (inc *KalmanFilter) OnUpdate(cb func(value float64))
func (*KalmanFilter) PushK ¶ added in v1.40.2
func (inc *KalmanFilter) PushK(k types.KLine)
func (*KalmanFilter) Update ¶ added in v1.40.2
func (inc *KalmanFilter) Update(value float64)
type KlingerOscillator ¶ added in v1.44.0
type KlingerOscillator struct { types.SeriesBase types.IntervalWindow Fast types.UpdatableSeries Slow types.UpdatableSeries VF VolumeForce // contains filtered or unexported fields }
Refer: Klinger Oscillator Refer URL: https://www.investopedia.com/terms/k/klingeroscillator.asp Explanation: The Klinger Oscillator is a technical indicator that was developed by Stephen Klinger. It is based on the assumption that there is a relationship between money flow and price movement in the stock market. The Klinger Oscillator is calculated by taking the difference between a 34-period and 55-period moving average. Usually the indicator is using together with a 9-period or 13-period of moving average as the signal line. This indicator is often used to identify potential turning points in the market, as well as to confirm the strength of a trend.
func (*KlingerOscillator) BindK ¶ added in v1.44.0
func (inc *KlingerOscillator) BindK(target KLineClosedEmitter, symbol string, interval types.Interval)
func (*KlingerOscillator) EmitUpdate ¶ added in v1.44.0
func (inc *KlingerOscillator) EmitUpdate(value float64)
func (*KlingerOscillator) Last ¶ added in v1.44.0
func (inc *KlingerOscillator) Last(i int) float64
func (*KlingerOscillator) Length ¶ added in v1.44.0
func (inc *KlingerOscillator) Length() int
func (*KlingerOscillator) OnUpdate ¶ added in v1.44.0
func (inc *KlingerOscillator) OnUpdate(cb func(value float64))
func (*KlingerOscillator) PushK ¶ added in v1.44.0
func (inc *KlingerOscillator) PushK(k types.KLine)
func (*KlingerOscillator) Update ¶ added in v1.44.0
func (inc *KlingerOscillator) Update(high, low, cloze, volume float64)
type LinReg ¶ added in v1.43.0
type LinReg struct { types.SeriesBase types.IntervalWindow // Values are the slopes of linear regression baseline Values floats.Slice // ValueRatios are the ratio of slope to the price ValueRatios floats.Slice EndTime time.Time UpdateCallbacks []func(value float64) // contains filtered or unexported fields }
LinReg is Linear Regression baseline
func (*LinReg) BindK ¶ added in v1.43.0
func (lr *LinReg) BindK(target KLineClosedEmitter, symbol string, interval types.Interval)
func (*LinReg) EmitUpdate ¶ added in v1.43.0
func (*LinReg) IndexRatio ¶ added in v1.43.0
IndexRatio returns the slope ratio
func (*LinReg) LengthRatio ¶ added in v1.43.0
LengthRatio of the slope ratio values
type Line ¶ added in v1.30.2
type Line struct { types.SeriesBase types.IntervalWindow Interval types.Interval // contains filtered or unexported fields }
Line indicator is a utility that helps to simulate either the 1. trend 2. support 3. resistance of the market data, defined with series interface
func (*Line) Bind ¶ added in v1.30.2
func (l *Line) Bind(updater KLineWindowUpdater)
type MACDConfig ¶ added in v1.41.0
type MACDConfig struct { types.IntervalWindow // 9 // ShortPeriod is the short term period EMA, usually 12 ShortPeriod int `json:"short"` // LongPeriod is the long term period EMA, usually 26 LongPeriod int `json:"long"` }
type MACDLegacy ¶ added in v1.48.0
type MACDLegacy struct { MACDConfig Values floats.Slice `json:"-"` Histogram floats.Slice `json:"-"` EndTime time.Time // contains filtered or unexported fields }
func (*MACDLegacy) EmitUpdate ¶ added in v1.48.0
func (inc *MACDLegacy) EmitUpdate(macd float64, signal float64, histogram float64)
func (*MACDLegacy) Last ¶ added in v1.48.0
func (inc *MACDLegacy) Last(i int) float64
func (*MACDLegacy) Length ¶ added in v1.48.0
func (inc *MACDLegacy) Length() int
func (*MACDLegacy) MACD ¶ added in v1.48.0
func (inc *MACDLegacy) MACD() types.SeriesExtend
func (*MACDLegacy) OnUpdate ¶ added in v1.48.0
func (inc *MACDLegacy) OnUpdate(cb func(macd float64, signal float64, histogram float64))
func (*MACDLegacy) PushK ¶ added in v1.48.0
func (inc *MACDLegacy) PushK(k types.KLine)
func (*MACDLegacy) Singals ¶ added in v1.48.0
func (inc *MACDLegacy) Singals() types.SeriesExtend
func (*MACDLegacy) Update ¶ added in v1.48.0
func (inc *MACDLegacy) Update(x float64)
type MACDStream ¶ added in v1.48.0
type MACDStream struct { *SubtractStream FastEWMA, SlowEWMA, Signal *EWMAStream Histogram *SubtractStream // contains filtered or unexported fields }
func MACD2 ¶ added in v1.48.0
func MACD2(source Float64Source, shortWindow, longWindow, signalWindow int) *MACDStream
type MACDValues ¶ added in v1.30.2
type MACDValues struct { types.SeriesBase *MACDLegacy }
func (*MACDValues) Index ¶ added in v1.30.2
func (inc *MACDValues) Index(i int) float64
func (*MACDValues) Last ¶ added in v1.30.2
func (inc *MACDValues) Last(i int) float64
func (*MACDValues) Length ¶ added in v1.30.2
func (inc *MACDValues) Length() int
type MultiplyStream ¶ added in v1.48.0
type MultiplyStream struct { *Float64Series // contains filtered or unexported fields }
func Multiply ¶ added in v1.48.0
func Multiply(a, b Float64Source) *MultiplyStream
type OBV ¶ added in v1.16.0
type OBV struct { types.SeriesBase types.IntervalWindow Values floats.Slice PrePrice float64 EndTime time.Time // contains filtered or unexported fields }
obv implements on-balance volume indicator
On-Balance Volume (OBV) Definition - https://www.investopedia.com/terms/o/onbalancevolume.asp
On-Balance Volume (OBV) is a technical analysis indicator that uses volume information to predict changes in stock price. The idea behind OBV is that volume precedes price: when the OBV is rising, it means that buyers are becoming more aggressive and that the stock price is likely to follow suit. When the OBV is falling, it indicates that sellers are becoming more aggressive and that the stock price is likely to decrease. OBV is calculated by adding the volume on days when the stock price closes higher and subtracting the volume on days when the stock price closes lower. This running total forms the OBV line, which can then be used to make predictions about future stock price movements.
func (*OBV) Bind ¶ added in v1.16.0
func (inc *OBV) Bind(updater KLineWindowUpdater)
func (*OBV) CalculateAndUpdate ¶ added in v1.37.0
func (*OBV) EmitUpdate ¶ added in v1.16.0
type PSAR ¶ added in v1.44.0
type PSAR struct { types.SeriesBase types.IntervalWindow High *types.Queue Low *types.Queue Values floats.Slice // Stop and Reverse AF float64 // Acceleration Factor EP float64 Falling bool EndTime time.Time UpdateCallbacks []func(value float64) }
func (*PSAR) BindK ¶ added in v1.44.0
func (inc *PSAR) BindK(target KLineClosedEmitter, symbol string, interval types.Interval)
func (*PSAR) EmitUpdate ¶ added in v1.44.0
type Pivot ¶ added in v1.33.0
type Pivot struct { types.IntervalWindow // Values Lows floats.Slice // higher low Highs floats.Slice // lower high EndTime time.Time // contains filtered or unexported fields }
func (*Pivot) Bind ¶ added in v1.33.0
func (inc *Pivot) Bind(updater KLineWindowUpdater)
func (*Pivot) CalculateAndUpdate ¶ added in v1.37.0
func (*Pivot) EmitUpdate ¶ added in v1.33.0
type PivotHigh ¶ added in v1.40.0
type PivotHigh struct { types.SeriesBase types.IntervalWindow Highs floats.Slice Values floats.Slice EndTime time.Time // contains filtered or unexported fields }
func (*PivotHigh) EmitUpdate ¶ added in v1.40.0
type PivotHighStream ¶ added in v1.48.0
type PivotHighStream struct { *Float64Series // contains filtered or unexported fields }
func PivotHigh2 ¶ added in v1.48.0
func PivotHigh2(source Float64Source, window, rightWindow int) *PivotHighStream
type PivotLow ¶ added in v1.38.0
type PivotLow struct { types.SeriesBase types.IntervalWindow Lows floats.Slice Values floats.Slice EndTime time.Time // contains filtered or unexported fields }
func (*PivotLow) EmitUpdate ¶ added in v1.38.0
type PivotLowStream ¶ added in v1.48.0
type PivotLowStream struct { *Float64Series // contains filtered or unexported fields }
func PivotLow2 ¶ added in v1.48.0
func PivotLow2(source Float64Source, window, rightWindow int) *PivotLowStream
type PivotSupertrend ¶ added in v1.44.0
type PivotSupertrend struct { types.SeriesBase types.IntervalWindow ATRMultiplier float64 `json:"atrMultiplier"` PivotWindow int `json:"pivotWindow"` AverageTrueRange *ATR // Value must be set when initialized in strategy PivotLow *PivotLow // Value must be set when initialized in strategy PivotHigh *PivotHigh // Value must be set when initialized in strategy EndTime time.Time UpdateCallbacks []func(value float64) // contains filtered or unexported fields }
func (*PivotSupertrend) BindK ¶ added in v1.44.0
func (inc *PivotSupertrend) BindK(target KLineClosedEmitter, symbol string, interval types.Interval)
func (*PivotSupertrend) Direction ¶ added in v1.44.0
func (inc *PivotSupertrend) Direction() types.Direction
GetDirection return the current trend
func (*PivotSupertrend) EmitUpdate ¶ added in v1.44.0
func (inc *PivotSupertrend) EmitUpdate(value float64)
func (*PivotSupertrend) GetSignal ¶ added in v1.44.0
func (inc *PivotSupertrend) GetSignal() types.Direction
GetSignal returns signal (Down, None or Up)
func (*PivotSupertrend) Index ¶ added in v1.44.0
func (inc *PivotSupertrend) Index(i int) float64
func (*PivotSupertrend) Last ¶ added in v1.44.0
func (inc *PivotSupertrend) Last(i int) float64
func (*PivotSupertrend) LastSupertrendResistance ¶ added in v1.44.0
func (inc *PivotSupertrend) LastSupertrendResistance() float64
LastSupertrendResistance return the current supertrend resistance value
func (*PivotSupertrend) LastSupertrendSupport ¶ added in v1.44.0
func (inc *PivotSupertrend) LastSupertrendSupport() float64
LastSupertrendSupport return the current supertrend support value
func (*PivotSupertrend) Length ¶ added in v1.44.0
func (inc *PivotSupertrend) Length() int
func (*PivotSupertrend) LoadK ¶ added in v1.44.0
func (inc *PivotSupertrend) LoadK(allKLines []types.KLine)
func (*PivotSupertrend) OnUpdate ¶ added in v1.44.0
func (inc *PivotSupertrend) OnUpdate(cb func(value float64))
func (*PivotSupertrend) PushK ¶ added in v1.44.0
func (inc *PivotSupertrend) PushK(k types.KLine)
func (*PivotSupertrend) Update ¶ added in v1.44.0
func (inc *PivotSupertrend) Update(highPrice, lowPrice, closePrice float64)
type PriceStream ¶ added in v1.48.0
type PriceStream struct { *Float64Series // contains filtered or unexported fields }
func ClosePrices ¶ added in v1.48.0
func ClosePrices(source KLineSubscription) *PriceStream
func HighPrices ¶ added in v1.48.0
func HighPrices(source KLineSubscription) *PriceStream
func LowPrices ¶ added in v1.48.0
func LowPrices(source KLineSubscription) *PriceStream
func OpenPrices ¶ added in v1.48.0
func OpenPrices(source KLineSubscription) *PriceStream
func Price ¶ added in v1.48.0
func Price(source KLineSubscription, mapper KLineValueMapper) *PriceStream
func Volumes ¶ added in v1.50.0
func Volumes(source KLineSubscription) *PriceStream
func (*PriceStream) AddSubscriber ¶ added in v1.50.0
func (s *PriceStream) AddSubscriber(f func(v float64))
AddSubscriber adds the subscriber function and push historical data to the subscriber
func (*PriceStream) PushAndEmit ¶ added in v1.48.0
func (s *PriceStream) PushAndEmit(v float64)
type RMA ¶ added in v1.31.0
type RMA struct { types.SeriesBase types.IntervalWindow Values floats.Slice EndTime time.Time Adjust bool // contains filtered or unexported fields }
func (*RMA) Bind ¶ added in v1.31.0
func (inc *RMA) Bind(updater KLineWindowUpdater)
func (*RMA) CalculateAndUpdate ¶ added in v1.37.0
func (*RMA) Clone ¶ added in v1.38.0
func (inc *RMA) Clone() types.UpdatableSeriesExtend
func (*RMA) EmitUpdate ¶ added in v1.31.0
type RMAStream ¶ added in v1.48.0
type RMAStream struct { // embedded structs *Float64Series // config fields Adjust bool // contains filtered or unexported fields }
type RSI ¶ added in v1.29.0
type RSI struct { types.SeriesBase types.IntervalWindow Values floats.Slice Prices floats.Slice PreviousAvgLoss float64 PreviousAvgGain float64 EndTime time.Time // contains filtered or unexported fields }
func (*RSI) Bind ¶ added in v1.29.0
func (inc *RSI) Bind(updater KLineWindowUpdater)
func (*RSI) CalculateAndUpdate ¶ added in v1.37.0
func (*RSI) EmitUpdate ¶ added in v1.29.0
type RSIStream ¶ added in v1.48.0
type RSIStream struct { // embedded structs *Float64Series // contains filtered or unexported fields }
func RSI2 ¶ added in v1.48.0
func RSI2(source Float64Source, window int) *RSIStream
type SMA ¶
type SMA struct { types.SeriesBase types.IntervalWindow Values floats.Slice EndTime time.Time UpdateCallbacks []func(value float64) // contains filtered or unexported fields }
func (*SMA) BindK ¶ added in v1.37.0
func (inc *SMA) BindK(target KLineClosedEmitter, symbol string, interval types.Interval)
func (*SMA) Clone ¶ added in v1.38.0
func (inc *SMA) Clone() types.UpdatableSeriesExtend
func (*SMA) EmitUpdate ¶ added in v1.2.1
type SMAStream ¶ added in v1.48.0
type SMAStream struct { *Float64Series // contains filtered or unexported fields }
func SMA2 ¶ added in v1.48.0
func SMA2(source Float64Source, window int) *SMAStream
type SSF ¶ added in v1.34.0
type SSF struct { types.SeriesBase types.IntervalWindow Poles int Values floats.Slice UpdateCallbacks []func(value float64) // contains filtered or unexported fields }
Refer: https://easylanguagemastery.com/indicators/predictive-indicators/ Refer: https://github.com/twopirllc/pandas-ta/blob/main/pandas_ta/overlap/ssf.py Ehler's Super Smoother Filter
John F. Ehlers's solution to reduce lag and remove aliasing noise with his research in aerospace analog filter design. This indicator comes with two versions determined by the keyword poles. By default, it uses two poles but there is an option for three poles. Since SSF is a (Resursive) Digital Filter, the number of poles determine how many prior recursive SSF bars to include in the design of the filter. So two poles uses two prior SSF bars and three poles uses three prior SSF bars for their filter calculations.
func (*SSF) CalculateAndUpdate ¶ added in v1.37.0
func (*SSF) EmitUpdate ¶ added in v1.34.0
type STOCH ¶ added in v1.17.0
type STOCH struct { types.IntervalWindow K floats.Slice D floats.Slice HighValues floats.Slice LowValues floats.Slice EndTime time.Time UpdateCallbacks []func(k float64, d float64) }
func (*STOCH) EmitUpdate ¶ added in v1.17.0
type Simple ¶ added in v1.38.0
type Simple interface { KLinePusher Last(int) float64 OnUpdate(f func(value float64)) }
Simple is the simple indicator that only returns one float64 value
type StdDev ¶ added in v1.37.0
type StdDev struct { types.SeriesBase types.IntervalWindow Values floats.Slice EndTime time.Time // contains filtered or unexported fields }
func (*StdDev) EmitUpdate ¶ added in v1.37.0
type StdDevStream ¶ added in v1.48.0
type StdDevStream struct { *Float64Series // contains filtered or unexported fields }
func StdDev2 ¶ added in v1.48.0
func StdDev2(source Float64Source, window int) *StdDevStream
func (*StdDevStream) Calculate ¶ added in v1.48.0
func (s *StdDevStream) Calculate(x float64) float64
type StochStream ¶ added in v1.48.0
type StochStream struct { types.SeriesBase K, D floats.Slice // contains filtered or unexported fields }
func Stoch2 ¶ added in v1.48.0
func Stoch2(source KLineSubscription, window, dPeriod int) *StochStream
Stochastic Oscillator
func (*StochStream) EmitUpdate ¶ added in v1.48.0
func (S *StochStream) EmitUpdate(k float64, d float64)
func (*StochStream) OnUpdate ¶ added in v1.48.0
func (S *StochStream) OnUpdate(cb func(k float64, d float64))
type SubtractStream ¶ added in v1.48.0
type SubtractStream struct { *Float64Series // contains filtered or unexported fields }
SubtractStream subscribes 2 upstream data, and then subtract these 2 values
func Subtract ¶ added in v1.48.0
func Subtract(a, b Float64Source) *SubtractStream
Subtract creates the SubtractStream object subtract := Subtract(longEWMA, shortEWMA)
type Supertrend ¶ added in v1.33.0
type Supertrend struct { types.SeriesBase types.IntervalWindow ATRMultiplier float64 `json:"atrMultiplier"` AverageTrueRange *ATR EndTime time.Time UpdateCallbacks []func(value float64) // contains filtered or unexported fields }
func (*Supertrend) Bind ¶ added in v1.33.0
func (inc *Supertrend) Bind(updater KLineWindowUpdater)
func (*Supertrend) BindK ¶ added in v1.39.0
func (inc *Supertrend) BindK(target KLineClosedEmitter, symbol string, interval types.Interval)
func (*Supertrend) CalculateAndUpdate ¶ added in v1.37.0
func (inc *Supertrend) CalculateAndUpdate(kLines []types.KLine)
func (*Supertrend) Direction ¶ added in v1.44.0
func (inc *Supertrend) Direction() types.Direction
GetDirection return the current trend
func (*Supertrend) EmitUpdate ¶ added in v1.33.0
func (inc *Supertrend) EmitUpdate(value float64)
func (*Supertrend) GetSignal ¶ added in v1.33.0
func (inc *Supertrend) GetSignal() types.Direction
func (*Supertrend) Index ¶ added in v1.33.0
func (inc *Supertrend) Index(i int) float64
func (*Supertrend) Last ¶ added in v1.33.0
func (inc *Supertrend) Last(i int) float64
func (*Supertrend) LastSupertrendResistance ¶ added in v1.44.0
func (inc *Supertrend) LastSupertrendResistance() float64
LastSupertrendResistance return the current supertrend resistance
func (*Supertrend) LastSupertrendSupport ¶ added in v1.44.0
func (inc *Supertrend) LastSupertrendSupport() float64
LastSupertrendSupport return the current supertrend support
func (*Supertrend) Length ¶ added in v1.33.0
func (inc *Supertrend) Length() int
func (*Supertrend) LoadK ¶ added in v1.39.0
func (inc *Supertrend) LoadK(allKLines []types.KLine)
func (*Supertrend) OnUpdate ¶ added in v1.33.0
func (inc *Supertrend) OnUpdate(cb func(value float64))
func (*Supertrend) PushK ¶ added in v1.37.0
func (inc *Supertrend) PushK(k types.KLine)
func (*Supertrend) Update ¶ added in v1.33.0
func (inc *Supertrend) Update(highPrice, lowPrice, closePrice float64)
type TEMA ¶ added in v1.31.0
type TEMA struct { types.SeriesBase types.IntervalWindow Values floats.Slice A1 *EWMA A2 *EWMA A3 *EWMA UpdateCallbacks []func(value float64) }
func (*TEMA) Bind ¶ added in v1.31.0
func (inc *TEMA) Bind(updater KLineWindowUpdater)
func (*TEMA) CalculateAndUpdate ¶ added in v1.37.0
func (*TEMA) EmitUpdate ¶ added in v1.31.0
type TILL ¶ added in v1.31.0
type TILL struct { types.SeriesBase types.IntervalWindow VolumeFactor float64 // contains filtered or unexported fields }
func (*TILL) Bind ¶ added in v1.31.0
func (inc *TILL) Bind(updater KLineWindowUpdater)
func (*TILL) BindK ¶ added in v1.38.0
func (inc *TILL) BindK(target KLineClosedEmitter, symbol string, interval types.Interval)
func (*TILL) CalculateAndUpdate ¶ added in v1.37.0
func (*TILL) EmitUpdate ¶ added in v1.31.0
type TMA ¶ added in v1.31.0
type TMA struct { types.SeriesBase types.IntervalWindow UpdateCallbacks []func(value float64) // contains filtered or unexported fields }
Refer: Triangular Moving Average Refer URL: https://ja.wikipedia.org/wiki/移動平均
func (*TMA) EmitUpdate ¶ added in v1.31.0
type TRStream ¶ added in v1.48.0
type TRStream struct { // embedded struct *Float64Series // contains filtered or unexported fields }
This TRStream calculates the ATR first
func TR2 ¶ added in v1.48.0
func TR2(source KLineSubscription) *TRStream
type TSI ¶ added in v1.44.0
type TSI struct { types.SeriesBase types.Interval FastWindow int SlowWindow int PrevValue float64 Values floats.Slice Pcs *EWMA Pcds *EWMA Apcs *EWMA Apcds *EWMA // contains filtered or unexported fields }
Refer: True Strength Index Refer URL: https://www.investopedia.com/terms/t/tsi.asp
func (*TSI) BindK ¶ added in v1.44.0
func (inc *TSI) BindK(target KLineClosedEmitter, symbol string, interval types.Interval)
func (*TSI) EmitUpdate ¶ added in v1.44.0
type UtBotAlert ¶ added in v1.44.0
type UtBotAlert struct { types.IntervalWindow KeyValue float64 `json:"keyValue"` // Should be ATRMultiplier Values []types.Direction AverageTrueRange *ATR // Value must be set when initialized in strategy EndTime time.Time UpdateCallbacks []func(value types.Direction) // contains filtered or unexported fields }
func NewUtBotAlert ¶ added in v1.44.0
func NewUtBotAlert(iw types.IntervalWindow, keyValue float64) *UtBotAlert
func (*UtBotAlert) BindK ¶ added in v1.44.0
func (inc *UtBotAlert) BindK(target KLineClosedEmitter, symbol string, interval types.Interval)
func (*UtBotAlert) EmitUpdate ¶ added in v1.44.0
func (inc *UtBotAlert) EmitUpdate(value types.Direction)
func (*UtBotAlert) GetSignal ¶ added in v1.44.0
func (inc *UtBotAlert) GetSignal() types.Direction
GetSignal returns signal (down, none or up)
func (*UtBotAlert) Last ¶ added in v1.44.0
func (inc *UtBotAlert) Last() types.Direction
func (*UtBotAlert) Length ¶ added in v1.44.0
func (inc *UtBotAlert) Length() int
func (*UtBotAlert) LoadK ¶ added in v1.44.0
func (inc *UtBotAlert) LoadK(allKLines []types.KLine)
LoadK calculates the initial values
func (*UtBotAlert) OnUpdate ¶ added in v1.44.0
func (inc *UtBotAlert) OnUpdate(cb func(value types.Direction))
func (*UtBotAlert) PushK ¶ added in v1.44.0
func (inc *UtBotAlert) PushK(k types.KLine)
func (*UtBotAlert) Update ¶ added in v1.44.0
func (inc *UtBotAlert) Update(highPrice, lowPrice, closePrice float64)
type VIDYA ¶ added in v1.31.0
type VIDYA struct { types.SeriesBase types.IntervalWindow Values floats.Slice // contains filtered or unexported fields }
func (*VIDYA) Bind ¶ added in v1.31.0
func (inc *VIDYA) Bind(updater KLineWindowUpdater)
func (*VIDYA) CalculateAndUpdate ¶ added in v1.37.0
func (*VIDYA) EmitUpdate ¶ added in v1.31.0
type VWAP ¶ added in v1.16.0
type VWAP struct { types.SeriesBase types.IntervalWindow Values floats.Slice Prices floats.Slice Volumes floats.Slice WeightedSum float64 VolumeSum float64 EndTime time.Time UpdateCallbacks []func(value float64) }
func (*VWAP) Bind ¶ added in v1.16.0
func (inc *VWAP) Bind(updater KLineWindowUpdater)
func (*VWAP) CalculateAndUpdate ¶ added in v1.37.0
func (*VWAP) EmitUpdate ¶ added in v1.16.0
type VWMA ¶ added in v1.21.0
type VWMA struct { types.SeriesBase types.IntervalWindow Values floats.Slice PriceVolumeSMA *SMA VolumeSMA *SMA EndTime time.Time // contains filtered or unexported fields }
func (*VWMA) Bind ¶ added in v1.21.0
func (inc *VWMA) Bind(updater KLineWindowUpdater)
func (*VWMA) CalculateAndUpdate ¶ added in v1.37.0
func (*VWMA) EmitUpdate ¶ added in v1.21.0
type Volatility ¶ added in v1.37.0
type Volatility struct { types.SeriesBase types.IntervalWindow Values floats.Slice EndTime time.Time UpdateCallbacks []func(value float64) }
func (*Volatility) Bind ¶ added in v1.37.0
func (inc *Volatility) Bind(updater KLineWindowUpdater)
func (*Volatility) CalculateAndUpdate ¶ added in v1.37.0
func (inc *Volatility) CalculateAndUpdate(allKLines []types.KLine)
func (*Volatility) EmitUpdate ¶ added in v1.37.0
func (inc *Volatility) EmitUpdate(value float64)
func (*Volatility) Index ¶ added in v1.37.0
func (inc *Volatility) Index(i int) float64
func (*Volatility) Last ¶ added in v1.37.0
func (inc *Volatility) Last(i int) float64
func (*Volatility) Length ¶ added in v1.37.0
func (inc *Volatility) Length() int
func (*Volatility) OnUpdate ¶ added in v1.37.0
func (inc *Volatility) OnUpdate(cb func(value float64))
type VolumeForce ¶ added in v1.44.0
type VolumeForce struct { Value float64 // contains filtered or unexported fields }
Utility to hold the state of calculation
func (*VolumeForce) Update ¶ added in v1.44.0
func (inc *VolumeForce) Update(high, low, cloze, volume float64)
type VolumeProfile ¶ added in v1.44.0
type VolumeProfile struct { types.IntervalWindow Delta float64 // contains filtered or unexported fields }
The Volume Profile is a technical analysis tool that is used to visualize the distribution of trading volume at different price levels in a security. It is typically plotted as a histogram or heatmap on the price chart, with the x-axis representing the price levels and the y-axis representing the trading volume. The Volume Profile can be used to identify areas of support and resistance, as well as potential entry and exit points for trades.
func (*VolumeProfile) PointOfControlAboveEqual ¶ added in v1.44.0
func (inc *VolumeProfile) PointOfControlAboveEqual(price float64, limit ...float64) (resultPrice float64, vol float64)
Get Resistence Level by finding PoC
func (*VolumeProfile) PointOfControlBelowEqual ¶ added in v1.44.0
func (inc *VolumeProfile) PointOfControlBelowEqual(price float64, limit ...float64) (resultPrice float64, vol float64)
Get Support Level by finding PoC
type WWMA ¶ added in v1.31.0
type WWMA struct { types.SeriesBase types.IntervalWindow Values floats.Slice LastOpenTime time.Time UpdateCallbacks []func(value float64) }
func (*WWMA) Bind ¶ added in v1.31.0
func (inc *WWMA) Bind(updater KLineWindowUpdater)
func (*WWMA) CalculateAndUpdate ¶ added in v1.37.0
func (*WWMA) EmitUpdate ¶ added in v1.31.0
type WeightedDrift ¶ added in v1.40.0
type WeightedDrift struct { types.SeriesBase types.IntervalWindow Values floats.Slice MA types.UpdatableSeriesExtend Weight *types.Queue LastValue float64 UpdateCallbacks []func(value float64) // contains filtered or unexported fields }
Refer: https://tradingview.com/script/aDymGrFx-Drift-Study-Inspired-by-Monte-Carlo-Simulations-with-BM-KL/ Brownian Motion's drift factor could be used in Monte Carlo Simulations
func (*WeightedDrift) Bind ¶ added in v1.40.0
func (inc *WeightedDrift) Bind(updater KLineWindowUpdater)
func (*WeightedDrift) CalculateAndUpdate ¶ added in v1.40.0
func (inc *WeightedDrift) CalculateAndUpdate(allKLines []types.KLine)
func (*WeightedDrift) Clone ¶ added in v1.40.0
func (inc *WeightedDrift) Clone() (out *WeightedDrift)
func (*WeightedDrift) EmitUpdate ¶ added in v1.40.0
func (inc *WeightedDrift) EmitUpdate(value float64)
func (*WeightedDrift) Index ¶ added in v1.40.0
func (inc *WeightedDrift) Index(i int) float64
func (*WeightedDrift) Last ¶ added in v1.40.0
func (inc *WeightedDrift) Last(i int) float64
func (*WeightedDrift) Length ¶ added in v1.40.0
func (inc *WeightedDrift) Length() int
func (*WeightedDrift) OnUpdate ¶ added in v1.40.0
func (inc *WeightedDrift) OnUpdate(cb func(value float64))
func (*WeightedDrift) PushK ¶ added in v1.40.0
func (inc *WeightedDrift) PushK(k types.KLine)
func (*WeightedDrift) TestUpdate ¶ added in v1.40.0
func (inc *WeightedDrift) TestUpdate(value float64, weight float64) *WeightedDrift
func (*WeightedDrift) Update ¶ added in v1.40.0
func (inc *WeightedDrift) Update(value float64, weight float64)
func (*WeightedDrift) ZeroPoint ¶ added in v1.40.0
func (inc *WeightedDrift) ZeroPoint() float64
Assume that MA is SMA
type ZLEMA ¶ added in v1.31.0
type ZLEMA struct { types.SeriesBase types.IntervalWindow // contains filtered or unexported fields }
func (*ZLEMA) Bind ¶ added in v1.31.0
func (inc *ZLEMA) Bind(updater KLineWindowUpdater)
func (*ZLEMA) CalculateAndUpdate ¶ added in v1.37.0
func (*ZLEMA) EmitUpdate ¶ added in v1.31.0
Source Files ¶
- ad.go
- ad_callbacks.go
- alma.go
- alma_callbacks.go
- atr.go
- atr_callbacks.go
- atrp.go
- atrp_callbacks.go
- boll.go
- boll_callbacks.go
- ca_callbacks.go
- cci.go
- cci_callbacks.go
- cma.go
- const.go
- dema.go
- dema_callbacks.go
- dmi.go
- dmi_callbacks.go
- drift.go
- drift_callbacks.go
- emv.go
- emv_callbacks.go
- ewma.go
- ewma_callbacks.go
- fisher.go
- fishertransform_callbacks.go
- float64series.go
- float64updater.go
- float64updater_callbacks.go
- ghfilter.go
- ghfilter_callbacks.go
- gma.go
- gma_callbacks.go
- hull.go
- hull_callbacks.go
- interface.go
- kalmanfilter.go
- kalmanfilter_callbacks.go
- klinestream.go
- klinestream_callbacks.go
- klingeroscillator.go
- klingeroscillator_callbacks.go
- line.go
- linreg.go
- linreg_callbacks.go
- macd.go
- macdlegacy_callbacks.go
- mapper.go
- obv.go
- obv_callbacks.go
- pivot.go
- pivot_callbacks.go
- pivothigh.go
- pivothigh_callbacks.go
- pivotlow.go
- pivotlow_callbacks.go
- psar.go
- psar_callbacks.go
- rma.go
- rma_callbacks.go
- rsi.go
- rsi_callbacks.go
- sma.go
- sma_callbacks.go
- ssf.go
- ssf_callbacks.go
- stddev.go
- stddev_callbacks.go
- stoch.go
- stoch_callbacks.go
- stochstream_callbacks.go
- supertrend.go
- supertrendPivot.go
- supertrendPivot_callbacks.go
- supertrend_callbacks.go
- tema.go
- tema_callbacks.go
- till.go
- till_callbacks.go
- tma.go
- tma_callbacks.go
- tsi.go
- tsi_callbacks.go
- types.go
- utBotAlert.go
- utBotAlert_callbacks.go
- util.go
- v2.go
- v2_atr.go
- v2_atrp.go
- v2_boll.go
- v2_cma.go
- v2_cross.go
- v2_ewma.go
- v2_macd.go
- v2_multiply.go
- v2_pivothigh.go
- v2_pivotlow.go
- v2_price.go
- v2_rma.go
- v2_rsi.go
- v2_sma.go
- v2_stddev.go
- v2_stoch.go
- v2_subtract.go
- v2_tr.go
- vidya.go
- vidya_callbacks.go
- volatility.go
- volatility_callbacks.go
- volumeprofile.go
- vwap.go
- vwap_callbacks.go
- vwma.go
- vwma_callbacks.go
- wdrift.go
- weighteddrift_callbacks.go
- wwma.go
- wwma_callbacks.go
- zlema.go
- zlema_callbacks.go