<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent changes to bugs</title><link href="https://sourceforge.net/p/ta-lib/bugs/" rel="alternate"/><link href="https://sourceforge.net/p/ta-lib/bugs/feed.atom" rel="self"/><id>https://sourceforge.net/p/ta-lib/bugs/</id><updated>2021-11-24T11:49:23.648000Z</updated><subtitle>Recent changes to bugs</subtitle><entry><title>UnstablePeriod</title><link href="https://sourceforge.net/p/ta-lib/bugs/109/" rel="alternate"/><published>2021-11-24T11:49:23.648000Z</published><updated>2021-11-24T11:49:23.648000Z</updated><author><name>Mike Bertoli</name><uri>https://sourceforge.net/u/frozenemberz/</uri></author><id>https://sourceforge.net65ca76a43de5b8c7ba9d8797d92a74b1ae130e53</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;ta-lib is a great project and I'm using the abstraction interface to calculate all indicators for a bunch of stocks. I am a little confused about how the unstablePeriod is working. I would like to update indicators instead of rerunning it when I get new data for price. I have it somewhat working things like on balance volume get reset even with the unstablePeriod set to about 100 globally. I read that you can set the start index equal to the end index and walk through the data for each data point but I can't seem to get that to work. was it meant that the start index should be set to the end index of the previous data set of price? or the start index should be set to to itself esentially and do that for all points.  i wrote it a few years ago and had some documentation but cant find where it is located. some links were inactive now. any place i can go to for resources on this? Thanks.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>#108 Issues building Docker Image </title><link href="https://sourceforge.net/p/ta-lib/bugs/108/?limit=25#de89" rel="alternate"/><published>2021-01-25T20:10:07.760000Z</published><updated>2021-01-25T20:10:07.760000Z</updated><author><name>Alexander Trufanov</name><uri>https://sourceforge.net/u/trufanov/</uri></author><id>https://sourceforge.net76c570e5e9184812cf54635bd35f0c4610ecf94f</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;ta-lib is a library written in C. It's not a python module and can't be loaded into python directly. You need a python wrapper around ta-lib. By "import talib" you are trying to find and load such wrapper. The python wrapper is another project and hosted here: &lt;a href="https://github.com/mrjbq7/ta-lib" rel="nofollow"&gt;https://github.com/mrjbq7/ta-lib&lt;/a&gt;&lt;br/&gt;
It could be build on machine or installed with help of "pip install ta-lib". So you should have both - c library and python wrapper for it on machine.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>#108 Issues building Docker Image </title><link href="https://sourceforge.net/p/ta-lib/bugs/108/?limit=25#da44" rel="alternate"/><published>2021-01-25T13:25:56.436000Z</published><updated>2021-01-25T13:25:56.436000Z</updated><author><name>kas nawaz</name><uri>https://sourceforge.net/u/kaspersky/</uri></author><id>https://sourceforge.netf80218de2d63e26ae017de35e8690ee754b20cfe</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Digging deeper into the  build inside the config.log,  I see:&lt;/p&gt;
&lt;p&gt;configure: &lt;strong&gt;failed program&lt;/strong&gt; was:&lt;br/&gt;
| /&lt;em&gt; confdefs.h.  &lt;/em&gt;/&lt;br/&gt;
| #define PACKAGE_NAME "ta-lib"&lt;br/&gt;
| #define PACKAGE_TARNAME "ta-lib"&lt;br/&gt;
| #define PACKAGE_VERSION "0.4.0"&lt;br/&gt;
| #define PACKAGE_STRING "ta-lib 0.4.0"&lt;br/&gt;
| #define PACKAGE_BUGREPORT "http://sourceforge.net/tracker/?group_id=8903&amp;amp;atid=108903"&lt;br/&gt;
| #define PACKAGE "ta-lib"&lt;br/&gt;
| #define VERSION "0.4.0"&lt;/p&gt;
&lt;p&gt;and&lt;/p&gt;
&lt;p&gt;configure:20612: checking for pow&lt;br/&gt;
configure:20668: gcc -o conftest -g -O2   conftest.c -lpthread -ldl  &amp;gt;&amp;amp;5&lt;br/&gt;
conftest.c:69:6: &lt;strong&gt;warning: conflicting types&lt;/strong&gt; for built-in function 'pow' &lt;span&gt;[-Wbuiltin-declaration-mismatch]&lt;/span&gt;&lt;br/&gt;
 char pow ();&lt;br/&gt;
      ^~~&lt;br/&gt;
