NATRIndicator.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. /* *
  2. *
  3. * License: www.highcharts.com/license
  4. *
  5. * !!!!!!! SOURCE GETS TRANSPILED BY TYPESCRIPT. EDIT TS FILE ONLY. !!!!!!!
  6. *
  7. * */
  8. 'use strict';
  9. import H from '../../Core/Globals.js';
  10. import U from '../../Core/Utilities.js';
  11. var seriesType = U.seriesType;
  12. var ATR = H.seriesTypes.atr;
  13. /**
  14. * The NATR series type.
  15. *
  16. * @private
  17. * @class
  18. * @name Highcharts.seriesTypes.natr
  19. *
  20. * @augments Highcharts.Series
  21. */
  22. seriesType('natr', 'sma',
  23. /**
  24. * Normalized average true range indicator (NATR). This series requires
  25. * `linkedTo` option to be set and should be loaded after the
  26. * `stock/indicators/indicators.js` and `stock/indicators/atr.js`.
  27. *
  28. * @sample {highstock} stock/indicators/natr
  29. * NATR indicator
  30. *
  31. * @extends plotOptions.atr
  32. * @since 7.0.0
  33. * @product highstock
  34. * @requires stock/indicators/indicators
  35. * @requires stock/indicators/natr
  36. * @optionparent plotOptions.natr
  37. */
  38. {
  39. tooltip: {
  40. valueSuffix: '%'
  41. }
  42. },
  43. /**
  44. * @lends Highcharts.Series#
  45. */
  46. {
  47. requiredIndicators: ['atr'],
  48. getValues: function (series, params) {
  49. var atrData = (ATR.prototype.getValues.apply(this, arguments)), atrLength = atrData.values.length, period = params.period - 1, yVal = series.yData, i = 0;
  50. if (!atrData) {
  51. return;
  52. }
  53. for (; i < atrLength; i++) {
  54. atrData.yData[i] = (atrData.values[i][1] / yVal[period][3] * 100);
  55. atrData.values[i][1] = atrData.yData[i];
  56. period++;
  57. }
  58. return atrData;
  59. }
  60. });
  61. /**
  62. * A `NATR` series. If the [type](#series.natr.type) option is not specified, it
  63. * is inherited from [chart.type](#chart.type).
  64. *
  65. * @extends series,plotOptions.natr
  66. * @since 7.0.0
  67. * @product highstock
  68. * @excluding dataParser, dataURL
  69. * @requires stock/indicators/indicators
  70. * @requires stock/indicators/natr
  71. * @apioption series.natr
  72. */
  73. ''; // to include the above in the js output'