From 8a49f6918c9883fef6e8895ae4bb7850beafe8e9 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Wed, 28 Feb 2018 08:05:18 +0100 Subject: [PATCH] Implementation completed --- .vs/AAMariam-Plotter/v15/.suo | Bin 18944 -> 18944 bytes History.js | 117 ++++++++++++++++++++-------------- 2 files changed, 68 insertions(+), 49 deletions(-) diff --git a/.vs/AAMariam-Plotter/v15/.suo b/.vs/AAMariam-Plotter/v15/.suo index 7c0634ec7435ac7b75424dfa4edacd3fc226c588..d07e77737a3d482dd6edf78db5b53281cb4072d9 100644 GIT binary patch delta 472 zcmZpe!q_l{aYGIho5AeKxk(!~7cu=}W;^h!tO&$r3uNPE!S{TVkO7HVah?4euD%OD7pN49427u^sJtl@wfgnF3au(?D( hgc*kmjrDm1Gl5n?fYyQMAjakc_V1ao2|GKm0RUWDsNw(s delta 490 zcmaKoO-e&C5XX}|j8T%7C$0T(Tcj305LfaR3a+IopiM@L;lWV3^@I!+iXgYrb6b*9Re26|25p;7R-xa`kq7pK`g7hDpZQ0R0y& zEC!PhwNsh`Z?^gnK`(IB|q4o(0 zzVFnS0Eqosgb#5V;?U|5RywrmM{{GCKtz9pcx*+pp3Vk;GUwr4UP7E%uG3|^*{q)9 z+3pa}oJvn5YqawyKzbmPDxTX$za&@N3I4(r|D1hQ>GBc#TYJW244a$pq8zpi;{<&Q Io4Z^22R{k48~^|S diff --git a/History.js b/History.js index 6381212cc..f7290d2e4 100644 --- a/History.js +++ b/History.js @@ -160,76 +160,95 @@ function plotChart() { - for (let i = 0; i < history.length; i++) { + for (let i = 0; i < history.length; i++) { - record = history[i]; + record = history[i]; - let point = { - x: record.begin + timePeriod / 7 * 1.5, - y: record.open - }; + let point = { + x: record.begin + timePeriod / 7 * 1.5, + y: record.open + }; - point = plotArea.inverseTransform(point, thisObject.container.frame.height); + point = plotArea.inverseTransform(point, thisObject.container.frame.height); - point = transformThisPoint(point, thisObject.container); + point = transformThisPoint(point, thisObject.container); - if (point.x < viewPort.visibleArea.bottomLeft.x || point.x > viewPort.visibleArea.bottomRight.x) { - continue; - } + if (point.x < viewPort.visibleArea.bottomLeft.x || point.x > viewPort.visibleArea.bottomRight.x) { + continue; + } - point = viewPort.fitIntoVisibleArea(point); + point = viewPort.fitIntoVisibleArea(point); - browserCanvasContext.beginPath(); + let isCurrentRecord = false; - browserCanvasContext.moveTo(point.x, point.y); + if (datetime !== undefined) { - browserCanvasContext.closePath(); + let dateValue = datetime.valueOf(); - if (record.direction === 'up') { browserCanvasContext.strokeStyle = 'rgba(27, 105, 7, 1)'; } - if (record.direction === 'down') { browserCanvasContext.strokeStyle = 'rgba(130, 9, 9, 1)'; } - if (record.direction === 'side') { browserCanvasContext.strokeStyle = 'rgba(27, 7, 105, 1)'; } + if (dateValue >= record.date - 30000 && dateValue + 30000 - 1 <= record.date) { - if (datetime !== undefined) { + /* highlight the current record */ - let dateValue = datetime.valueOf(); + browserCanvasContext.fillStyle = 'rgba(255, 233, 31, 1)'; // Current record accroding to time + isCurrentRecord = true; - if (dateValue >= record.begin && dateValue <= record.end) { + } + } - /* highlight the current record */ + let radiusFactor = 3; - browserCanvasContext.fillStyle = 'rgba(255, 233, 31, 1)'; // Current record accroding to time + let radius1 = record.newPositions * radiusFactor; + let radius2 = radius1 + record.movedPositions * radiusFactor; + let radius3 = radius2 + record.newTrades * radiusFactor; - } else { + browserCanvasContext.beginPath(); - if (record.direction === 'up') { browserCanvasContext.fillStyle = 'rgba(64, 217, 26, 1)'; } - if (record.direction === 'down') { browserCanvasContext.fillStyle = 'rgba(219, 18, 18, 1)'; } - if (record.direction === 'side') { browserCanvasContext.fillStyle = 'rgba(64, 26, 217, 1)'; } - } - - } else { - - if (record.direction === 'up') { browserCanvasContext.fillStyle = 'rgba(64, 217, 26, 1)'; } - if (record.direction === 'down') { browserCanvasContext.fillStyle = 'rgba(219, 18, 18, 1)'; } - if (record.direction === 'side') { browserCanvasContext.fillStyle = 'rgba(64, 26, 217, 1)'; } - - } - - if ( - point.x < viewPort.visibleArea.topLeft.x + 50 - || - point.x > viewPort.visibleArea.bottomRight.x - 50 - ) { - // we leave this history without fill. - } else { - browserCanvasContext.fill(); - } - - browserCanvasContext.lineWidth = 1; - browserCanvasContext.stroke(); + if (isCurrentRecord === false) { + browserCanvasContext.strokeStyle = 'rgba(27, 105, 7, 1)'; + browserCanvasContext.fillStyle = 'rgba(64, 217, 26, 1)'; } + browserCanvasContext.arc(point.x, point.y, radius1, 0, Math.PI * 2, true); + + if (isCurrentRecord === false) { + + browserCanvasContext.strokeStyle = 'rgba(105, 27, 7, 1)'; + browserCanvasContext.fillStyle = 'rgba(217, 64, 26, 1)'; + + } + + browserCanvasContext.arc(point.x, point.y, radius2, 0, Math.PI * 2, true); + + if (isCurrentRecord === false) { + + browserCanvasContext.strokeStyle = 'rgba(27, 7, 105, 1)'; + browserCanvasContext.fillStyle = 'rgba(64, 26, 217, 1)'; + + } + + browserCanvasContext.arc(point.x, point.y, radius3, 0, Math.PI * 2, true); + + browserCanvasContext.closePath(); + + + if ( + point.x < viewPort.visibleArea.topLeft.x + 50 + || + point.x > viewPort.visibleArea.bottomRight.x - 50 + ) { + // we leave this history without fill. + } else { + browserCanvasContext.fill(); + } + + browserCanvasContext.lineWidth = 1; + browserCanvasContext.stroke(); + + + } + } function onLayerStatusChanged(eventData) {