/usr/bin/ld: /tmp/cctOKw0g.o: in function &lt;code&gt;main':
/ta-lib/conftest.c:80: undefined reference to&lt;/code&gt;pow'&lt;br/&gt;
collect2: error: ld returned 1 exit status&lt;/p&gt;
&lt;p&gt;Does that help ?&lt;/p&gt;
&lt;p&gt;Thank you&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Issues building Docker Image </title><link href="https://sourceforge.net/p/ta-lib/bugs/108/" rel="alternate"/><published>2021-01-25T12:56:55.892000Z</published><updated>2021-01-25T12:56:55.892000Z</updated><author><name>kas nawaz</name><uri>https://sourceforge.net/u/kaspersky/</uri></author><id>https://sourceforge.net0c4b1bb77a898cca1324ef309d5cb78af01788ae</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hello, &lt;br/&gt;
I'm trying  to build a Docker image with talib - which does build. &lt;br/&gt;
But when I run it,  I see:&lt;/p&gt;
&lt;p&gt;Exception has occurred: ModuleNotFoundError&lt;br/&gt;
&lt;strong&gt;No module named 'talib&lt;/strong&gt;'&lt;br/&gt;
  File "C:\Users\Kasar\source\temp\test.py", line 12, in &amp;lt;module&amp;gt;&lt;br/&gt;
    import talib&amp;lt;/module&amp;gt;&lt;/p&gt;
&lt;p&gt;My Dockerfile is standard  boiler plate &lt;br/&gt;
    - except section  'Setup Talib'  (which I borrowed from a forum)&lt;/p&gt;
&lt;p&gt;#Dockerfile&lt;/p&gt;
&lt;p&gt;FROM python:3.8&lt;/p&gt;
&lt;p&gt;ENV PYTHONDONTWRITEBYTECODE=1&lt;br/&gt;
ENV PYTHONUNBUFFERED=1&lt;br/&gt;
COPY requirements.txt .&lt;br/&gt;
RUN python -m pip install -r requirements.txt&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;# Setup TA-Lib&lt;/strong&gt;&lt;br/&gt;
RUN wget &lt;a href="http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz" rel="nofollow"&gt;http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz&lt;/a&gt; &amp;amp;&amp;amp; \&lt;br/&gt;
  tar -xzf ta-lib-0.4.0-src.tar.gz &amp;amp;&amp;amp; \&lt;br/&gt;
  cd ta-lib/ &amp;amp;&amp;amp; \&lt;br/&gt;
  ./configure --prefix=/usr &amp;amp;&amp;amp; \&lt;br/&gt;
  make &amp;amp;&amp;amp; \&lt;br/&gt;
  make install&lt;/p&gt;
&lt;p&gt;WORKDIR /app&lt;br/&gt;
COPY . /app&lt;/p&gt;
&lt;p&gt;RUN useradd appuser &amp;amp;&amp;amp; chown -R appuser /app&lt;br/&gt;
USER appuser&lt;/p&gt;
&lt;p&gt;CMD &lt;span&gt;["python", "test.py"]&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;Can anyone help debug what's going wrong please,&lt;br/&gt;
  Thank you&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>CCI should use</title><link href="https://sourceforge.net/p/ta-lib/bugs/107/" rel="alternate"/><published>2020-12-09T20:32:37.393000Z</published><updated>2020-12-09T20:32:37.393000Z</updated><author><name>Alexander Trufanov</name><uri>https://sourceforge.net/u/trufanov/</uri></author><id>https://sourceforge.net4efc11dd1f4a68ff3b8b5ad30e6927a2e9161397</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;There is a bug in CCI - for some data it returns wrong results. For ex.:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;talib&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;numpy&lt;/span&gt; &lt;span class="kn"&gt;as&lt;/span&gt; &lt;span class="nn"&gt;np&lt;/span&gt;

