UNPKG

canvas-trading

Version:
65 lines (64 loc) 3.07 kB
var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; import { CandleMountPoints } from './MountedClasses'; var Candle2D = /** @class */ (function () { function Candle2D(originalOpen, originalClose, originalLow, originalHigh, originalIndicators, candleCanvas, originalTrades, xPosition, originalIndex) { var _this = this; this.xPosition = xPosition; this.originalIndex = originalIndex; this.getAlligatorPoints = function (alligator, candleCanvas) { var keys = Object.keys(alligator); var points = {}; keys.forEach(function (key) { points[key] = alligator[key] !== 0 ? Candle2D.getPoint(alligator[key], candleCanvas) : 0; }); return points; }; this.open = Candle2D.getPoint(originalOpen, candleCanvas); this.close = Candle2D.getPoint(originalClose, candleCanvas); this.low = Candle2D.getPoint(originalLow, candleCanvas); this.high = Candle2D.getPoint(originalHigh, candleCanvas); this.mountPoints = new CandleMountPoints(candleCanvas.candleWidth, originalIndicators, originalTrades, this.low, this.high, (this.low + this.high) / 2 <= (candleCanvas.height - candleCanvas.candleWidth * 4.5) / 2); this.open === 0 || this.close === 0 || this.low === 0 || this.high === 0 ? (this.noDraw = true) : (this.noDraw = false); this.alligator = this.getAlligatorPoints(originalIndicators.alligator, candleCanvas); this.trades = []; originalTrades.forEach(function (trade) { var tradeCopy = __assign({}, trade); if (tradeCopy.isThisCandleStart) { tradeCopy.buyPrice = Candle2D.getPoint(tradeCopy.buyPrice, candleCanvas); } if (tradeCopy.isThisCandleEnd) { tradeCopy.sellPrice = Candle2D.getPoint(tradeCopy.sellPrice, candleCanvas); } _this.trades.push(tradeCopy); }); } Candle2D.getPoint = function (originalPoint, candleCanvas) { var gapSpace = candleCanvas.candleWidth * 4.5; //? Usual point // const point = // ((candleCanvas.minMax.max - originalPoint) / // (candleCanvas.minMax.max - candleCanvas.minMax.min)) * // (candleCanvas.height - gapSpace * 2) + // gapSpace; //? leave more space for the top for Asset and OCLH labels var point = ((candleCanvas.minMax.max - originalPoint) / (candleCanvas.minMax.max - candleCanvas.minMax.min)) * (candleCanvas.height - candleCanvas.height / 5) + candleCanvas.height / 10; return point; }; return Candle2D; }()); export { Candle2D };