Documentation
¶
Overview ¶
performance_manager_type.go
Index ¶
- Constants
- type DayCacheIndicatorAdaptorCacheImpl
- func (i *DayCacheIndicatorAdaptorCacheImpl) CleanUp()
- func (i *DayCacheIndicatorAdaptorCacheImpl) Clone(ctx context.Context) IndicatorAdaptorCache
- func (i *DayCacheIndicatorAdaptorCacheImpl) Evaluate(ctx context.Context, dp *model.DataPoint) model.StockAction
- func (i *DayCacheIndicatorAdaptorCacheImpl) Name() string
- type DaySingleBigCacheIndicatorAdaptorCacheImpl
- func (i *DaySingleBigCacheIndicatorAdaptorCacheImpl) CleanUp()
- func (i *DaySingleBigCacheIndicatorAdaptorCacheImpl) Clone(ctx context.Context) IndicatorAdaptorCache
- func (i *DaySingleBigCacheIndicatorAdaptorCacheImpl) Evaluate(ctx context.Context, dp *model.DataPoint) model.StockAction
- func (i *DaySingleBigCacheIndicatorAdaptorCacheImpl) Name() string
- type DaySingleBigDirectCacheIndicatorAdaptorCacheImpl
- func (i *DaySingleBigDirectCacheIndicatorAdaptorCacheImpl) CleanUp()
- func (i *DaySingleBigDirectCacheIndicatorAdaptorCacheImpl) Clone(ctx context.Context) IndicatorAdaptorCache
- func (i *DaySingleBigDirectCacheIndicatorAdaptorCacheImpl) Evaluate(ctx context.Context, dp *model.DataPoint) model.StockAction
- func (i *DaySingleBigDirectCacheIndicatorAdaptorCacheImpl) Name() string
- type EMAAdapter
- type EMAMetrics
- type FibonacciAdapter
- type FibonacciMetrics
- type IndicatorAdaptor
- type IndicatorAdaptorCache
- func NewDayCacheIndicatorAdaptorCacheImpl(adaptor IndicatorAdaptor) IndicatorAdaptorCache
- func NewDaySingleBigCacheIndicatorAdaptorCacheImpl(adaptor IndicatorAdaptor) IndicatorAdaptorCache
- func NewDaySingleBigDirectCacheIndicatorAdaptorCacheImpl(adaptor IndicatorAdaptor) IndicatorAdaptorCache
- func NewIndicatorAdaptorCacheImpl(adaptor IndicatorAdaptor) IndicatorAdaptorCache
- func NewMapIndicatorAdaptorCacheImpl(adaptor IndicatorAdaptor) IndicatorAdaptorCache
- type InitializeStatus
- type MACDAdapter
- type MACDMetrics
- type MapIndicatorAdaptorCacheImpl
- type PivotPointAdapter
- type PivotPointMetrics
- type RSIAdapter
- type RSIMetrics
- type SuperTrendAdapter
- type SuperTrendMetrics
Constants ¶
const ( PERIOD_LABEL = "period" ADAPTOR_NAME_LABEL = "adaptor_name" )
const ( PIVOT_LEVEL_LABEL = "pivot_level_type" PIVOT_NAME_FORMAT = "PivotPoint_LEN_%d_THRESHOLD_%d" )
const ( RSI_LEVEL_LABEL = "rsi_level_type" RSI_NAME_FORMAT = "RSI_P_%d_OBT_%f_OST_%f_L_%d" )
const ( SUPERTREND_LEVEL_LABEL = "supertrend_level_type" SUPERTREND_NAME_FORMAT = "SuperTrend_PERIOD_%d_MULTIPLIER_%.2f" )
const (
EMA_NAME_FORMAT = "EMA_PERIOD_%s_LEN_%d"
)
const (
FIBONACCI_LEVEL_LABEL = "fibonacci_level_name"
)
const (
MACD_NAME_FORMAT = "MACD_SHORT_%d_LONG_%d_SIGNAL_%d_LEN_%d"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DayCacheIndicatorAdaptorCacheImpl ¶
type DayCacheIndicatorAdaptorCacheImpl struct {
MilliInDay int64
// contains filtered or unexported fields
}
func (*DayCacheIndicatorAdaptorCacheImpl) CleanUp ¶
func (i *DayCacheIndicatorAdaptorCacheImpl) CleanUp()
CleanupOldCaches removes old day caches to manage memory usage
func (*DayCacheIndicatorAdaptorCacheImpl) Clone ¶
func (i *DayCacheIndicatorAdaptorCacheImpl) Clone(ctx context.Context) IndicatorAdaptorCache
func (*DayCacheIndicatorAdaptorCacheImpl) Evaluate ¶
func (i *DayCacheIndicatorAdaptorCacheImpl) Evaluate(ctx context.Context, dp *model.DataPoint) model.StockAction
Evaluate evaluates the signals from the adaptor and caches the result based on the day and time
func (*DayCacheIndicatorAdaptorCacheImpl) Name ¶
func (i *DayCacheIndicatorAdaptorCacheImpl) Name() string
type DaySingleBigCacheIndicatorAdaptorCacheImpl ¶
type DaySingleBigCacheIndicatorAdaptorCacheImpl struct {
MilliInDay int64
// contains filtered or unexported fields
}
func (*DaySingleBigCacheIndicatorAdaptorCacheImpl) CleanUp ¶
func (i *DaySingleBigCacheIndicatorAdaptorCacheImpl) CleanUp()
CleanupOldCaches removes old day caches to manage memory usage
func (*DaySingleBigCacheIndicatorAdaptorCacheImpl) Clone ¶
func (i *DaySingleBigCacheIndicatorAdaptorCacheImpl) Clone(ctx context.Context) IndicatorAdaptorCache
func (*DaySingleBigCacheIndicatorAdaptorCacheImpl) Evaluate ¶
func (i *DaySingleBigCacheIndicatorAdaptorCacheImpl) Evaluate(ctx context.Context, dp *model.DataPoint) model.StockAction
Evaluate evaluates the signals from the adaptor and caches the result based on the day and time
func (*DaySingleBigCacheIndicatorAdaptorCacheImpl) Name ¶
func (i *DaySingleBigCacheIndicatorAdaptorCacheImpl) Name() string
type DaySingleBigDirectCacheIndicatorAdaptorCacheImpl ¶
type DaySingleBigDirectCacheIndicatorAdaptorCacheImpl struct {
MilliInDay int64
// contains filtered or unexported fields
}
func (*DaySingleBigDirectCacheIndicatorAdaptorCacheImpl) CleanUp ¶
func (i *DaySingleBigDirectCacheIndicatorAdaptorCacheImpl) CleanUp()
CleanupOldCaches removes old day caches to manage memory usage
func (*DaySingleBigDirectCacheIndicatorAdaptorCacheImpl) Clone ¶
func (i *DaySingleBigDirectCacheIndicatorAdaptorCacheImpl) Clone(ctx context.Context) IndicatorAdaptorCache
func (*DaySingleBigDirectCacheIndicatorAdaptorCacheImpl) Evaluate ¶
func (i *DaySingleBigDirectCacheIndicatorAdaptorCacheImpl) Evaluate(ctx context.Context, dp *model.DataPoint) model.StockAction
Evaluate evaluates the signals from the adaptor and caches the result based on the day and time
func (*DaySingleBigDirectCacheIndicatorAdaptorCacheImpl) Name ¶
func (i *DaySingleBigDirectCacheIndicatorAdaptorCacheImpl) Name() string
type EMAAdapter ¶
type EMAAdapter struct {
EMAs map[int]*indicator.EMA
CurrentData model.DataPoint
MaxTotalHistoricalData int
HistoricalValues map[int]*utils.CyclicSlice[float64] // Changed to CyclicSlice
// contains filtered or unexported fields
}
func NewEMAAdapter ¶
func NewEMAAdapter(ctx context.Context, periods []int, maxTotalHistoricalData int, monitor monitor.Monitoring) *EMAAdapter
func NewEMAAdapterFromName ¶
func NewEMAAdapterFromName(ctx context.Context, name string, monitor monitor.Monitoring) *EMAAdapter
func (*EMAAdapter) AddDataPoint ¶
func (*EMAAdapter) Clone ¶
func (ea *EMAAdapter) Clone(ctx context.Context) IndicatorAdaptor
func (*EMAAdapter) GetSignal ¶
func (ea *EMAAdapter) GetSignal(ctx context.Context) (result model.StockAction)
func (*EMAAdapter) Name ¶
func (ea *EMAAdapter) Name() string
type EMAMetrics ¶
type EMAMetrics struct {
SignalCounter monitor.CounterMetric
ValueCounter monitor.CounterMetric
// contains filtered or unexported fields
}
type FibonacciAdapter ¶
type FibonacciAdapter struct {
Fibonacci *indicator.Fibonacci
MaxTotalHistoricalData int
HistoricalValues []float64
CurrentFibonacciLevels map[indicator.FibonacciLevel]float64
CurrentData model.DataPoint
// contains filtered or unexported fields
}
FibonacciAdapter manages a Fibonacci indicator and maintains historical values.
func NewFibonacciAdapter ¶
func NewFibonacciAdapter(ctx context.Context, size int, monitor monitor.Monitoring) *FibonacciAdapter
NewFibonacciAdapter initializes and returns a new FibonacciAdapter instance.
func (*FibonacciAdapter) AddDataPoint ¶
AddDataPoint adds a new data point and updates the Fibonacci levels.
func (*FibonacciAdapter) Clone ¶
func (fa *FibonacciAdapter) Clone(ctx context.Context) IndicatorAdaptor
func (*FibonacciAdapter) GetSignal ¶
func (fa *FibonacciAdapter) GetSignal(ctx context.Context) (result model.StockAction)
GetSignal generates a trading signal based on the Fibonacci retracement levels.
func (*FibonacciAdapter) Name ¶
func (fa *FibonacciAdapter) Name() string
Name returns the adapterName of the Fibonacci adapter.
type FibonacciMetrics ¶
type FibonacciMetrics struct {
SignalCounter monitor.CounterMetric
LevelCounter monitor.CounterMetric
// contains filtered or unexported fields
}
type IndicatorAdaptor ¶
type IndicatorAdaptorCache ¶
type IndicatorAdaptorCache interface {
Name() string
Clone(ctx context.Context) IndicatorAdaptorCache
Evaluate(ctx context.Context, data *model.DataPoint) model.StockAction
CleanUp()
}
func NewDayCacheIndicatorAdaptorCacheImpl ¶
func NewDayCacheIndicatorAdaptorCacheImpl(adaptor IndicatorAdaptor) IndicatorAdaptorCache
NewDayCacheIndicatorAdaptorCacheImpl creates a new instance of IndicatorAdaptorCacheImpl
func NewDaySingleBigCacheIndicatorAdaptorCacheImpl ¶
func NewDaySingleBigCacheIndicatorAdaptorCacheImpl(adaptor IndicatorAdaptor) IndicatorAdaptorCache
NewDaySingleBigCacheIndicatorAdaptorCacheImpl creates a new instance of IndicatorAdaptorCacheImpl
func NewDaySingleBigDirectCacheIndicatorAdaptorCacheImpl ¶
func NewDaySingleBigDirectCacheIndicatorAdaptorCacheImpl(adaptor IndicatorAdaptor) IndicatorAdaptorCache
NewDaySingleBigDirectCacheIndicatorAdaptorCacheImpl creates a new instance of IndicatorAdaptorCacheImpl
func NewIndicatorAdaptorCacheImpl ¶
func NewIndicatorAdaptorCacheImpl(adaptor IndicatorAdaptor) IndicatorAdaptorCache
func NewMapIndicatorAdaptorCacheImpl ¶
func NewMapIndicatorAdaptorCacheImpl(adaptor IndicatorAdaptor) IndicatorAdaptorCache
type InitializeStatus ¶
type InitializeStatus int
const ( NOT_INITIALIZED InitializeStatus = iota INITIALIZED START_SIGNALING )
type MACDAdapter ¶
type MACDAdapter struct {
MACD *indicator.MACD
CurrentData model.DataPoint
MaxTotalHistoricalData int
HistoricalValues []indicator.MACDResult
// contains filtered or unexported fields
}
MACDAdapter handles a single MACD indicator and maintains historical values.
func NewMACDAdapter ¶
func NewMACDAdapter(ctx context.Context, shortPeriod, longPeriod, signalPeriod, maxTotalHistoricalData int, monitor monitor.Monitoring) *MACDAdapter
NewMACDAdapter initializes a new MACDAdapter instance.
func NewMACDAdapterFromName ¶
func NewMACDAdapterFromName(ctx context.Context, name string, monitor monitor.Monitoring) *MACDAdapter
func (*MACDAdapter) AddDataPoint ¶
AddDataPoint adds a new data point and updates the MACD.
func (*MACDAdapter) Clone ¶
func (ma *MACDAdapter) Clone(ctx context.Context) IndicatorAdaptor
func (*MACDAdapter) GetSignal ¶
func (ma *MACDAdapter) GetSignal(ctx context.Context) (result model.StockAction)
GetSignal returns a trading signal based on the MACD logic.
func (*MACDAdapter) Name ¶
func (ma *MACDAdapter) Name() string
Name returns the adapterName of the MACD adapter.
type MACDMetrics ¶
type MACDMetrics struct {
DataPointsCounter monitor.CounterMetric
SignalCounter monitor.CounterMetric
MACDLine monitor.GaugeMetric
SignalLine monitor.GaugeMetric
// contains filtered or unexported fields
}
type MapIndicatorAdaptorCacheImpl ¶
type MapIndicatorAdaptorCacheImpl struct {
// contains filtered or unexported fields
}
func (*MapIndicatorAdaptorCacheImpl) CleanUp ¶
func (i *MapIndicatorAdaptorCacheImpl) CleanUp()
func (*MapIndicatorAdaptorCacheImpl) Clone ¶
func (i *MapIndicatorAdaptorCacheImpl) Clone(ctx context.Context) IndicatorAdaptorCache
func (*MapIndicatorAdaptorCacheImpl) Evaluate ¶
func (i *MapIndicatorAdaptorCacheImpl) Evaluate(ctx context.Context, dp *model.DataPoint) model.StockAction
func (*MapIndicatorAdaptorCacheImpl) Name ¶
func (i *MapIndicatorAdaptorCacheImpl) Name() string
type PivotPointAdapter ¶
type PivotPointAdapter struct {
PivotPoint *indicator.PivotPoint
MaxTotalHistoricalData int
HistoricalValues []model.DataPoint
CurrentData model.DataPoint
Threshold int
// contains filtered or unexported fields
}
func NewPivotPointAdapter ¶
func NewPivotPointAdapter(ctx context.Context, maxTotalHistoricalData, threshold int, monitor monitor.Monitoring) *PivotPointAdapter
func NewPivotPointAdapterFromName ¶
func NewPivotPointAdapterFromName(ctx context.Context, name string, monitor monitor.Monitoring) *PivotPointAdapter
func (*PivotPointAdapter) AddDataPoint ¶
func (*PivotPointAdapter) Clone ¶
func (ppa *PivotPointAdapter) Clone(ctx context.Context) IndicatorAdaptor
func (*PivotPointAdapter) GetSignal ¶
func (ppa *PivotPointAdapter) GetSignal(ctx context.Context) (result model.StockAction)
func (*PivotPointAdapter) Name ¶
func (ppa *PivotPointAdapter) Name() string
type PivotPointMetrics ¶
type PivotPointMetrics struct {
SignalCounter monitor.CounterMetric
LevelGauge monitor.GaugeMetric
// contains filtered or unexported fields
}
type RSIAdapter ¶
type RSIAdapter struct {
RSI *indicator.RSI
MaxTotalHistoricalData int
HistoricalValues *utils.CyclicSlice[float64]
OverboughtThreshold float64
OversoldThreshold float64
// contains filtered or unexported fields
}
func NewRSIAdapter ¶
func NewRSIAdapter(ctx context.Context, period, maxTotalHistoricalData int, overboughtThreshold, oversoldThreshold float64, monitor monitor.Monitoring) *RSIAdapter
func NewRSIAdapterFromName ¶
func NewRSIAdapterFromName(ctx context.Context, name string, monitor monitor.Monitoring) *RSIAdapter
func (*RSIAdapter) AddDataPoint ¶
func (*RSIAdapter) Clone ¶
func (ra *RSIAdapter) Clone(ctx context.Context) IndicatorAdaptor
func (*RSIAdapter) GetSignal ¶
func (ra *RSIAdapter) GetSignal(ctx context.Context) (result model.StockAction)
func (*RSIAdapter) Name ¶
func (ra *RSIAdapter) Name() string
type RSIMetrics ¶
type RSIMetrics struct {
SignalCounter monitor.CounterMetric
RsiValueCounter monitor.CounterMetric
LevelGauge monitor.GaugeMetric
// contains filtered or unexported fields
}
type SuperTrendAdapter ¶
type SuperTrendAdapter struct {
SuperTrend *indicator.SuperTrend
PreviousTrend bool
CurrentTrend bool
// contains filtered or unexported fields
}
SuperTrendAdapter handles a single SuperTrend indicator and maintains historical values.
func NewSuperTrendAdapter ¶
func NewSuperTrendAdapter(ctx context.Context, period int, multiplier float64, monitor monitor.Monitoring) *SuperTrendAdapter
NewSuperTrendAdapter initializes a new SuperTrendAdapter instance.
func NewSuperTrendAdapterFromName ¶
func NewSuperTrendAdapterFromName(ctx context.Context, name string, monitor monitor.Monitoring) *SuperTrendAdapter
func (*SuperTrendAdapter) AddDataPoint ¶
AddDataPoint adds a new data point and updates the SuperTrend.
func (*SuperTrendAdapter) Clone ¶
func (sta *SuperTrendAdapter) Clone(ctx context.Context) IndicatorAdaptor
Clone creates a new instance of SuperTrendAdapter with the same configuration.
func (*SuperTrendAdapter) GetSignal ¶
func (sta *SuperTrendAdapter) GetSignal(ctx context.Context) (result model.StockAction)
GetSignal returns a trading signal based on the SuperTrend logic.
func (*SuperTrendAdapter) Name ¶
func (sta *SuperTrendAdapter) Name() string
Name returns the adapterName of the SuperTrend adapter.
type SuperTrendMetrics ¶
type SuperTrendMetrics struct {
SignalCounter monitor.CounterMetric
TrendCounter monitor.CounterMetric
TrendLine monitor.CounterMetric
// contains filtered or unexported fields
}
Source Files
¶
- common.go
- day_cache_indicator_adaptor_cache.go
- day_single_big_cache_indicator_adaptor_cache.go
- day_single_big_direct_cache_indicator_adaptor_cache.go
- ema_adaptor.go
- fibonacci_adaptor.go
- indicator_adaptor_cache1.go
- indicator_adaptor_cache2.go
- macd_adapter.go
- map_cache_indicator_adaptor_cache.go
- pivot_adaptor.go
- rsi_adaptor.go
- super_trend_adaptor.go
- types.go