&lt;span class="n"&gt;timeperiod&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;8&lt;/span&gt;
&lt;span class="n"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mf"&gt;1.1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;timeperiod&lt;/span&gt;

&lt;span class="n"&gt;lows&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;np&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="kp"&gt;asarray&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;data&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;highs&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;lows&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="kp"&gt;copy&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;closes&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;lows&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="kp"&gt;copy&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="n"&gt;talib_ret&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;talib&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;CCI&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;highs&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;lows&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;closes&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;timeperiod&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;timeperiod&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"talib"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;talib_ret&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;talib&lt;/span&gt; &lt;span class="mf"&gt;66.66666666666667&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;while &lt;code&gt;0.0&lt;/code&gt; is expected at &lt;code&gt;talib_ret[-1]&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;That's because TA_CCI() contains:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;      &lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;tempReal&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;.&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;tempReal2&lt;/span&gt; &lt;span class="o"&gt;!=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;.&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="ss"&gt;)&lt;/span&gt; &lt;span class="ss"&gt;)&lt;/span&gt;
      {
         &lt;span class="nv"&gt;outReal&lt;/span&gt;[&lt;span class="nv"&gt;outIdx&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;] &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;tempReal&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;.&lt;span class="mi"&gt;015&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;tempReal2&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;optInTimePeriod&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
      }
      &lt;span class="k"&gt;else&lt;/span&gt;
         &lt;span class="nv"&gt;outReal&lt;/span&gt;[&lt;span class="nv"&gt;outIdx&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;] &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;.&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;while it should be:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;      &lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nv"&gt;TA_IS_ZERO&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;tempReal&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nv"&gt;TA_IS_ZERO&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;tempReal2&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt; &lt;span class="ss"&gt;)&lt;/span&gt;
      {
         &lt;span class="nv"&gt;outReal&lt;/span&gt;[&lt;span class="nv"&gt;outIdx&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;] &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;tempReal&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;.&lt;span class="mi"&gt;015&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;tempReal2&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;optInTimePeriod&lt;/span&gt;&lt;span class="ss"&gt;))&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
      }
      &lt;span class="k"&gt;else&lt;/span&gt;
         &lt;span class="nv"&gt;outReal&lt;/span&gt;[&lt;span class="nv"&gt;outIdx&lt;/span&gt;&lt;span class="o"&gt;++&lt;/span&gt;] &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;.&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;where &lt;code&gt;TA_IS_ZERO()&lt;/code&gt; compares absolute argument value with 1e-14 instead of 0.0.&lt;br/&gt;
