natr.src.js 1.9 KB

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