feat(overlap): add advanced overlap studies wrappers and wire TA-Lib symbols

- add TA-Lib function pointer signatures in functions.go for:
  MA, MAMA, MAVP, MIDPOINT, MIDPRICE, SAR, SAREXT, SMA, T3, TEMA, TRIMA, WMA
- register new symbols in Load() via purego.RegisterLibFunc in loader.go
- add public overlap study wrappers in overlap_studies.go with consistent nil-on-failure behavior
- update README overlap studies list to match implemented API
This commit is contained in:
2026-07-27 16:04:46 +09:00
parent 89d990ff1b
commit f1c96eaf1d
4 changed files with 586 additions and 1 deletions
+12
View File
@@ -101,6 +101,18 @@ func Load() (uintptr, error) {
purego.RegisterLibFunc(&ema, ptr, "TA_EMA")
purego.RegisterLibFunc(&ht_trendline, ptr, "TA_HT_TRENDLINE")
purego.RegisterLibFunc(&kama, ptr, "TA_KAMA")
purego.RegisterLibFunc(&ma, ptr, "TA_MA")
purego.RegisterLibFunc(&mama, ptr, "TA_MAMA")
purego.RegisterLibFunc(&mavp, ptr, "TA_MAVP")
purego.RegisterLibFunc(&midpoint, ptr, "TA_MIDPOINT")
purego.RegisterLibFunc(&midprice, ptr, "TA_MIDPRICE")
purego.RegisterLibFunc(&sar, ptr, "TA_SAR")
purego.RegisterLibFunc(&sarext, ptr, "TA_SAREXT")
purego.RegisterLibFunc(&sma, ptr, "TA_SMA")
purego.RegisterLibFunc(&t3, ptr, "TA_T3")
purego.RegisterLibFunc(&tema, ptr, "TA_TEMA")
purego.RegisterLibFunc(&trima, ptr, "TA_TRIMA")
purego.RegisterLibFunc(&wma, ptr, "TA_WMA")
return ptr, nil
}