final Marker start = new ValueMarker(3400000.0); start.setPaint(Color.red); start.setLabel("Current Value"); start.setLabelAnchor(RectangleAnchor.BOTTOM_LEFT); start.setLabelTextAnchor(TextAnchor.TOP_LEFT); plot.addRangeMarker(start);
Marker threshold = new ValueMarker(80.0); Hour hour1 = new Hour(18, 30, 6, 2005); Hour hour2 = new Hour(20, 30, 6, 2005); double millis1 = hour1.getFirstMillisecond(); double millis2 = hour2.getFirstMillisecond(); Marker cooling = new IntervalMarker(millis1, millis2); cooling.setLabelOffsetType(LengthAdjustmentType.EXPAND); cooling.setPaint(new Color(150, 150, 255)); cooling.setLabel("Automatic Cooling"); cooling.setLabelFont(new Font("SansSerif", Font.PLAIN, 11)); cooling.setLabelPaint(Color.blue); cooling.setLabelAnchor(RectangleAnchor.TOP_LEFT); cooling.setLabelTextAnchor(TextAnchor.TOP_RIGHT); plot.addDomainMarker(cooling, Layer.BACKGROUND);
/** * Returns a horizontal line marker for the given x value and label. */ private Marker getMarker( Double value, String label ) { Marker marker = new ValueMarker( value ); marker.setPaint( Color.BLACK ); marker.setStroke( new BasicStroke( 1.1f ) ); marker.setLabel( label ); marker.setLabelOffset( new RectangleInsets( -10, 50, 0, 0 ) ); marker.setLabelFont( SUB_TITLE_FONT ); return marker; }
private static void addBuySellSignals(TimeSeries series, Strategy strategy, XYPlot plot) { // Running the strategy TimeSeriesManager seriesManager = new TimeSeriesManager(series); List<Trade> trades = seriesManager.run(strategy).getTrades(); // Adding markers to plot for (Trade trade : trades) { // Buy signal double buySignalTickTime = new Minute( Date.from(series.getBar(trade.getEntry().getIndex()).getEndTime().toInstant())) .getFirstMillisecond(); Marker buyMarker = new ValueMarker(buySignalTickTime); buyMarker.setPaint(Color.GREEN); buyMarker.setLabel("B"); plot.addDomainMarker(buyMarker); // Sell signal double sellSignalTickTime = new Minute( Date.from(series.getBar(trade.getExit().getIndex()).getEndTime().toInstant())) .getFirstMillisecond(); Marker sellMarker = new ValueMarker(sellSignalTickTime); sellMarker.setPaint(Color.RED); sellMarker.setLabel("S"); plot.addDomainMarker(sellMarker); } }
final Marker meanMarker = new ValueMarker(mean.doubleValue(), WidgetUtils.BG_COLOR_BLUE_DARK, new BasicStroke(2f)); meanMarker.setLabel("Mean"); meanMarker.setLabelOffset(new RectangleInsets(70d, 25d, 0d, 0d)); meanMarker.setLabelFont(WidgetUtils.FONT_SMALL);
final Marker lsl = new ValueMarker(testStepInstances.getReferenceStep().getTestLimit().getLowerSpecifiedLimit()); lsl.setPaint(limitcolor); lsl.setLabel("LSL"); if (range) { lsl.setLabelAnchor(RectangleAnchor.BOTTOM_RIGHT); final Marker usl = new ValueMarker(testStepInstances.getReferenceStep().getTestLimit().getUpperSpeficiedLimit()); usl.setPaint(limitcolor); usl.setLabel("USL"); if (range) { usl.setLabelAnchor(RectangleAnchor.TOP_RIGHT);
/** * Runs a strategy over a time series and adds the value markers * corresponding to buy/sell signals to the plot. * @param series a time series * @param strategy a trading strategy * @param plot the plot */ private static void addBuySellSignals(TimeSeries series, Strategy strategy, XYPlot plot) { // Running the strategy TimeSeriesManager seriesManager = new TimeSeriesManager(series); List<Trade> trades = seriesManager.run(strategy).getTrades(); // Adding markers to plot for (Trade trade : trades) { // Buy signal double buySignalTickTime = new Minute(Date.from(series.getTick(trade.getEntry().getIndex()).getEndTime().toInstant())).getFirstMillisecond(); Marker buyMarker = new ValueMarker(buySignalTickTime); buyMarker.setPaint(Color.GREEN); buyMarker.setLabel("B"); plot.addDomainMarker(buyMarker); // Sell signal double sellSignalTickTime = new Minute(Date.from(series.getTick(trade.getExit().getIndex()).getEndTime().toInstant())).getFirstMillisecond(); Marker sellMarker = new ValueMarker(sellSignalTickTime); sellMarker.setPaint(Color.RED); sellMarker.setLabel("S"); plot.addDomainMarker(sellMarker); } }