Documentation
¶
Overview ¶
Package volume contains the volume strategy functions.
This package belongs to the Indicator project. Indicator is a Golang module that supplies a variety of technical indicators, strategies, and a backtesting framework for analysis.
License ¶
Copyright (c) 2021-2024 Onur Cinar. The source code is provided under GNU AGPLv3 License. https://github.com/cinar/indicator
Disclaimer ¶
The information provided on this project is strictly for informational purposes and is not to be construed as advice or solicitation to buy or sell any security.
Index ¶
Constants ¶
const ( // DefaultMoneyFlowIndexStrategySellAt is the default sell at of 80. DefaultMoneyFlowIndexStrategySellAt = 80 // DefaultMoneyFlowIndexStrategyBuyAt is the default buy at of 20. DefaultMoneyFlowIndexStrategyBuyAt = 20 )
const (
// DefaultNegativeVolumeIndexStrategyEmaPeriod is the default EMA period of 255.
DefaultNegativeVolumeIndexStrategyEmaPeriod = 255
)
Variables ¶
This section is empty.
Functions ¶
func AllStrategies ¶
AllStrategies returns a slice containing references to all available volume strategies.
Types ¶
type ChaikinMoneyFlowStrategy ¶
type ChaikinMoneyFlowStrategy struct {
// ChaikinMoneyFlow is the Chaikin Money Flow indicator instance.
ChaikinMoneyFlow *volume.Cmf[float64]
}
ChaikinMoneyFlowStrategy represents the configuration parameters for calculating the Chaikin Money Flow strategy. Recommends a Buy action when it crosses above 0, and recommends a Sell action when it crosses below 0.
func NewChaikinMoneyFlowStrategy ¶
func NewChaikinMoneyFlowStrategy() *ChaikinMoneyFlowStrategy
NewChaikinMoneyFlowStrategy function initializes a new Chaikin Money Flow strategy instance with the default parameters.
func NewChaikinMoneyFlowStrategyWith ¶
func NewChaikinMoneyFlowStrategyWith(period int) *ChaikinMoneyFlowStrategy
NewChaikinMoneyFlowStrategyWith function initializes a new Chaikin Money Flow strategy instance with the given parameters.
func (*ChaikinMoneyFlowStrategy) Compute ¶
func (c *ChaikinMoneyFlowStrategy) Compute(snapshots <-chan *asset.Snapshot) <-chan strategy.Action
Compute function processes the provided asset snapshots and generates a stream of actionable recommendations.
func (*ChaikinMoneyFlowStrategy) Name ¶
func (c *ChaikinMoneyFlowStrategy) Name() string
Name function returns the name of the strategy.
type MoneyFlowIndexStrategy ¶
type MoneyFlowIndexStrategy struct {
// MoneyFlowIndex is the Money Flow Index indicator instance.
MoneyFlowIndex *volume.Mfi[float64]
// SellAt is the sell at value.
SellAt float64
// BuyAt is the buy at value.
BuyAt float64
}
MoneyFlowIndexStrategy represents the configuration parameters for calculating the Money Flow Index strategy. Recommends a Sell action when it crosses over 80, and recommends a Buy action when it crosses below 20.
func NewMoneyFlowIndexStrategy ¶
func NewMoneyFlowIndexStrategy() *MoneyFlowIndexStrategy
NewMoneyFlowIndexStrategy function initializes a new Money Flow Index strategy instance with the default parameters.
func NewMoneyFlowIndexStrategyWith ¶
func NewMoneyFlowIndexStrategyWith(sellAt, buyAt float64) *MoneyFlowIndexStrategy
NewMoneyFlowIndexStrategyWith function initializes a new Money Flow Index strategy instance with the given parameters.
func (*MoneyFlowIndexStrategy) Compute ¶
func (m *MoneyFlowIndexStrategy) Compute(snapshots <-chan *asset.Snapshot) <-chan strategy.Action
Compute processes the provided asset snapshots and generates a stream of actionable recommendations.
func (*MoneyFlowIndexStrategy) Name ¶
func (m *MoneyFlowIndexStrategy) Name() string
Name returns the name of the strategy.
type NegativeVolumeIndexStrategy ¶
type NegativeVolumeIndexStrategy struct {
// NegativeVolumeIndex is the Negative Volume Index indicator instance.
NegativeVolumeIndex *volume.Nvi[float64]
// NegativeVolumeIndexEma is the Negative Volume Index EMA instance.
NegativeVolumeIndexEma *trend.Ema[float64]
}
NegativeVolumeIndexStrategy represents the configuration parameters for calculating the Negative Volume Index strategy. Recommends a Buy action when it crosses below its EMA, recommends a Sell action when it crosses above its EMA, and recommends a Hold action otherwise.
func NewNegativeVolumeIndexStrategy ¶
func NewNegativeVolumeIndexStrategy() *NegativeVolumeIndexStrategy
NewNegativeVolumeIndexStrategy function initializes a new Negative Volume Index strategy instance with the default parameters.
func NewNegativeVolumeIndexStrategyWith ¶
func NewNegativeVolumeIndexStrategyWith(emaPeriod int) *NegativeVolumeIndexStrategy
NewNegativeVolumeIndexStrategyWith function initializes a new Negative Volume Index strategy instance with the given parameters.
func (*NegativeVolumeIndexStrategy) Compute ¶
func (n *NegativeVolumeIndexStrategy) Compute(snapshots <-chan *asset.Snapshot) <-chan strategy.Action
Compute processes the provided asset snapshots and generates a stream of actionable recommendations.
func (*NegativeVolumeIndexStrategy) Name ¶
func (n *NegativeVolumeIndexStrategy) Name() string
Name returns the name of the strategy.