Otherwise TA_CCI() will return:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;220446049250313&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;015&lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;5543122344752192&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;15&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="mi"&gt;7&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="mi"&gt;66&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;66666666666667&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;Related discussion is &lt;a class="" href="https://github.com/trufanov-nok/ta-lib-rt/issues/14" rel="nofollow"&gt;here&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>#84 MACD Lookback function off for signal values of one</title><link href="https://sourceforge.net/p/ta-lib/bugs/84/?limit=25#2b7a" rel="alternate"/><published>2020-11-19T17:41:30.016000Z</published><updated>2020-11-19T17:41:30.016000Z</updated><author><name>Alexander Trufanov</name><uri>https://sourceforge.net/u/trufanov/</uri></author><id>https://sourceforge.net74aaf72a020430d7f54adec6b2d05da95cba7dda</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Just for the reference. There is a discussion abut this problem &lt;a class="" href="https://github.com/trufanov-nok/ta-lib-rt/issues/12#issuecomment-730293520" rel="nofollow"&gt;here&lt;/a&gt;. In the end I've decided to change the check from optInTimePeriod &amp;lt; 2 to optInTimePeriod &amp;lt; 1 for following indicators: SMA, EMA, WMA, DEMA, TEMA, TRIMA, KAMA, T3. Bcs the problem affects MACDEXT function too that can call any of MA indicators. And also added checks for LOOKBACK_CALL(MA or EMA) return value in MACD&lt;em&gt; and STOCH&lt;/em&gt; indicators.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>#106 HT_TRENDLINE writes to, but doesn't read, the smoothPrice circular buffer</title><link href="https://sourceforge.net/p/ta-lib/bugs/106/?limit=25#44db" rel="alternate"/><published>2020-06-29T11:48:55.735000Z</published><updated>2020-06-29T11:48:55.735000Z</updated><author><name>Jake Arkinstall</name><uri>https://sourceforge.net/u/jakearkinstall/</uri></author><id>https://sourceforge.netb3ce95c70cceb5b1e491ea88490e5679283b3dd1</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Correction: &lt;code&gt;src/ta_func/ta_HT_TRENDLINE.c&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>HT_TRENDLINE writes to, but doesn't read, the smoothPrice circular buffer</title><link href="https://sourceforge.net/p/ta-lib/bugs/106/" rel="alternate"/><published>2020-06-29T11:42:22.066000Z</published><updated>2020-06-29T11:42:22.066000Z</updated><author><name>Jake Arkinstall</name><uri>https://sourceforge.net/u/jakearkinstall/</uri></author><id>https://sourceforge.netc5f754218917da4280f108a4afe748d3136b7236</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;In &lt;code&gt;src/ta_HT_TRENDLINE.c&lt;/code&gt;, the &lt;code&gt;smoothPrice&lt;/code&gt; buffer is populated with values, but those values are never actually read. The comments indicate that the smoothPrice is being used, but instead the direct input is being used (and averaged over).&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;     &lt;span class="cm"&gt;/* idx is used to iterate for up to 50 of the last&lt;/span&gt;
&lt;span class="cm"&gt;       * value of smoothPrice.&lt;/span&gt;
&lt;span class="cm"&gt;       */&lt;/span&gt;
      &lt;span class="nv"&gt;idx&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;today&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
      &lt;span class="nv"&gt;tempReal&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;.&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
      &lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="ss"&gt;(&lt;/span&gt; &lt;span class="nv"&gt;i&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="c1"&gt;; i &amp;lt; DCPeriodInt; i++ )&lt;/span&gt;
         &lt;span class="nv"&gt;tempReal&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="nv"&gt;inReal&lt;/span&gt;[&lt;span class="nv"&gt;idx&lt;/span&gt;&lt;span class="o"&gt;--&lt;/span&gt;]&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;I believe that this is either a case of:&lt;br/&gt;
