text: Title: Add Trend Quality Indicator
  Body: Trend Quality was created by David Sepiashvili and was unveiled in an issue of Stocks and Commodities magazine in 2004.
  The basic idea behind it is that it is not enough to rate a market as "trending" or "not trending".  We must elaborate more on the "strength" or "quality" of a trend so that we can make better trading decisions.  In the original issue, the author created 2 indicators called the trend quality "q" and "b" indicator.  I won't discuss the "b" indicator here because I think it is less useful and adopted less by the trading community.  
  
  The "q" indicator is quite useful because it returns values based on the quality of the trend. From the author:
  _Readings in the range from +2 to +5, or from -2 to -5, can indicate moderate trending, and readings above Q=+5 or below Q=-5 indicate strong trending. Strong upward trending often leads to the security’s overvaluing, and strong downward trending often results in the security’s undervaluing._ 
  
  I myself have noticed tq values go as high as 20 since in FX markets can seemingly trend forever.  
  Since it's unveiling tq has been rewritten for a few trading platforms, most notably mt4/5, but you can also find versions for it in ThinkOrSwim and TradingView.  The version you see in most trading platforms is the "q" indicator and it is directional in nature.  
  
  The goat of MT4/5 indicator development mladen did a megathread on trend quality which you can find here: https://www.mql5.com/en/forum/181010.
  
  I tried to port trend quality to python but I haven't produced anything usable yet.  Here's what I've done so far: https://github.com/kbs-code/trend_quality_python/tree/master
  
  In that repo, the file https://github.com/kbs-code/trend_quality_python/blob/master/reference/trend_quality_q1_directional_indicator.mq4 is a good reference for how the indicator should behave in mt4. 
  
  In the mql4 code, the indicator works on a for loop as it iterates over close prices.  I tried to reverse engineer this behavior and apply the calculation in a vectorized manner using pandas data frames but failed.  I've considered using lambdas or itertuples and have avoided trying iterrows because it's frowned upon.  I've tried masks as well but I'm afraid that might introduce look-ahead bias. 
  
  Sources:
  https://www.prorealcode.com/wp-content/uploads/2019/03/24-Q-Indicator.pdf
  https://github.com/kbs-code/trend_quality_python/tree/master
  https://www.mql5.com/en/forum/181010
  https://usethinkscript.com/threads/trend-quality-indicator-with-alert-for-thinkorswim.9/
  https://www.tradingview.com/script/k3mnaGcQ-Trend-Quality-Indicator/
  ![trend_quality_2](https://github.com/twopirllc/pandas-ta/assets/42240122/17713ae8-fff4-4d51-a82b-c822ce308cfe)
  ![trend_quality_1](https://github.com/twopirllc/pandas-ta/assets/42240122/07b8e9b7-05dd-40b0-8551-ee4b6990126d)
  
   
  
  
  
  