diff --git a/.vs/AAWebPlatform/v15/.suo b/.vs/AAWebPlatform/v15/.suo index d3d714a2b..b594dc182 100644 Binary files a/.vs/AAWebPlatform/v15/.suo and b/.vs/AAWebPlatform/v15/.suo differ diff --git a/SplashScreen.js b/SplashScreen.js index 999b4c595..d016ae31a 100644 --- a/SplashScreen.js +++ b/SplashScreen.js @@ -46,8 +46,6 @@ function newSplashScreen() { function draw() { - splashScreenNeeded = false; - if (splashScreenNeeded === false) { stepsInitializationCounter = 100; @@ -65,7 +63,7 @@ function newSplashScreen() { splashScreen.container.frame.draw(false, false); let label = '' + Math.trunc(stepsInitializationCounter) + ' %'; - stepsInitializationCounter = stepsInitializationCounter + 0.2; + stepsInitializationCounter = stepsInitializationCounter + 1; if (stepsInitializationCounter > 99) { @@ -77,7 +75,7 @@ function newSplashScreen() { let labelPoint = { x: splashScreen.container.frame.width / 2 - label.length / 2 * fontSize * FONT_ASPECT_RATIO -30, - y: splashScreen.container.frame.height / 2 + fontSize / 2 + fontSize * 0.1 + y: splashScreen.container.frame.height / 2 + fontSize / 2 + fontSize * 0.1 + 200 }; browserCanvasContext.beginPath(); @@ -95,6 +93,9 @@ function newSplashScreen() { let title; let titlePoint; + + /* Advanced Algos Title */ + fontSize = 100; title = "Advanced" @@ -129,6 +130,22 @@ function newSplashScreen() { browserCanvasContext.fillStyle = 'rgba(255, 0, 0, ' + opacity + ')'; browserCanvasContext.fillText(title, titlePoint.x, titlePoint.y); + /* Trading Bots Competitions Sub Title */ + + fontSize = 50; + + title = "Trading Bots Competitions" + + titlePoint = { + x: splashScreen.container.frame.width / 2 - title.length / 2 * fontSize * FONT_ASPECT_RATIO + 0, + y: splashScreen.container.frame.height / 2 - fontSize * 2 + 150 + }; + + browserCanvasContext.font = fontSize + 'px Verdana'; + browserCanvasContext.fillStyle = 'rgba(0, 0, 0, ' + opacity + ')'; + browserCanvasContext.fillText(title, titlePoint.x, titlePoint.y); + + } diff --git a/TimelineChart.js b/TimelineChart.js index 131dfe2c4..bdf80acea 100644 --- a/TimelineChart.js +++ b/TimelineChart.js @@ -10,7 +10,7 @@ function newTimelineChart() { let timePeriod = INITIAL_TIME_PERIOD; let datetime = INITIAL_DATE; - var timelineChart = { + var thisObject = { setDatetime: setDatetime, container: undefined, draw: draw, @@ -20,7 +20,7 @@ function newTimelineChart() { var container = newContainer(); container.initialize(); - timelineChart.container = container; + thisObject.container = container; container.displacement.containerName = "Time Period Chart"; container.zoom.containerName = "Time Period Chart"; @@ -42,7 +42,7 @@ function newTimelineChart() { let productsPanel; let orderBookPanel; - return timelineChart; + return thisObject; function initialize(exchange, market, currentCandlePanelToUse, currentVolumePanelToUse, pProductsPanel, orderBookPanelToUse, callBackFunction) { @@ -71,6 +71,7 @@ function newTimelineChart() { function continueInitialization() { recalculateScale(); + moveViewPortToCurrentDatetime(); /* Event Subscriptions - we need this events to be fired first here and then in active Plotters. */ @@ -88,19 +89,6 @@ function newTimelineChart() { function initializePlotters() { - /* Here we need to move the viewPort to the default date. */ - - //-869208.2550614576 y = 40845.822907407215 - - - - let displaceVector = { - x: -869208.2550614576, - y: 40845.822907407215 - }; - - viewPort.displace(displaceVector); - /* Lets get all the cards that needs to be loaded. */ let loadingProductCards = productsPanel.getLoadingProductCards(); @@ -164,17 +152,17 @@ function newTimelineChart() { let plotter = getNewPlotter(pProductCard.product.plotter.devTeam, pProductCard.product.plotter.repo, pProductCard.product.plotter.moduleName); - plotter.container.displacement.parentDisplacement = timelineChart.container.displacement; - plotter.container.zoom.parentZoom = timelineChart.container.zoom; - plotter.container.frame.parentFrame = timelineChart.container.frame; + plotter.container.displacement.parentDisplacement = thisObject.container.displacement; + plotter.container.zoom.parentZoom = thisObject.container.zoom; + plotter.container.frame.parentFrame = thisObject.container.frame; - plotter.container.parentContainer = timelineChart.container; + plotter.container.parentContainer = thisObject.container; - plotter.container.frame.width = timelineChart.container.frame.width * 1; - plotter.container.frame.height = timelineChart.container.frame.height * 1; + plotter.container.frame.width = thisObject.container.frame.width * 1; + plotter.container.frame.height = thisObject.container.frame.height * 1; - plotter.container.frame.position.x = timelineChart.container.frame.width / 2 - plotter.container.frame.width / 2; - plotter.container.frame.position.y = timelineChart.container.frame.height / 2 - plotter.container.frame.height / 2; + plotter.container.frame.position.x = thisObject.container.frame.width / 2 - plotter.container.frame.width / 2; + plotter.container.frame.position.y = thisObject.container.frame.height / 2 - plotter.container.frame.height / 2; plotter.initialize(storage, DEFAULT_EXCHANGE, DEFAULT_MARKET, datetime, timePeriod, onPlotterInizialized); @@ -268,7 +256,7 @@ function newTimelineChart() { recalculateCurrentDatetime(); - if (timelineChart.container.frame.isInViewPort() && tooSmall() === false) { + if (thisObject.container.frame.isInViewPort() && tooSmall() === false) { @@ -281,7 +269,7 @@ function newTimelineChart() { if (initializationReady === true) { - if (timelineChart.container.frame.isInViewPort() && tooSmall() === false) { + if (thisObject.container.frame.isInViewPort() && tooSmall() === false) { @@ -293,7 +281,7 @@ function newTimelineChart() { if (initializationReady === true) { - if (timelineChart.container.frame.isInViewPort()) { + if (thisObject.container.frame.isInViewPort()) { recalculateCurrentDatetime(); @@ -309,8 +297,8 @@ function newTimelineChart() { y: (viewPort.visibleArea.bottomRight.y - viewPort.visibleArea.topRight.y) / 2 }; - center = unTransformThisPoint(center, timelineChart.container); - center = timeLineCoordinateSystem.unInverseTransform(center, timelineChart.container.frame.height); + center = unTransformThisPoint(center, thisObject.container); + center = timeLineCoordinateSystem.unInverseTransform(center, thisObject.container.frame.height); let newDate = new Date(0); newDate.setUTCSeconds(center.x / 1000); @@ -324,7 +312,7 @@ function newTimelineChart() { } - timelineChart.container.eventHandler.raiseEvent("Datetime Changed", datetime); + thisObject.container.eventHandler.raiseEvent("Datetime Changed", datetime); } @@ -351,7 +339,7 @@ function newTimelineChart() { datetime = pDatetime; - if (timelineChart.container.frame.isInViewPort()) { + if (thisObject.container.frame.isInViewPort()) { for (var i = 0; i < activePlotters.length; i++) { @@ -370,13 +358,13 @@ function newTimelineChart() { if (activePlotters === undefined) { return; } // We need to wait - if (timelineChart.container.frame.isInViewPort()) { + if (thisObject.container.frame.isInViewPort()) { this.container.frame.draw(); drawBackground(); - chartGrid.draw(timelineChart.container, timeLineCoordinateSystem); + chartGrid.draw(thisObject.container, timeLineCoordinateSystem); for (var i = 0; i < activePlotters.length; i++) { @@ -403,8 +391,8 @@ function newTimelineChart() { timeLineCoordinateSystem.initialize( minValue, maxValue, - timelineChart.container.frame.width, - timelineChart.container.frame.height + thisObject.container.frame.width, + thisObject.container.frame.height ); } @@ -451,11 +439,11 @@ function newTimelineChart() { let bottomPoint = { x: 0, - y: timelineChart.container.frame.height + y: thisObject.container.frame.height }; - topPoint = transformThisPoint(topPoint, timelineChart.container); - bottomPoint = transformThisPoint(bottomPoint, timelineChart.container); + topPoint = transformThisPoint(topPoint, thisObject.container); + bottomPoint = transformThisPoint(bottomPoint, thisObject.container); /* We want the label of the market to be always centered in the middle of the screen, unless the upper or lower border of the frame is visible on the screen */ @@ -475,10 +463,10 @@ function newTimelineChart() { point = { x: 0, - y: timelineChart.container.frame.height / 2 + y: thisObject.container.frame.height / 2 }; - point = transformThisPoint(point, timelineChart.container); + point = transformThisPoint(point, thisObject.container); point = { x: (viewPort.visibleArea.bottomRight.x - viewPort.visibleArea.bottomLeft.x) / 2 - label.length / 2 * currentFontSize * 0.60, @@ -501,5 +489,34 @@ function newTimelineChart() { browserCanvasContext.fillText(label, point.x, point.y); } + + function moveViewPortToCurrentDatetime() { + + let targetPoint = { + x: datetime.valueOf(), + y: 0 // we wont touch the y axis here. + }; + + /* Lets put this point in the coordinate system of the viewPort */ + + targetPoint = timeLineCoordinateSystem.transformThisPoint(targetPoint); + targetPoint = transformThisPoint(targetPoint, thisObject.container); + + /* Lets get the point on the viewPort coordinate system of the center of the visible screen */ + + let center = { + x: (viewPort.visibleArea.bottomRight.x - viewPort.visibleArea.bottomLeft.x) / 2, + y: (viewPort.visibleArea.bottomRight.y - viewPort.visibleArea.topRight.y) / 2 + }; + + /* Lets calculate the displace vector, from the point we want at the center, to the current center. */ + + let displaceVector = { + x: center.x - targetPoint.x, + y: 0 + }; + + viewPort.displace(displaceVector); + } } diff --git a/ViewPort.js b/ViewPort.js index 3011318a2..a550cda47 100644 --- a/ViewPort.js +++ b/ViewPort.js @@ -22,7 +22,6 @@ function newViewPort() { fitIntoVisibleArea: fitIntoVisibleArea, displace: displace, displaceTarget: displaceTarget, - displaceToDatetime: displaceToDatetime, animate: animate, draw: draw, initialize: initialize @@ -141,24 +140,6 @@ function newViewPort() { //console.log("displaceTarget x = " + targetOffset.x + " y = " + targetOffset.y); } - - function displaceToDatetime(datetime, timeLineCoordinateSystem) { - - - targetOffset.x = targetOffset.x + displaceVector.x; - - offsetIncrement = { - x: (targetOffset.x - offset.x) / 10, - y: (targetOffset.y - offset.y) / 10 - }; - - if (CONSOLE_LOG === true) { - - console.log("viewPort -> displaceToDatetime x = " + targetOffset.x + " datetime = " + datetime); - - } - } - function applyZoom(amount) { diff --git a/server.js b/server.js index a780cdf8c..39b6fecda 100644 --- a/server.js +++ b/server.js @@ -6,7 +6,7 @@ if (CONSOLE_LOG === true) { } -let debugMode = true; // This forces the server to read Plotters from the local drive. +let debugMode = false; // This forces the server to read Plotters from the local drive. if (CONSOLE_LOG === true && debugMode === true) {