Documentation
¶
Index ¶
- Constants
- func BatchCalculate(ind Indicator, indices []int) []decimal.Decimal
- func ClearCache(indicator cachedIndicator)
- func GetCacheCapacity(indicator cachedIndicator) int
- func GetCacheSize(indicator cachedIndicator) int
- func Max(a, b int) int
- func Min(a, b int) int
- func MultiCalculate(index int, indicators ...Indicator) []decimal.Decimal
- func NewCache(initialSize int) *cache
- func NewPivotPointsIndicator(s *series.TimeSeries) *pivotPointsIndicator
- func RegisterMetadata(name string, meta IndicatorMetadata)
- type DerivativeIndicator
- type FloatIndicator
- type GenericIndicator
- type GenericSMA
- type IchimokuCloudResult
- type IchimokuIndicator
- type Indicator
- func NewADLineIndicator(s *series.TimeSeries) Indicator
- func NewADXIndicator(s *series.TimeSeries, period int) Indicator
- func NewALMAIndicator(indicator Indicator, window int, offset, sigma float64) Indicator
- func NewATRRatioIndicator(atr, price Indicator) Indicator
- func NewATRRatioIndicatorFromSeries(s *series.TimeSeries, atrWindow int) Indicator
- func NewAroonDownIndicator(indicator Indicator, window int) Indicator
- func NewAroonUpIndicator(indicator Indicator, window int) Indicator
- func NewAverageGainsIndicator(indicator Indicator, window int) Indicator
- func NewAverageLossesIndicator(indicator Indicator, window int) Indicator
- func NewAveragePriceIndicator(series *series.TimeSeries) Indicator
- func NewAverageTrueRangeIndicator(series *series.TimeSeries, window int) Indicator
- func NewAwesomeOscillatorIndicator(s *series.TimeSeries, windowFast, windowSlow int) Indicator
- func NewBollingerBandwidthIndicator(indicator Indicator, window int, sigma float64) Indicator
- func NewBollingerLowerBandIndicator(indicator Indicator, window int, sigma float64) Indicator
- func NewBollingerUpperBandIndicator(indicator Indicator, window int, sigma float64) Indicator
- func NewCCIIndicator(ts *series.TimeSeries, window int) Indicator
- func NewChandeMomentumOscillatorIndicator(indicator Indicator, window int) Indicator
- func NewClosePriceIndicator(series *series.TimeSeries) Indicator
- func NewConstantIndicator(constant float64) Indicator
- func NewCumulativeGainsIndicator(indicator Indicator, window int) Indicator
- func NewCumulativeLossesIndicator(indicator Indicator, window int) Indicator
- func NewDEMAIndicator(s *series.TimeSeries, window int) Indicator
- func NewDefaultAwesomeOscillatorIndicator(s *series.TimeSeries) Indicator
- func NewDerivativeIndicator(indicator Indicator) Indicator
- func NewDifferenceIndicator(minuend, subtrahend Indicator) Indicator
- func NewDominantCyclePeriod(indicator Indicator) Indicator
- func NewEMAIndicator(indicator Indicator, window int) Indicator
- func NewFAMAIndicator(indicator Indicator, fastLimit, slowLimit float64) Indicator
- func NewFastStochasticIndicator(series *series.TimeSeries, timeframe int) Indicator
- func NewFixedDecimalIndicator(vals ...decimal.Decimal) Indicator
- func NewFixedIndicator(vals ...float64) Indicator
- func NewGainIndicator(indicator Indicator) Indicator
- func NewHMAIndicator(indicator Indicator, window int) Indicator
- func NewHTTrendline(indicator Indicator) Indicator
- func NewHighPriceIndicator(series *series.TimeSeries) Indicator
- func NewHilbertTransform(indicator Indicator) Indicator
- func NewKAMAIndicator(s *series.TimeSeries, window int) Indicator
- func NewKVOIndicator(s *series.TimeSeries) Indicator
- func NewKeltnerChannelLowerIndicator(series *series.TimeSeries, window int) Indicator
- func NewKeltnerChannelUpperIndicator(series *series.TimeSeries, window int) Indicator
- func NewLossIndicator(indicator Indicator) Indicator
- func NewLowPriceIndicator(series *series.TimeSeries) Indicator
- func NewMACDHistogramIndicator(macdIdicator Indicator, signalLinewindow int) Indicator
- func NewMACDIndicator(baseIndicator Indicator, shortwindow, longwindow int) Indicator
- func NewMAMAIndicator(indicator Indicator, fastLimit, slowLimit float64) Indicator
- func NewMFIIndicator(s *series.TimeSeries, window int) Indicator
- func NewMMAIndicator(indicator Indicator, window int) Indicator
- func NewMaximumDrawdownIndicator(ind Indicator, window int) Indicator
- func NewMaximumValueIndicator(ind Indicator, window int) Indicator
- func NewMeanDeviationIndicator(indicator Indicator, window int) Indicator
- func NewMedianPriceIndicator(series *series.TimeSeries) Indicator
- func NewMinimumValueIndicator(ind Indicator, window int) Indicator
- func NewMomentumIndicator(s *series.TimeSeries, period int) Indicator
- func NewOBVIndicator(s *series.TimeSeries) Indicator
- func NewOpenPriceIndicator(series *series.TimeSeries) Indicator
- func NewParabolicSARIndicator(s *series.TimeSeries) Indicator
- func NewPercentChangeIndicator(indicator Indicator) Indicator
- func NewRMAIndicator(indicator Indicator, window int) Indicator
- func NewROCIndicator(s *series.TimeSeries, period int) Indicator
- func NewRelativeStrengthIndexIndicator(indicator Indicator, timeframe int) Indicator
- func NewRelativeStrengthIndicator(indicator Indicator, timeframe int) Indicator
- func NewRelativeVigorIndexIndicator(series *series.TimeSeries) Indicator
- func NewRelativeVigorSignalLine(series *series.TimeSeries) Indicator
- func NewSimpleMovingAverage(indicator Indicator, window int) Indicator
- func NewSlowStochasticIndicator(k Indicator, window int) Indicator
- func NewStandardDeviationIndicator(ind Indicator) Indicator
- func NewSuperTrendIndicator(s *series.TimeSeries, window int, multiplier float64) Indicator
- func NewT3Indicator(indicator Indicator, window int, vFactor float64) Indicator
- func NewTEMAIndicator(s *series.TimeSeries, window int) Indicator
- func NewTRIMAIndicator(indicator Indicator, window int) Indicator
- func NewTrendlineIndicator(indicator Indicator, window int) Indicator
- func NewTrueRangeIndicator(series *series.TimeSeries) Indicator
- func NewTypicalPriceIndicator(series *series.TimeSeries) Indicator
- func NewUltimateOscillatorIndicator(s *series.TimeSeries, period1, period2, period3 int) Indicator
- func NewUnstableIndicator(indicator Indicator, unstablePeriod int) Indicator
- func NewVIDYAIndicator(indicator Indicator, window int) Indicator
- func NewVWAPIndicator(s *series.TimeSeries) Indicator
- func NewVWMAIndicator(indicator, volume Indicator, window int) Indicator
- func NewVWMAIndicatorFromSeries(s *series.TimeSeries, window int) Indicator
- func NewVarianceIndicator(ind Indicator) Indicator
- func NewVolumeIndicator(series *series.TimeSeries) Indicator
- func NewVolumeROCIndicator(s *series.TimeSeries, period int) Indicator
- func NewVortexIndicator(s *series.TimeSeries, period int) Indicator
- func NewWMAIndicator(indicator Indicator, window int) Indicator
- func NewWeightedCloseIndicator(series *series.TimeSeries) Indicator
- func NewWilliamsRIndicator(s *series.TimeSeries, window int) Indicator
- func NewWindowedStandardDeviationIndicator(ind Indicator, window int) Indicator
- func NewWindowedVWAPIndicator(s *series.TimeSeries, window int) Indicator
- func NewZigZagIndicator(s *series.TimeSeries, percent float64) Indicator
- type IndicatorBuilder
- func (b *IndicatorBuilder) BollingerLower(window int, sigma float64) *IndicatorBuilder
- func (b *IndicatorBuilder) BollingerUpper(window int, sigma float64) *IndicatorBuilder
- func (b *IndicatorBuilder) Build() Indicator
- func (b *IndicatorBuilder) EMA(window int) *IndicatorBuilder
- func (b *IndicatorBuilder) MACD(fast, slow int) *IndicatorBuilder
- func (b *IndicatorBuilder) RSI(window int) *IndicatorBuilder
- func (b *IndicatorBuilder) SMA(window int) *IndicatorBuilder
- type IndicatorMetadata
- type Numeric
- type PivotPointResult
- type SelfDescribingIndicator
- type SignalIndicator
- func CombineSignals(signals ...SignalIndicator) []SignalIndicator
- func NewCrossoverSignal(shortTerm, longTerm Indicator, crossType int) SignalIndicator
- func NewMACDSignal(macd, signal Indicator) SignalIndicator
- func NewMultiSignal(signals []SignalIndicator, voteThreshold int) SignalIndicator
- func NewRSISignal(rsi Indicator, overbought, oversold float64) SignalIndicator
- func NewSupertrendSignal(supertrend Indicator) SignalIndicator
- func NewThresholdSignal(indicator Indicator, upper, lower float64) SignalIndicator
- type StreamingEMA
- type StreamingIndicator
- type StreamingSMA
- type TimeSeriesIndicator
Constants ¶
const ( SignalNeutral = 0 SignalBuy = 1 SignalSell = -1 CrossAbove = 1 CrossBelow = -1 )
Variables ¶
This section is empty.
Functions ¶
func BatchCalculate ¶ added in v0.0.3
BatchCalculate calculates an indicator for a range of indices in parallel NOTE: This only works for non-recursive indicators (like SMA, RSI, but NOT EMA) unless the cache is already populated or the indicator handles concurrency internally.
func ClearCache ¶
func ClearCache(indicator cachedIndicator)
func GetCacheCapacity ¶
func GetCacheCapacity(indicator cachedIndicator) int
func GetCacheSize ¶
func GetCacheSize(indicator cachedIndicator) int
func MultiCalculate ¶ added in v0.0.3
MultiCalculate calculates multiple indicators for a given index in parallel
func NewPivotPointsIndicator ¶
func NewPivotPointsIndicator(s *series.TimeSeries) *pivotPointsIndicator
NewPivotPointsIndicator returns an indicator that calculates standard Pivot Points. It usually uses the previous day's H, L, C to calculate today's levels.
func RegisterMetadata ¶ added in v0.0.3
func RegisterMetadata(name string, meta IndicatorMetadata)
RegisterMetadata registers metadata for an indicator name
Types ¶
type DerivativeIndicator ¶
type DerivativeIndicator struct {
Indicator Indicator
}
DerivativeIndicator returns an indicator that calculates the derivative of the underlying Indicator. The derivative is defined as the difference between the value at the previous index and the value at the current index. Eg series [1, 1, 2, 3, 5, 8] -> [0, 0, 1, 1, 2, 3]
type FloatIndicator ¶ added in v0.0.3
type FloatIndicator struct {
// contains filtered or unexported fields
}
FloatIndicator wraps a slice of float64 as a GenericIndicator
func NewFloatIndicator ¶ added in v0.0.3
func NewFloatIndicator(values []float64) FloatIndicator
func (FloatIndicator) Calculate ¶ added in v0.0.3
func (fi FloatIndicator) Calculate(index int) float64
type GenericIndicator ¶ added in v0.0.3
GenericIndicator is a generic interface for indicators
type GenericSMA ¶ added in v0.0.3
type GenericSMA[T Numeric] struct { // contains filtered or unexported fields }
GenericSMA is a generic Simple Moving Average
func NewGenericSMA ¶ added in v0.0.3
func NewGenericSMA[T Numeric](indicator GenericIndicator[T], window int, zero T, add func(T, T) T, div func(T, float64) T) *GenericSMA[T]
func (*GenericSMA[T]) Calculate ¶ added in v0.0.3
func (s *GenericSMA[T]) Calculate(index int) T
type IchimokuCloudResult ¶
type IchimokuIndicator ¶
type IchimokuIndicator interface {
Indicator
TenkanSen(index int) decimal.Decimal
KijunSen(index int) decimal.Decimal
SenkouSpanA(index int) decimal.Decimal
SenkouSpanB(index int) decimal.Decimal
ChikouSpan(index int) decimal.Decimal
Cloud(index int) IchimokuCloudResult
}
func NewIchimokuIndicator ¶
func NewIchimokuIndicator(s *series.TimeSeries) IchimokuIndicator
type Indicator ¶
Indicator is an interface that describes a methodology by which to analyze a trading record for a specific property or trend. For example. MovingAverageIndicator implements the Indicator interface and, for a given index in the timeSeries, returns the current moving average of the prices in that series.
func NewADLineIndicator ¶
func NewADLineIndicator(s *series.TimeSeries) Indicator
NewADLineIndicator returns an indicator that calculates the Accumulation/Distribution Line. https://www.investopedia.com/terms/a/accumulationdistributionplus.asp
func NewADXIndicator ¶
func NewADXIndicator(s *series.TimeSeries, period int) Indicator
func NewALMAIndicator ¶ added in v0.0.3
NewALMAIndicator returns a new Arnaud Legoux Moving Average
func NewATRRatioIndicator ¶ added in v0.0.3
func NewATRRatioIndicatorFromSeries ¶ added in v0.0.3
func NewATRRatioIndicatorFromSeries(s *series.TimeSeries, atrWindow int) Indicator
func NewAroonDownIndicator ¶
NewAroonDownIndicator returns a derivative indicator that will return a value based on the number of ticks since the lowest price in the window https://www.investopedia.com/terms/a/aroon.asp
Note: this indicator should be constructed with a either a LowPriceIndicator or a derivative thereof
func NewAroonUpIndicator ¶
NewAroonUpIndicator returns a derivative indicator that will return a value based on the number of ticks since the highest price in the window https://www.investopedia.com/terms/a/aroon.asp
Note: this indicator should be constructed with a either a HighPriceIndicator or a derivative thereof
func NewAverageGainsIndicator ¶
NewAverageGainsIndicator Returns a new average gains indicator, which returns the average gains in the given window based on the given indicator.
func NewAverageLossesIndicator ¶
NewAverageLossesIndicator Returns a new average losses indicator, which returns the average losses in the given window based on the given indicator.
func NewAveragePriceIndicator ¶ added in v0.0.3
func NewAveragePriceIndicator(series *series.TimeSeries) Indicator
func NewAverageTrueRangeIndicator ¶
func NewAverageTrueRangeIndicator(series *series.TimeSeries, window int) Indicator
NewAverageTrueRangeIndicator returns a base indicator that calculates the average true range of the underlying over a window https://www.investopedia.com/terms/a/atr.asp
func NewAwesomeOscillatorIndicator ¶
func NewAwesomeOscillatorIndicator(s *series.TimeSeries, windowFast, windowSlow int) Indicator
func NewBollingerBandwidthIndicator ¶ added in v0.0.3
NewBollingerBandwidthIndicator returns an indicator which calculates the width of bollinger bands
func NewBollingerLowerBandIndicator ¶
NewBollingerLowerBandIndicator returns a a derivative indicator which returns the lower bound of a bollinger band on the underlying indicator
func NewBollingerUpperBandIndicator ¶
NewBollingerUpperBandIndicator a a derivative indicator which returns the upper bound of a bollinger band on the underlying indicator
func NewCCIIndicator ¶
func NewCCIIndicator(ts *series.TimeSeries, window int) Indicator
NewCCIIndicator Returns a new Commodity Channel Index Indicator http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:commodity_channel_index_cci
func NewChandeMomentumOscillatorIndicator ¶ added in v0.0.3
NewChandeMomentumOscillatorIndicator returns a new Chande Momentum Oscillator
func NewClosePriceIndicator ¶
func NewClosePriceIndicator(series *series.TimeSeries) Indicator
NewClosePriceIndicator returns an Indicator which returns the close price of a candle for a given index
func NewConstantIndicator ¶
NewConstantIndicator returns an indicator which always returns the same value for any index. It's useful when combined with other, fluxuating indicators to determine when an indicator has crossed a threshold.
func NewCumulativeGainsIndicator ¶
NewCumulativeGainsIndicator returns a derivative indicator which returns all gains made in a base indicator for a given window.
func NewCumulativeLossesIndicator ¶
NewCumulativeLossesIndicator returns a derivative indicator which returns all losses in a base indicator for a given window.
func NewDEMAIndicator ¶
func NewDEMAIndicator(s *series.TimeSeries, window int) Indicator
func NewDefaultAwesomeOscillatorIndicator ¶
func NewDefaultAwesomeOscillatorIndicator(s *series.TimeSeries) Indicator
func NewDerivativeIndicator ¶
NewDerivativeIndicator returns an indicator that calculates the derivative of the underlying Indicator.
func NewDifferenceIndicator ¶
NewDifferenceIndicator returns an indicator which returns the difference between one indicator (minuend) and a second indicator (subtrahend).
func NewDominantCyclePeriod ¶ added in v0.0.3
func NewEMAIndicator ¶
NewEMAIndicator returns a derivative indicator which returns the average of the current and preceding values in the given windowSize, with values closer to current index given more weight. A more in-depth explanation can be found here: http://www.investopedia.com/terms/e/ema.asp
func NewFAMAIndicator ¶ added in v0.0.3
NewFAMAIndicator returns the Following Adaptive Moving Average based on MAMA
func NewFastStochasticIndicator ¶
func NewFastStochasticIndicator(series *series.TimeSeries, timeframe int) Indicator
NewFastStochasticIndicator returns a derivative Indicator which returns the fast stochastic indicator (%K) for the given window. https://www.investopedia.com/terms/s/stochasticoscillator.asp
func NewFixedIndicator ¶
NewFixedIndicator returns an indicator with a fixed set of values that are returned when an index is passed in
func NewGainIndicator ¶
NewGainIndicator returns a derivative indicator that returns the gains in the underlying indicator in the last bar, if any. If the delta is negative, zero is returned
func NewHMAIndicator ¶
func NewHTTrendline ¶ added in v0.0.3
func NewHighPriceIndicator ¶
func NewHighPriceIndicator(series *series.TimeSeries) Indicator
NewHighPriceIndicator returns an Indicator which returns the high price of a candle for a given index
func NewHilbertTransform ¶ added in v0.0.3
func NewKAMAIndicator ¶
func NewKAMAIndicator(s *series.TimeSeries, window int) Indicator
func NewKVOIndicator ¶
func NewKVOIndicator(s *series.TimeSeries) Indicator
NewKVOIndicator returns an indicator that calculates the Klinger Volume Oscillator. https://www.investopedia.com/terms/k/klingeroscillator.asp
func NewKeltnerChannelLowerIndicator ¶
func NewKeltnerChannelLowerIndicator(series *series.TimeSeries, window int) Indicator
func NewKeltnerChannelUpperIndicator ¶
func NewKeltnerChannelUpperIndicator(series *series.TimeSeries, window int) Indicator
func NewLossIndicator ¶
NewLossIndicator returns a derivative indicator that returns the losses in the underlying indicator in the last bar, if any. If the delta is positive, zero is returned
func NewLowPriceIndicator ¶
func NewLowPriceIndicator(series *series.TimeSeries) Indicator
NewLowPriceIndicator returns an Indicator which returns the low price of a candle for a given index
func NewMACDHistogramIndicator ¶
NewMACDHistogramIndicator returns a derivative Indicator based on the MACDIndicator, the result of which is the macd indicator minus it's signalLinewindow EMA. A more in-depth explanation can be found here: http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:macd-histogram
func NewMACDIndicator ¶
NewMACDIndicator returns a derivative Indicator which returns the difference between two EMAIndicators with long and short windows. It's useful for gauging the strength of price movements. A more in-depth explanation can be found here: http://www.investopedia.com/terms/m/macd.asp
func NewMAMAIndicator ¶ added in v0.0.3
NewMAMAIndicator returns a MESA Adaptive Moving Average. It also provides FAMA (Following Adaptive Moving Average) as a separate indicator if needed. This implementation returns MAMA.
func NewMFIIndicator ¶
func NewMFIIndicator(s *series.TimeSeries, window int) Indicator
func NewMMAIndicator ¶
NewMMAIndicator returns a derivative indciator which returns the modified moving average of the underlying indictator. An in-depth explanation can be found here: https://en.wikipedia.org/wiki/Moving_average#Modified_moving_average
func NewMaximumDrawdownIndicator ¶
NewMaximumDrawdownIndicator returns a derivative Indicator which returns the maximum drawdown of the underlying indicator over a window. Maximum drawdown is defined as the maximum observed loss from peak of an underlying indicator in a given timeframe. Maximum drawdown is given as a percentage of the peak. Use a window value of -1 to include all values present in the underlying indicator. See: https://www.investopedia.com/terms/m/maximum-drawdown-mdd.asp
func NewMaximumValueIndicator ¶
NewMaximumValueIndicator returns a derivative Indicator which returns the maximum value present in a given window. Use a window value of -1 to include all values in the underlying indicator.
func NewMeanDeviationIndicator ¶
NewMeanDeviationIndicator returns a derivative Indicator which returns the mean deviation of a base indicator in a given window. Mean deviation is an average of all values on the base indicator from the mean of that indicator.
func NewMedianPriceIndicator ¶ added in v0.0.3
func NewMedianPriceIndicator(series *series.TimeSeries) Indicator
func NewMinimumValueIndicator ¶
NewMinimumValueIndicator returns a derivative Indicator which returns the minimum value present in a given window. Use a window value of -1 to include all values in the underlying indicator.
func NewMomentumIndicator ¶
func NewMomentumIndicator(s *series.TimeSeries, period int) Indicator
func NewOBVIndicator ¶
func NewOBVIndicator(s *series.TimeSeries) Indicator
func NewOpenPriceIndicator ¶
func NewOpenPriceIndicator(series *series.TimeSeries) Indicator
NewOpenPriceIndicator returns an Indicator which returns the open price of a candle for a given index
func NewParabolicSARIndicator ¶
func NewParabolicSARIndicator(s *series.TimeSeries) Indicator
func NewPercentChangeIndicator ¶
NewPercentChangeIndicator returns a derivative indicator which returns the percent change (positive or negative) made in a base indicator up until the given indicator
func NewRMAIndicator ¶ added in v0.0.3
func NewROCIndicator ¶
func NewROCIndicator(s *series.TimeSeries, period int) Indicator
func NewRelativeStrengthIndexIndicator ¶
NewRelativeStrengthIndexIndicator returns a derivative Indicator which returns the relative strength index of the base indicator in a given time frame. A more in-depth explanation of relative strength index can be found here: https://www.investopedia.com/terms/r/rsi.asp
func NewRelativeStrengthIndicator ¶
NewRelativeStrengthIndicator returns a derivative Indicator which returns the relative strength of the base indicator in a given time frame. Relative strength is the average again of up periods during the time frame divided by the average loss of down period during the same time frame
func NewRelativeVigorIndexIndicator ¶
func NewRelativeVigorIndexIndicator(series *series.TimeSeries) Indicator
NewRelativeVigorIndexIndicator returns an Indicator which returns the index of the relative vigor of the prices of a sercurity. Relative Vigor Index is simply the difference of the previous four days' close and open prices divided by the difference between the previous four days high and low prices. A more in-depth explanation of relative vigor index can be found here: https://www.fidelity.com/learning-center/trading-investing/technical-analysis/technical-indicator-guide/relative-vigor-index
func NewRelativeVigorSignalLine ¶
func NewRelativeVigorSignalLine(series *series.TimeSeries) Indicator
NewRelativeVigorSignalLine returns an Indicator intended to be used in conjunction with Relative vigor index, which returns the average value of the last 4 indices of the RVI indicator.
func NewSimpleMovingAverage ¶
NewSimpleMovingAverage returns a derivative Indicator which returns the average of the current value and preceding values in the given windowSize.
func NewSlowStochasticIndicator ¶
NewSlowStochasticIndicator returns a derivative Indicator which returns the slow stochastic indicator (%D) for the given window. https://www.investopedia.com/terms/s/stochasticoscillator.asp
func NewStandardDeviationIndicator ¶
NewStandardDeviationIndicator calculates the standard deviation of a base indicator. See https://www.investopedia.com/terms/s/standarddeviation.asp
func NewSuperTrendIndicator ¶
func NewSuperTrendIndicator(s *series.TimeSeries, window int, multiplier float64) Indicator
NewSuperTrendIndicator returns an indicator that calculates the SuperTrend. https://www.tradingview.com/support/solutions/43000634738-supertrend/
func NewT3Indicator ¶ added in v0.0.3
NewT3Indicator returns a new Tillson T3 Moving Average
func NewTEMAIndicator ¶
func NewTEMAIndicator(s *series.TimeSeries, window int) Indicator
func NewTRIMAIndicator ¶ added in v0.0.3
func NewTrendlineIndicator ¶
NewTrendlineIndicator returns an indicator whose output is the slope of the trend line given by the values in the window.
func NewTrueRangeIndicator ¶
func NewTrueRangeIndicator(series *series.TimeSeries) Indicator
NewTrueRangeIndicator returns a base indicator which calculates the true range at the current point in time for a series https://www.investopedia.com/terms/a/atr.asp
func NewTypicalPriceIndicator ¶
func NewTypicalPriceIndicator(series *series.TimeSeries) Indicator
NewTypicalPriceIndicator returns an Indicator which returns the typical price of a candle for a given index. The typical price is an average of the high, low, and close prices for a given candle.
func NewUltimateOscillatorIndicator ¶
func NewUltimateOscillatorIndicator(s *series.TimeSeries, period1, period2, period3 int) Indicator
func NewUnstableIndicator ¶ added in v0.0.3
NewUnstableIndicator wraps an indicator and returns ZERO for any index within the unstable period.
func NewVIDYAIndicator ¶ added in v0.0.3
NewVIDYAIndicator returns a new Variable Index Dynamic Average
func NewVWAPIndicator ¶
func NewVWAPIndicator(s *series.TimeSeries) Indicator
NewVWAPIndicator returns an indicator that calculates the Volume Weighted Average Price. This implementation is cumulative since the start of the time series. https://www.investopedia.com/terms/v/vwap.asp
func NewVWMAIndicator ¶ added in v0.0.3
NewVWMAIndicator returns a Volume Weighted Moving Average
func NewVWMAIndicatorFromSeries ¶ added in v0.0.3
func NewVWMAIndicatorFromSeries(s *series.TimeSeries, window int) Indicator
NewVWMAIndicatorFromSeries is a helper to create VWMA from series
func NewVarianceIndicator ¶
NewVarianceIndicator provides a way to find the variance in a base indicator, where variances is the sum of squared deviations from the mean at any given index in the time series.
func NewVolumeIndicator ¶
func NewVolumeIndicator(series *series.TimeSeries) Indicator
NewVolumeIndicator returns an indicator which returns the volume of a candle for a given index
func NewVolumeROCIndicator ¶
func NewVolumeROCIndicator(s *series.TimeSeries, period int) Indicator
NewVolumeROCIndicator returns an indicator that calculates the Volume Rate of Change.
func NewVortexIndicator ¶
func NewVortexIndicator(s *series.TimeSeries, period int) Indicator
func NewWMAIndicator ¶
NewWMAIndicator returns a new Weighted Moving Average
func NewWeightedCloseIndicator ¶ added in v0.0.3
func NewWeightedCloseIndicator(series *series.TimeSeries) Indicator
func NewWilliamsRIndicator ¶
func NewWilliamsRIndicator(s *series.TimeSeries, window int) Indicator
func NewWindowedStandardDeviationIndicator ¶
NewWindowedStandardDeviationIndicator returns a indicator which calculates the standard deviation of the underlying indicator over a window
func NewWindowedVWAPIndicator ¶
func NewWindowedVWAPIndicator(s *series.TimeSeries, window int) Indicator
NewWindowedVWAPIndicator returns an indicator that calculates the VWAP over a fixed window.
func NewZigZagIndicator ¶
func NewZigZagIndicator(s *series.TimeSeries, percent float64) Indicator
NewZigZagIndicator returns an indicator that calculates the ZigZag. It requires a percentage change (e.g. 0.05 for 5%) to form a new leg.
type IndicatorBuilder ¶ added in v0.0.3
type IndicatorBuilder struct {
// contains filtered or unexported fields
}
IndicatorBuilder is a fluent API for building indicators
func NewIndicatorBuilder ¶ added in v0.0.3
func NewIndicatorBuilder(s *series.TimeSeries) *IndicatorBuilder
NewIndicatorBuilder starts a new indicator pipeline with a close price indicator
func (*IndicatorBuilder) BollingerLower ¶ added in v0.0.3
func (b *IndicatorBuilder) BollingerLower(window int, sigma float64) *IndicatorBuilder
BollingerLower adds a Bollinger Lower Band to the pipeline
func (*IndicatorBuilder) BollingerUpper ¶ added in v0.0.3
func (b *IndicatorBuilder) BollingerUpper(window int, sigma float64) *IndicatorBuilder
BollingerUpper adds a Bollinger Upper Band to the pipeline
func (*IndicatorBuilder) Build ¶ added in v0.0.3
func (b *IndicatorBuilder) Build() Indicator
Build returns the final indicator
func (*IndicatorBuilder) EMA ¶ added in v0.0.3
func (b *IndicatorBuilder) EMA(window int) *IndicatorBuilder
EMA adds an Exponential Moving Average to the pipeline
func (*IndicatorBuilder) MACD ¶ added in v0.0.3
func (b *IndicatorBuilder) MACD(fast, slow int) *IndicatorBuilder
MACD adds a MACD indicator to the pipeline
func (*IndicatorBuilder) RSI ¶ added in v0.0.3
func (b *IndicatorBuilder) RSI(window int) *IndicatorBuilder
RSI adds a Relative Strength Index to the pipeline
func (*IndicatorBuilder) SMA ¶ added in v0.0.3
func (b *IndicatorBuilder) SMA(window int) *IndicatorBuilder
SMA adds a Simple Moving Average to the pipeline
type IndicatorMetadata ¶ added in v0.0.3
type IndicatorMetadata struct {
Name string
Category string
Description string
Inputs []string
Lookback int
}
IndicatorMetadata describes an indicator's properties
func GetMetadata ¶ added in v0.0.3
func GetMetadata(name string) (IndicatorMetadata, error)
GetMetadata returns metadata for an indicator name
type PivotPointResult ¶
type SelfDescribingIndicator ¶ added in v0.0.3
type SelfDescribingIndicator interface {
Indicator
Lookback() int
Metadata() IndicatorMetadata
}
SelfDescribingIndicator is an Indicator that can describe its requirements and properties
type SignalIndicator ¶ added in v0.0.3
func CombineSignals ¶ added in v0.0.3
func CombineSignals(signals ...SignalIndicator) []SignalIndicator
func NewCrossoverSignal ¶ added in v0.0.3
func NewCrossoverSignal(shortTerm, longTerm Indicator, crossType int) SignalIndicator
func NewMACDSignal ¶ added in v0.0.3
func NewMACDSignal(macd, signal Indicator) SignalIndicator
func NewMultiSignal ¶ added in v0.0.3
func NewMultiSignal(signals []SignalIndicator, voteThreshold int) SignalIndicator
func NewRSISignal ¶ added in v0.0.3
func NewRSISignal(rsi Indicator, overbought, oversold float64) SignalIndicator
func NewSupertrendSignal ¶ added in v0.0.3
func NewSupertrendSignal(supertrend Indicator) SignalIndicator
func NewThresholdSignal ¶ added in v0.0.3
func NewThresholdSignal(indicator Indicator, upper, lower float64) SignalIndicator
type StreamingEMA ¶ added in v0.0.3
type StreamingEMA struct {
// contains filtered or unexported fields
}
StreamingEMA is a streaming version of EMA
func NewStreamingEMA ¶ added in v0.0.3
func NewStreamingEMA(window int) *StreamingEMA
type StreamingIndicator ¶ added in v0.0.3
StreamingIndicator is an interface for indicators that can be updated with new values in real-time
type StreamingSMA ¶ added in v0.0.3
type StreamingSMA struct {
// contains filtered or unexported fields
}
StreamingSMA is a streaming version of SMA
func NewStreamingSMA ¶ added in v0.0.3
func NewStreamingSMA(window int) *StreamingSMA
type TimeSeriesIndicator ¶ added in v0.0.3
type TimeSeriesIndicator struct {
// contains filtered or unexported fields
}
TimeSeriesIndicator is a helper to access TimeSeries from within indicators if needed
func NewTimeSeriesIndicator ¶ added in v0.0.3
func NewTimeSeriesIndicator(s *series.TimeSeries) *TimeSeriesIndicator
Source Files
¶
- accumulation_distribution.go
- adx.go
- aroon.go
- average.go
- average_true_range.go
- awesome_oscillator.go
- basic.go
- bollinger_band.go
- builder.go
- cached_indicator.go
- cci.go
- constant.go
- cycle.go
- derivative.go
- difference.go
- exponential_moving_average.go
- fixed.go
- gains.go
- generic_impl.go
- helpers.go
- hull_moving_average.go
- ichimoku.go
- indicator.go
- kaufman_adaptive_ma.go
- keltner_channel.go
- klinger_oscillator.go
- macd.go
- mama.go
- maximum_drawdown.go
- maximum_value.go
- mean_deviation.go
- metadata.go
- minimum_value.go
- modified_moving_average.go
- momentum_advanced.go
- money_flow_index.go
- moving_averages_extended.go
- obv.go
- parabolic_sar.go
- parallel.go
- pivot_points.go
- rate_of_change.go
- relative_strength.go
- relative_vigor_index.go
- signal_indicator.go
- simple_moving_average.go
- standard_deviation.go
- stochastic_oscillator.go
- streaming.go
- supertrend.go
- trend.go
- true_range.go
- ultimate_oscillator.go
- unstable.go
- variance.go
- volatility_extended.go
- volume_roc.go
- vortex.go
- vwap.go
- williams_r.go
- windowed_standard_deviation.go
- zigzag.go