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)
This commit is contained in:
2026-07-28 14:20:41 +09:00
parent b3ad421c76
commit b5544d1209
6 changed files with 520 additions and 0 deletions
+116
View File
@@ -1024,4 +1024,120 @@ var (
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
)