message: Increased min price tick mark step up to 1e-14 (from 1e-9)
  Fixes
diff: import { equal, greaterOrEqual, isBaseDecimal, log10 } from '../helpers/mathex';
  -const TICK_SPAN_EPSILON = 1e-9;
  +const enum Constants {
  + TickSpanEpsilon = 1e-14,
  +}
  export class PriceTickSpanCalculator {
  private readonly _base: number;
  @@ -35,7 +37,6 @@ export class PriceTickSpanCalculator {
  public tickSpan(high: number, low: number, maxTickSpan: number): number {
  const minMovement = (this._base === 0) ? (0) : (1 / this._base);
  - const tickSpanEpsilon = TICK_SPAN_EPSILON;
  let resultTickSpan = Math.pow(10, Math.max(0, Math.ceil(log10(high - low))));
  @@ -46,9 +47,9 @@ export class PriceTickSpanCalculator {
  while (true) {
  // the second part is actual for small with very small values like 1e-10
  // greaterOrEqual fails for such values
  - const resultTickSpanLargerMinMovement = greaterOrEqual(resultTickSpan, minMovement, tickSpanEpsilon) && resultTickSpan > (minMovement + tickSpanEpsilon);
  - const resultTickSpanLargerMaxTickSpan = greaterOrEqual(resultTickSpan, maxTickSpan * c, tickSpanEpsilon);
  - const resultTickSpanLarger1 = greaterOrEqual(resultTickSpan, 1, tickSpanEpsilon);
  + const resultTickSpanLargerMinMovement = greaterOrEqual(resultTickSpan, minMovement, Constants.TickSpanEpsilon) && resultTickSpan > (minMovement + Constants.TickSpanEpsilon);
  + const resultTickSpanLargerMaxTickSpan = greaterOrEqual(resultTickSpan, maxTickSpan * c, Constants.TickSpanEpsilon);
  + const resultTickSpanLarger1 = greaterOrEqual(resultTickSpan, 1, Constants.TickSpanEpsilon);
  const haveToContinue = resultTickSpanLargerMinMovement && resultTickSpanLargerMaxTickSpan && resultTickSpanLarger1;
  if (!haveToContinue) {
  break;
  @@ -57,16 +58,16 @@ export class PriceTickSpanCalculator {
  c = this._integralDividers[++index % this._integralDividers.length];
  }
  - if (resultTickSpan <= (minMovement + tickSpanEpsilon)) {
  + if (resultTickSpan <= (minMovement + Constants.TickSpanEpsilon)) {
  resultTickSpan = minMovement;
  }
  resultTickSpan = Math.max(1, resultTickSpan);
  - if ((this._fractionalDividers.length > 0) && equal(resultTickSpan, 1, tickSpanEpsilon)) {
  + if ((this._fractionalDividers.length > 0) && equal(resultTickSpan, 1, Constants.TickSpanEpsilon)) {
  index = 0;
  c = this._fractionalDividers[0];
  - while (greaterOrEqual(resultTickSpan, maxTickSpan * c, tickSpanEpsilon) && resultTickSpan > (minMovement + tickSpanEpsilon)) {
  + while (greaterOrEqual(resultTickSpan, maxTickSpan * c, Constants.TickSpanEpsilon) && resultTickSpan > (minMovement + Constants.TickSpanEpsilon)) {
  resultTickSpan /= c;
  c = this._fractionalDividers[++index % this._fractionalDividers.length];
  }
  