- add TA-Lib bindings and loader registrations for overlap studies: TA_ACCBANDS, TA_BBANDS, TA_DEMA, TA_EMA, TA_HT_TRENDLINE, TA_KAMA - add new public wrappers in overlap_studies.go: AccBands, BBands, DEMA, EMA, HT_TRENDLINE, KAMA - refactor momentum wrapper names to consistent Go-style exports (e.g. Aroon/AroonOsc, MACDExt/MACDFix, Stoch/StochF/StochRSI, MinusDI/MinusDM, PlusDI/PlusDM, Trix, UltOsc, WillR) - rename MAType constants to MA_* for clearer namespacing - update README to reflect the current exported API and overlap coverage
742 lines
12 KiB
Go
742 lines
12 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
|
|
)
|