@@ -139,6 +139,33 @@ cdef np.ndarray make_int_array(np.npy_intp length, int lookback):
139139 return outinteger
140140
141141
142+ @ wraparound (False ) # turn off relative indexing from end of lists
143+ @ boundscheck (False ) # turn off bounds-checking for entire function
144+ def ACCBANDS ( np.ndarray high not None , np.ndarray low not None , np.ndarray close not None , int timeperiod = - 2 ** 31 ):
145+ """ ACCBANDS(high, low, close[, timeperiod=?])"""
146+ cdef:
147+ np.npy_intp length
148+ int begidx, endidx, lookback
149+ TA_RetCode retCode
150+ int outbegidx
151+ int outnbelement
152+ np.ndarray outrealupperband
153+ np.ndarray outrealmiddleband
154+ np.ndarray outreallowerband
155+ high = check_array(high)
156+ low = check_array(low)
157+ close = check_array(close)
158+ length = check_length3(high, low, close)
159+ begidx = check_begidx3(length, < double * > (high.data), < double * > (low.data), < double * > (close.data))
160+ endidx = < int > length - begidx - 1
161+ lookback = begidx + lib.TA_ACCBANDS_Lookback( timeperiod )
162+ outrealupperband = make_double_array(length, lookback)
163+ outrealmiddleband = make_double_array(length, lookback)
164+ outreallowerband = make_double_array(length, lookback)
165+ retCode = lib.TA_ACCBANDS( 0 , endidx , < double * > (high.data)+ begidx , < double * > (low.data)+ begidx , < double * > (close.data)+ begidx , timeperiod , & outbegidx , & outnbelement , < double * > (outrealupperband.data)+ lookback , < double * > (outrealmiddleband.data)+ lookback , < double * > (outreallowerband.data)+ lookback )
166+ _ta_check_success(" TA_ACCBANDS" , retCode)
167+ return outrealupperband , outrealmiddleband , outreallowerband
168+
142169@ wraparound (False ) # turn off relative indexing from end of lists
143170@ boundscheck (False ) # turn off bounds-checking for entire function
144171def ACOS ( np.ndarray real not None ):
@@ -555,6 +582,27 @@ def AVGPRICE( np.ndarray open not None , np.ndarray high not None , np.ndarray l
555582 _ta_check_success(" TA_AVGPRICE" , retCode)
556583 return outreal
557584
585+ @ wraparound (False ) # turn off relative indexing from end of lists
586+ @ boundscheck (False ) # turn off bounds-checking for entire function
587+ def AVGDEV ( np.ndarray real not None , int timeperiod = - 2 ** 31 ):
588+ """ AVGDEV(real[, timeperiod=?])"""
589+ cdef:
590+ np.npy_intp length
591+ int begidx, endidx, lookback
592+ TA_RetCode retCode
593+ int outbegidx
594+ int outnbelement
595+ np.ndarray outreal
596+ real = check_array(real)
597+ length = real.shape[0 ]
598+ begidx = check_begidx1(length, < double * > (real.data))
599+ endidx = < int > length - begidx - 1
600+ lookback = begidx + lib.TA_AVGDEV_Lookback( timeperiod )
601+ outreal = make_double_array(length, lookback)
602+ retCode = lib.TA_AVGDEV( 0 , endidx , < double * > (real.data)+ begidx , timeperiod , & outbegidx , & outnbelement , < double * > (outreal.data)+ lookback )
603+ _ta_check_success(" TA_AVGDEV" , retCode)
604+ return outreal
605+
558606@ wraparound (False ) # turn off relative indexing from end of lists
559607@ boundscheck (False ) # turn off bounds-checking for entire function
560608def BBANDS ( np.ndarray real not None , int timeperiod = - 2 ** 31 , double nbdevup = - 4e37 , double nbdevdn = - 4e37 , int matype = 0 ):
@@ -3174,6 +3222,28 @@ def HT_TRENDMODE( np.ndarray real not None ):
31743222 _ta_check_success(" TA_HT_TRENDMODE" , retCode)
31753223 return outinteger
31763224
3225+ @ wraparound (False ) # turn off relative indexing from end of lists
3226+ @ boundscheck (False ) # turn off bounds-checking for entire function
3227+ def IMI ( np.ndarray open not None , np.ndarray close not None , int timeperiod = - 2 ** 31 ):
3228+ """ IMI(open, close[, timeperiod=?])"""
3229+ cdef:
3230+ np.npy_intp length
3231+ int begidx, endidx, lookback
3232+ TA_RetCode retCode
3233+ int outbegidx
3234+ int outnbelement
3235+ np.ndarray outreal
3236+ open = check_array(open )
3237+ close = check_array(close)
3238+ length = check_length2(open , close)
3239+ begidx = check_begidx2(length, < double * > (open .data), < double * > (close.data))
3240+ endidx = < int > length - begidx - 1
3241+ lookback = begidx + lib.TA_IMI_Lookback( timeperiod )
3242+ outreal = make_double_array(length, lookback)
3243+ retCode = lib.TA_IMI( 0 , endidx , < double * > (open .data)+ begidx , < double * > (close.data)+ begidx , timeperiod , & outbegidx , & outnbelement , < double * > (outreal.data)+ lookback )
3244+ _ta_check_success(" TA_IMI" , retCode)
3245+ return outreal
3246+
31773247@ wraparound (False ) # turn off relative indexing from end of lists
31783248@ boundscheck (False ) # turn off bounds-checking for entire function
31793249def KAMA ( np.ndarray real not None , int timeperiod = - 2 ** 31 ):
@@ -5219,4 +5289,4 @@ def WMA( np.ndarray real not None , int timeperiod=-2**31 ):
52195289 _ta_check_success(" TA_WMA" , retCode)
52205290 return outreal
52215291
5222- __TA_FUNCTION_NAMES__ = ["ACOS","AD","ADD","ADOSC","ADX","ADXR","APO","AROON","AROONOSC","ASIN","ATAN","ATR","AVGPRICE","BBANDS","BETA","BOP","CCI","CDL2CROWS","CDL3BLACKCROWS","CDL3INSIDE","CDL3LINESTRIKE","CDL3OUTSIDE","CDL3STARSINSOUTH","CDL3WHITESOLDIERS","CDLABANDONEDBABY","CDLADVANCEBLOCK","CDLBELTHOLD","CDLBREAKAWAY","CDLCLOSINGMARUBOZU","CDLCONCEALBABYSWALL","CDLCOUNTERATTACK","CDLDARKCLOUDCOVER","CDLDOJI","CDLDOJISTAR","CDLDRAGONFLYDOJI","CDLENGULFING","CDLEVENINGDOJISTAR","CDLEVENINGSTAR","CDLGAPSIDESIDEWHITE","CDLGRAVESTONEDOJI","CDLHAMMER","CDLHANGINGMAN","CDLHARAMI","CDLHARAMICROSS","CDLHIGHWAVE","CDLHIKKAKE","CDLHIKKAKEMOD","CDLHOMINGPIGEON","CDLIDENTICAL3CROWS","CDLINNECK","CDLINVERTEDHAMMER","CDLKICKING","CDLKICKINGBYLENGTH","CDLLADDERBOTTOM","CDLLONGLEGGEDDOJI","CDLLONGLINE","CDLMARUBOZU","CDLMATCHINGLOW","CDLMATHOLD","CDLMORNINGDOJISTAR","CDLMORNINGSTAR","CDLONNECK","CDLPIERCING","CDLRICKSHAWMAN","CDLRISEFALL3METHODS","CDLSEPARATINGLINES","CDLSHOOTINGSTAR","CDLSHORTLINE","CDLSPINNINGTOP","CDLSTALLEDPATTERN","CDLSTICKSANDWICH","CDLTAKURI","CDLTASUKIGAP","CDLTHRUSTING","CDLTRISTAR","CDLUNIQUE3RIVER","CDLUPSIDEGAP2CROWS","CDLXSIDEGAP3METHODS","CEIL","CMO","CORREL","COS","COSH","DEMA","DIV","DX","EMA","EXP","FLOOR","HT_DCPERIOD","HT_DCPHASE","HT_PHASOR","HT_SINE","HT_TRENDLINE","HT_TRENDMODE","KAMA","LINEARREG","LINEARREG_ANGLE","LINEARREG_INTERCEPT","LINEARREG_SLOPE","LN","LOG10","MA","MACD","MACDEXT","MACDFIX","MAMA","MAVP","MAX","MAXINDEX","MEDPRICE","MFI","MIDPOINT","MIDPRICE","MIN","MININDEX","MINMAX","MINMAXINDEX","MINUS_DI","MINUS_DM","MOM","MULT","NATR","OBV","PLUS_DI","PLUS_DM","PPO","ROC","ROCP","ROCR","ROCR100","RSI","SAR","SAREXT","SIN","SINH","SMA","SQRT","STDDEV","STOCH","STOCHF","STOCHRSI","SUB","SUM","T3","TAN","TANH","TEMA","TRANGE","TRIMA","TRIX","TSF","TYPPRICE","ULTOSC","VAR","WCLPRICE","WILLR","WMA"]
5292+ __TA_FUNCTION_NAMES__ = ["ACCBANDS","ACOS","AD","ADD","ADOSC","ADX","ADXR","APO","AROON","AROONOSC","ASIN","ATAN","ATR","AVGPRICE","AVGDEV","BBANDS","BETA","BOP","CCI","CDL2CROWS","CDL3BLACKCROWS","CDL3INSIDE","CDL3LINESTRIKE","CDL3OUTSIDE","CDL3STARSINSOUTH","CDL3WHITESOLDIERS","CDLABANDONEDBABY","CDLADVANCEBLOCK","CDLBELTHOLD","CDLBREAKAWAY","CDLCLOSINGMARUBOZU","CDLCONCEALBABYSWALL","CDLCOUNTERATTACK","CDLDARKCLOUDCOVER","CDLDOJI","CDLDOJISTAR","CDLDRAGONFLYDOJI","CDLENGULFING","CDLEVENINGDOJISTAR","CDLEVENINGSTAR","CDLGAPSIDESIDEWHITE","CDLGRAVESTONEDOJI","CDLHAMMER","CDLHANGINGMAN","CDLHARAMI","CDLHARAMICROSS","CDLHIGHWAVE","CDLHIKKAKE","CDLHIKKAKEMOD","CDLHOMINGPIGEON","CDLIDENTICAL3CROWS","CDLINNECK","CDLINVERTEDHAMMER","CDLKICKING","CDLKICKINGBYLENGTH","CDLLADDERBOTTOM","CDLLONGLEGGEDDOJI","CDLLONGLINE","CDLMARUBOZU","CDLMATCHINGLOW","CDLMATHOLD","CDLMORNINGDOJISTAR","CDLMORNINGSTAR","CDLONNECK","CDLPIERCING","CDLRICKSHAWMAN","CDLRISEFALL3METHODS","CDLSEPARATINGLINES","CDLSHOOTINGSTAR","CDLSHORTLINE","CDLSPINNINGTOP","CDLSTALLEDPATTERN","CDLSTICKSANDWICH","CDLTAKURI","CDLTASUKIGAP","CDLTHRUSTING","CDLTRISTAR","CDLUNIQUE3RIVER","CDLUPSIDEGAP2CROWS","CDLXSIDEGAP3METHODS","CEIL","CMO","CORREL","COS","COSH","DEMA","DIV","DX","EMA","EXP","FLOOR","HT_DCPERIOD","HT_DCPHASE","HT_PHASOR","HT_SINE","HT_TRENDLINE","HT_TRENDMODE","IMI","KAMA","LINEARREG","LINEARREG_ANGLE","LINEARREG_INTERCEPT","LINEARREG_SLOPE","LN","LOG10","MA","MACD","MACDEXT","MACDFIX","MAMA","MAVP","MAX","MAXINDEX","MEDPRICE","MFI","MIDPOINT","MIDPRICE","MIN","MININDEX","MINMAX","MINMAXINDEX","MINUS_DI","MINUS_DM","MOM","MULT","NATR","OBV","PLUS_DI","PLUS_DM","PPO","ROC","ROCP","ROCR","ROCR100","RSI","SAR","SAREXT","SIN","SINH","SMA","SQRT","STDDEV","STOCH","STOCHF","STOCHRSI","SUB","SUM","T3","TAN","TANH","TEMA","TRANGE","TRIMA","TRIX","TSF","TYPPRICE","ULTOSC","VAR","WCLPRICE","WILLR","WMA"]
0 commit comments