use of org.jfree.chart.axis.DateAxis in project ta4j by ta4j.
the class IndicatorsToChart method main.
public static void main(String[] args) {
/*
Getting time series
*/
TimeSeries series = CsvBarsLoader.loadAppleIncSeries();
/*
Creating indicators
*/
// Close price
ClosePriceIndicator closePrice = new ClosePriceIndicator(series);
EMAIndicator avg14 = new EMAIndicator(closePrice, 14);
StandardDeviationIndicator sd14 = new StandardDeviationIndicator(closePrice, 14);
// Bollinger bands
BollingerBandsMiddleIndicator middleBBand = new BollingerBandsMiddleIndicator(avg14);
BollingerBandsLowerIndicator lowBBand = new BollingerBandsLowerIndicator(middleBBand, sd14);
BollingerBandsUpperIndicator upBBand = new BollingerBandsUpperIndicator(middleBBand, sd14);
/*
Building chart dataset
*/
TimeSeriesCollection dataset = new TimeSeriesCollection();
dataset.addSeries(buildChartTimeSeries(series, closePrice, "Apple Inc. (AAPL) - NASDAQ GS"));
dataset.addSeries(buildChartTimeSeries(series, lowBBand, "Low Bollinger Band"));
dataset.addSeries(buildChartTimeSeries(series, upBBand, "High Bollinger Band"));
/*
Creating the chart
*/
JFreeChart chart = ChartFactory.createTimeSeriesChart(// title
"Apple Inc. 2013 Close Prices", // x-axis label
"Date", // y-axis label
"Price Per Unit", // data
dataset, // create legend?
true, // generate tooltips?
true, // generate URLs?
false);
XYPlot plot = (XYPlot) chart.getPlot();
DateAxis axis = (DateAxis) plot.getDomainAxis();
axis.setDateFormatOverride(new SimpleDateFormat("yyyy-MM-dd"));
/*
Displaying the chart
*/
displayChart(chart);
}
use of org.jfree.chart.axis.DateAxis in project ta4j by ta4j.
the class BuyAndSellSignalsToChart method main.
public static void main(String[] args) {
// Getting the time series
TimeSeries series = CsvTradesLoader.loadBitstampSeries();
// Building the trading strategy
Strategy strategy = MovingMomentumStrategy.buildStrategy(series);
/*
Building chart datasets
*/
TimeSeriesCollection dataset = new TimeSeriesCollection();
dataset.addSeries(buildChartTimeSeries(series, new ClosePriceIndicator(series), "Bitstamp Bitcoin (BTC)"));
/*
Creating the chart
*/
JFreeChart chart = ChartFactory.createTimeSeriesChart(// title
"Bitstamp BTC", // x-axis label
"Date", // y-axis label
"Price", // data
dataset, // create legend?
true, // generate tooltips?
true, // generate URLs?
false);
XYPlot plot = (XYPlot) chart.getPlot();
DateAxis axis = (DateAxis) plot.getDomainAxis();
axis.setDateFormatOverride(new SimpleDateFormat("MM-dd HH:mm"));
/*
Running the strategy and adding the buy and sell signals to plot
*/
addBuySellSignals(series, strategy, plot);
/*
Displaying the chart
*/
displayChart(chart);
}
use of org.jfree.chart.axis.DateAxis in project zm-mailbox by Zimbra.
the class ChartUtil method lineUpAxes.
/**
* Updates axes for all charts so that they display the same time interval.
*/
private void lineUpAxes() {
for (JFreeChart chart : mCharts) {
XYPlot plot = (XYPlot) chart.getPlot();
DateAxis axis = (DateAxis) plot.getDomainAxis();
Date chartMinDate = axis.getMinimumDate();
Date chartMaxDate = axis.getMaximumDate();
if (chartMinDate != null && mMinDate < chartMinDate.getTime()) {
axis.setMinimumDate(new Date(mMinDate));
}
if (chartMaxDate != null && mMaxDate > chartMaxDate.getTime()) {
axis.setMaximumDate(new Date(mMaxDate));
}
}
}
use of org.jfree.chart.axis.DateAxis in project series-rest-api by 52North.
the class ChartIoHandler method configureTimeAxis.
private void configureTimeAxis(XYPlot plot) {
DateAxis timeAxis = (DateAxis) plot.getDomainAxis();
final Date start = getStartTime(getTimespan());
final Date end = getEndTime(getTimespan());
timeAxis.setRange(start, end);
final Locale locale = i18n.getLocale();
IoParameters parameters = getParameters();
String timeformat = parameters.getTimeFormat();
DateFormat requestTimeFormat = new SimpleDateFormat(timeformat, locale);
final DateTimeZone timezone = getTimezone();
requestTimeFormat.setTimeZone(timezone.toTimeZone());
timeAxis.setDateFormatOverride(requestTimeFormat);
timeAxis.setTimeZone(timezone.toTimeZone());
}
Aggregations