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
+12
View File
@@ -156,6 +156,18 @@ func internalLoad() (uintptr, error) {
purego.RegisterLibFunc(&tsf, ptr, "TA_TSF")
purego.RegisterLibFunc(&variance, ptr, "TA_VAR")
purego.RegisterLibFunc(&atr, ptr, "TA_ATR")
purego.RegisterLibFunc(&natr, ptr, "TA_NATR")
purego.RegisterLibFunc(&trange, ptr, "TA_TRANGE")
purego.RegisterLibFunc(&ad, ptr, "TA_AD")
purego.RegisterLibFunc(&adosc, ptr, "TA_ADOSC")
purego.RegisterLibFunc(&cmf, ptr, "TA_CMF")
purego.RegisterLibFunc(&nvi, ptr, "TA_NVI")
purego.RegisterLibFunc(&obv, ptr, "TA_OBV")
purego.RegisterLibFunc(&pvi, ptr, "TA_PVI")
purego.RegisterLibFunc(&pvo, ptr, "TA_PVO")
return ptr, nil
}