sclass JTickerView is Swingable { settable AbstractTickerPainter painter; painter <- new TickerGraphPainter painter w 300 painter h 200 painter ticker ticker painter horizontalRange < transformBetweenDoubleRanges (varTimeZoom get) (zeroToOne) (painter horizontalRangeForTicker ticker) zoomedRange <- transformBetweenDoubleRanges (varTimeZoom get) (zeroToOne) (toDoubleRange < ticker timeRange) painter verticalRange < painter verticalRangeForTicker (ticker subSequenceByTimestamps (lround < zoomedRange start) (lround < zoomedRange end)) painter percentLineDistance percentLineDistance painter additionalObjects, add < G2Drawable g -> { painter drawTimeGrid g 60 } for p in backTest closedPositions { painter positions, add < new TradingPosition, openingTime (lround < p openingTime), closingTime (lround < p closingTime), openingPrice (p openingPrice), closingPrice (p closingPrice), isLong (p direction, greaterThan 0), leverage (p direction, abs, iround) } painter addVerticalLine < backTest latestAllowedOpeningTime }