1.  a fault in the calculation, or&lt;br/&gt;
2.  an incorrect comment and unnecessary use of processing time and resources to maintain the smoothPrice.&lt;/p&gt;
&lt;p&gt;At this point I am unclear which of the above applies here.&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>#105 getting incorrect outputs for several indicators</title><link href="https://sourceforge.net/p/ta-lib/bugs/105/?limit=25#29a8" rel="alternate"/><published>2018-05-29T19:37:34.622000Z</published><updated>2018-05-29T19:37:34.622000Z</updated><author><name>kyle kitlinski</name><uri>https://sourceforge.net/u/kkit/</uri></author><id>https://sourceforge.net4b24b9db810079ee9e020c58cb3cbb49c6f52dbd</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;I was able to get a much closer result using this&lt;br/&gt;
&lt;a href="https://github.com/kylejusticemagnuson/pyti/blob/master/pyti/chande_momentum_oscillator.py" rel="nofollow"&gt;https://github.com/kylejusticemagnuson/pyti/blob/master/pyti/chande_momentum_oscillator.py&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;still no luck figuring out what's happening with the ta-lib CMO calc&lt;/p&gt;
&lt;p&gt;heres a comparison of the 2 the bottom being the pyti version&lt;br/&gt;
(apologies for the poor labeling)&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" rel="nofollow" src="https://user-images.githubusercontent.com/7356362/40447600-219bd060-5ea1-11e8-9a50-2c3220137a36.png"/&gt;&lt;/p&gt;
&lt;p&gt;Tested against MFI and got very similar results but still slightly different but reasonable&lt;br/&gt;
&lt;img alt="image" rel="nofollow" src="https://user-images.githubusercontent.com/7356362/40669692-853952da-6335-11e8-8c7a-deccf280736b.png"/&gt;&lt;/p&gt;
&lt;p&gt;(sorry for all the images if theres a cleaner way to format this i'm open to suggestions)&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>getting incorrect outputs for several indicators</title><link href="https://sourceforge.net/p/ta-lib/bugs/105/" rel="alternate"/><published>2018-05-29T19:36:49.328000Z</published><updated>2018-05-29T19:36:49.328000Z</updated><author><name>kyle kitlinski</name><uri>https://sourceforge.net/u/kkit/</uri></author><id>https://sourceforge.net65aae7cedb7114f7344678e23555845311120bbf</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hello, I've spent the past few days trying to figure out if i'm making some mistake or if its an issue with ta-lib. ( I'm using the python talib wrapper)&lt;br/&gt;
My CMO inputs have been relatively accurate when close to 0 but the minimums and maximums have been significantly different.&lt;br/&gt;
I scaled the values up to deal with rounding errors and tried pulling 6,000 candles to deal with the unstable period.&lt;br/&gt;
If anyone could help me out it would be much appreciated.&lt;/p&gt;
&lt;p&gt;here's my code and the CMO is plotted at the bottom,&lt;br/&gt;
&lt;a href="https://gist.github.com/K-Kit/511107c4d617fb11d4330cfa2bb433e9" rel="nofollow"&gt;https://gist.github.com/K-Kit/511107c4d617fb11d4330cfa2bb433e9&lt;/a&gt;&lt;br/&gt;
&lt;img alt="image" rel="nofollow" src="https://user-images.githubusercontent.com/7356362/40447639-4750eb6a-5ea1-11e8-8171-6941e67946c0.png"/&gt;&lt;/p&gt;
&lt;p&gt;and here's a snapshot of the tradingview  for roughly the same time period &lt;br/&gt;
&lt;img alt="image" rel="nofollow" src="https://user-images.githubusercontent.com/7356362/40447627-37321aa6-5ea1-11e8-8311-2a1a6f4d5aaf.png"/&gt;&lt;/p&gt;
&lt;p&gt;The min and max of the last ~24 hours should have been +/- 80 but its outputting +/-46&lt;/p&gt;
&lt;p&gt;edit: I've also tried normalizing the data, just tried reading over the C code and i don't see what could cause the issue although I'm not very experienced in C&lt;/p&gt;
&lt;p&gt;It seems to definitely be more than CMO, I just tested CCI and am getting nonsensical values:&lt;br/&gt;
When I check the minimum value returned by CCI over the past day I'm getting -317.68921&lt;br/&gt;
however the lowest the CCI should be able to go is -100&lt;/p&gt;
&lt;p&gt;&lt;img alt="image" rel="nofollow" src="https://user-images.githubusercontent.com/7356362/40668900-a902f3f8-6333-11e8-9bea-ac3e3e46e884.png"/&gt;&lt;/p&gt;
&lt;p&gt;It appears to me that it crosses the 0 line at all the same points, however the farther from 0 the more off it gets&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>