Files
talib/functions.go
T
beejay b5544d1209 feat: add volatility and volume indicator wrappers via purego
- add TA-Lib function pointer signatures for ATR/NATR/TRANGE and AD/ADOSC/CMF/NVI/OBV/PVI/PVO in functions.go
- register new native symbols in loader.go
- add new wrapper sources: volatility_indicators.go and volume_indicators.go
- update README function matrix with new volatility and volume categories
- add ta-lib upstream as a git submodule (.gitmodules + ta-lib gitlink)
2026-07-28 14:20:41 +09:00

1144 lines
19 KiB
Go

package talib
// Cycle Indicators (HT) - Hilbert Transform
var (
ht_dcperiod func(
startIdx int32,
endIdx int32,
inReal []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
ht_dcphase func(
startIdx int32,
endIdx int32,
inReal []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
ht_phasor func(
startIdx int32,
endIdx int32,
inReal []float64,
outBegIdx *int32,
outNBElement *int32,
outInPhase []float64,
outQuadrature []float64,
) int32
ht_sine func(
startIdx int32,
endIdx int32,
inReal []float64,
outBegIdx *int32,
outNBElement *int32,
outSine []float64,
outLeadSine []float64,
) int32
ht_trendmode func(
startIdx int32,
endIdx int32,
inReal []float64,
outBegIdx *int32,
outNBElement *int32,
outInteger []int32,
) int32
)
// Math Operators
var (
add func(
startIdx int32,
endIdx int32,
inReal0 []float64,
inReal1 []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
div func(
startIdx int32,
endIdx int32,
inReal0 []float64,
inReal1 []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
max func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
maxIndex func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outInteger []int32,
) int32
min func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
minIndex func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outInteger []int32,
) int32
minMax func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outMin []float64,
outMax []float64,
) int32
minMaxIndex func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outMinIndex []int32,
outMaxIndex []int32,
) int32
mult func(
startIdx int32,
endIdx int32,
inReal0 []float64,
inReal1 []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
sub func(
startIdx int32,
endIdx int32,
inReal0 []float64,
inReal1 []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
sum func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
cos func(
startIdx int32,
endIdx int32,
inReal []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
acos func(
startIdx int32,
endIdx int32,
inReal []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
cosh func(
startIdx int32,
endIdx int32,
inReal []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
sin func(
startIdx int32,
endIdx int32,
inReal []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
asin func(
startIdx int32,
endIdx int32,
inReal []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
sinh func(
startIdx int32,
endIdx int32,
inReal []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
tan func(
startIdx int32,
endIdx int32,
inReal []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
atan func(
startIdx int32,
endIdx int32,
inReal []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
tanh func(
startIdx int32,
endIdx int32,
inReal []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
ceil func(
startIdx int32,
endIdx int32,
inReal []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
exp func(
startIdx int32,
endIdx int32,
inReal []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
floor func(
startIdx int32,
endIdx int32,
inReal []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
sqrt func(
startIdx int32,
endIdx int32,
inReal []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
ln func(
startIdx int32,
endIdx int32,
inReal []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
log10 func(
startIdx int32,
endIdx int32,
inReal []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
adx func(
startIdx int32,
endIdx int32,
inHigh []float64,
inLow []float64,
inClose []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
adxr func(
startIdx int32,
endIdx int32,
inHigh []float64,
inLow []float64,
inClose []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
apo func(
startIdx int32,
endIdx int32,
inReal []float64,
optInFastPeriod int32,
optInSlowPeriod int32,
optInMAType int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
aroon func(
startIdx int32,
endIdx int32,
inHigh []float64,
inLow []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outAroonDown []float64,
outAroonUp []float64,
) int32
aroonosc func(
startIdx int32,
endIdx int32,
inHigh []float64,
inLow []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
bop func(
startIdx int32,
endIdx int32,
inOpen []float64,
inHigh []float64,
inLow []float64,
inClose []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
cci func(
startIdx int32,
endIdx int32,
inHigh []float64,
inLow []float64,
inClose []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
cmo func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
dx func(
startIdx int32,
endIdx int32,
inHigh []float64,
inLow []float64,
inClose []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
imi func(
startIdx int32,
endIdx int32,
inOpen []float64,
inClose []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
macd func(
startIdx int32,
endIdx int32,
inReal []float64,
optInFastPeriod int32,
optInSlowPeriod int32,
optInSignalPeriod int32,
outBegIdx *int32,
outNBElement *int32,
outMACD []float64,
outMACDSignal []float64,
outMACDHist []float64,
) int32
macdext func(
startIdx int32,
endIdx int32,
inReal []float64,
optInFastPeriod int32,
optInFastMAType int32,
optInSlowPeriod int32,
optInSlowMAType int32,
optInSignalPeriod int32,
optInSignalMAType int32,
outBegIdx *int32,
outNBElement *int32,
outMACD []float64,
outMACDSignal []float64,
outMACDHist []float64,
) int32
macdfix func(
startIdx int32,
endIdx int32,
inReal []float64,
optInSignalPeriod int32,
outBegIdx *int32,
outNBElement *int32,
outMACD []float64,
outMACDSignal []float64,
outMACDHist []float64,
) int32
mfi func(
startIdx int32,
endIdx int32,
inHigh []float64,
inLow []float64,
inClose []float64,
inVolume []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
mom func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
minus_di func(
startIdx int32,
endIdx int32,
inHigh []float64,
inLow []float64,
inClose []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
minus_dm func(
startIdx int32,
endIdx int32,
inHigh []float64,
inLow []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
plus_di func(
startIdx int32,
endIdx int32,
inHigh []float64,
inLow []float64,
inClose []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
plus_dm func(
startIdx int32,
endIdx int32,
inHigh []float64,
inLow []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
ppo func(
startIdx int32,
endIdx int32,
inReal []float64,
optInFastPeriod int32,
optInSlowPeriod int32,
optInMAType int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
roc func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
rocp func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
rocr func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
rocr100 func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
rsi func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
stoch func(
startIdx int32,
endIdx int32,
inHigh []float64,
inLow []float64,
inClose []float64,
optInFastKPeriod int32,
optInSlowKPeriod int32,
optInSlowKMAType int32,
optInSlowDPeriod int32,
optInSlowDMAType int32,
outBegIdx *int32,
outNBElement *int32,
outSlowK []float64,
outSlowD []float64,
) int32
stochf func(
startIdx int32,
endIdx int32,
inHigh []float64,
inLow []float64,
inClose []float64,
optInFastKPeriod int32,
optInFastDPeriod int32,
optInFastDMAType int32,
outBegIdx *int32,
outNBElement *int32,
outFastK []float64,
outFastD []float64,
) int32
stochrsi func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
optInFastKPeriod int32,
optInFastDPeriod int32,
optInFastDMAType int32,
outBegIdx *int32,
outNBElement *int32,
outFastK []float64,
outFastD []float64,
) int32
trix func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
ultosc func(
startIdx int32,
endIdx int32,
inHigh []float64,
inLow []float64,
inClose []float64,
optInTimePeriod1 int32,
optInTimePeriod2 int32,
optInTimePeriod3 int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
willr func(
startIdx int32,
endIdx int32,
inHigh []float64,
inLow []float64,
inClose []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
accbands func(
startIdx int32,
endIdx int32,
inHigh []float64,
inLow []float64,
inClose []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outUpperBand []float64,
outMiddleBand []float64,
outLowerBand []float64,
) int32
bbands func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
optInNbDevUp float64,
optInNbDevDn float64,
optInMAType int32,
outBegIdx *int32,
outNBElement *int32,
outUpperBand []float64,
outMiddleBand []float64,
outLowerBand []float64,
) int32
dema func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
ema func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
ht_trendline func(
startIdx int32,
endIdx int32,
inReal []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
kama func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
ma func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
optInMAType int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
mama func(
startIdx int32,
endIdx int32,
inReal []float64,
optInFastLimit float64,
optInSlowLimit float64,
outBegIdx *int32,
outNBElement *int32,
outMAMA []float64,
outFAMA []float64,
) int32
mavp func(
startIdx int32,
endIdx int32,
inReal []float64,
inPeriods []float64,
optInMinPeriod int32,
optInMaxPeriod int32,
optInMAType int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
midpoint func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
midprice func(
startIdx int32,
endIdx int32,
inHigh []float64,
inLow []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
sar func(
startIdx int32,
endIdx int32,
inHigh []float64,
inLow []float64,
optInAcceleration float64,
optInMaximum float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
sarext func(
startIdx int32,
endIdx int32,
inHigh []float64,
inLow []float64,
optInStartValue float64,
optInOffsetOnReverse float64,
optInAccelerationInitLong float64,
optInAccelerationLong float64,
optInAccelerationMaxLong float64,
optInAccelerationInitShort float64,
optInAccelerationShort float64,
optInAccelerationMaxShort float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
sma func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
t3 func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
optInVFactor float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
tema func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
trima func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
wma func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
avgdev func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
avgprice func(
startIdx int32,
endIdx int32,
inOpen []float64,
inHigh []float64,
inLow []float64,
inClose []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
medprice func(
startIdx int32,
endIdx int32,
inHigh []float64,
inLow []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
typprice func(
startIdx int32,
endIdx int32,
inHigh []float64,
inLow []float64,
inClose []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
wclprice func(
startIdx int32,
endIdx int32,
inHigh []float64,
inLow []float64,
inClose []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
beta func(
startIdx int32,
endIdx int32,
inReal0 []float64,
inReal1 []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
correl func(
startIdx int32,
endIdx int32,
inReal0 []float64,
inReal1 []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
linearreg func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
linearreg_angle func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
linearreg_intercept func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
linearreg_slope func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
stddev func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
optInNbDev float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
tsf func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
variance func(
startIdx int32,
endIdx int32,
inReal []float64,
optInTimePeriod int32,
optInNbDev float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
atr func(
startIdx int32,
endIdx int32,
inHigh []float64,
inLow []float64,
inClose []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
natr func(
startIdx int32,
endIdx int32,
inHigh []float64,
inLow []float64,
inClose []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
trange func(
startIdx int32,
endIdx int32,
inHigh []float64,
inLow []float64,
inClose []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
ad func(
startIdx int32,
endIdx int32,
inHigh []float64,
inLow []float64,
inClose []float64,
inVolume []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
adosc func(
startIdx int32,
endIdx int32,
inHigh []float64,
inLow []float64,
inClose []float64,
inVolume []float64,
optInFastPeriod int32,
optInSlowPeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
cmf func(
startIdx int32,
endIdx int32,
inHigh []float64,
inLow []float64,
inClose []float64,
inVolume []float64,
optInTimePeriod int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
nvi func(
startIdx int32,
endIdx int32,
inReal []float64,
inVolume []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
obv func(
startIdx int32,
endIdx int32,
inReal []float64,
inVolume []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
pvi func(
startIdx int32,
endIdx int32,
inReal []float64,
inVolume []float64,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
pvo func(
startIdx int32,
endIdx int32,
inVolume []float64,
optInFastPeriod int32,
optInSlowPeriod int32,
optInMAType int32,
outBegIdx *int32,
outNBElement *int32,
outReal []float64,
) int32
)