Example usage for org.jfree.data.xy DefaultHighLowDataset DefaultHighLowDataset

List of usage examples for org.jfree.data.xy DefaultHighLowDataset DefaultHighLowDataset

Introduction

In this page you can find the example usage for org.jfree.data.xy DefaultHighLowDataset DefaultHighLowDataset.

Prototype

public DefaultHighLowDataset(Comparable seriesKey, Date[] date, double[] high, double[] low, double[] open,
        double[] close, double[] volume) 

Source Link

Document

Constructs a new high/low/open/close dataset.

Usage

From source file:ta4jexamples.indicators.CandlestickChart.java

/**
 * Builds a JFreeChart OHLC dataset from a ta4j time series.
 * @param series a time series/*from w w w .  ja  v a  2  s.  c om*/
 * @return an Open-High-Low-Close dataset
 */
private static OHLCDataset createOHLCDataset(TimeSeries series) {
    final int nbTicks = series.getTickCount();

    Date[] dates = new Date[nbTicks];
    double[] opens = new double[nbTicks];
    double[] highs = new double[nbTicks];
    double[] lows = new double[nbTicks];
    double[] closes = new double[nbTicks];
    double[] volumes = new double[nbTicks];

    for (int i = 0; i < nbTicks; i++) {
        Tick tick = series.getTick(i);
        dates[i] = new Date(tick.getEndTime().toEpochSecond() * 1000);
        opens[i] = tick.getOpenPrice().toDouble();
        highs[i] = tick.getMaxPrice().toDouble();
        lows[i] = tick.getMinPrice().toDouble();
        closes[i] = tick.getClosePrice().toDouble();
        volumes[i] = tick.getVolume().toDouble();
    }

    OHLCDataset dataset = new DefaultHighLowDataset("btc", dates, highs, lows, opens, closes, volumes);

    return dataset;
}

From source file:org.jfree.data.xy.DefaultHighLowDatasetTest.java

/**
 * Confirm that the equals method can distinguish all the required fields.
 *///from   ww  w . j  av  a 2  s .c  o m
@Test
public void testEquals() {
    DefaultHighLowDataset d1 = new DefaultHighLowDataset("Series 1", new Date[0], new double[0], new double[0],
            new double[0], new double[0], new double[0]);
    DefaultHighLowDataset d2 = new DefaultHighLowDataset("Series 1", new Date[0], new double[0], new double[0],
            new double[0], new double[0], new double[0]);
    assertTrue(d1.equals(d2));
    assertTrue(d2.equals(d1));

    d1 = new DefaultHighLowDataset("Series 2", new Date[0], new double[0], new double[0], new double[0],
            new double[0], new double[0]);
    assertFalse(d1.equals(d2));
    d2 = new DefaultHighLowDataset("Series 2", new Date[0], new double[0], new double[0], new double[0],
            new double[0], new double[0]);
    assertTrue(d1.equals(d2));

    d1 = new DefaultHighLowDataset("Series 2", new Date[] { new Date(123L) }, new double[1], new double[1],
            new double[1], new double[1], new double[1]);
    assertFalse(d1.equals(d2));
    d2 = new DefaultHighLowDataset("Series 2", new Date[] { new Date(123L) }, new double[1], new double[1],
            new double[1], new double[1], new double[1]);
    assertTrue(d1.equals(d2));

    d1 = new DefaultHighLowDataset("Series 2", new Date[] { new Date(123L) }, new double[] { 1.2 },
            new double[1], new double[1], new double[1], new double[1]);
    assertFalse(d1.equals(d2));
    d2 = new DefaultHighLowDataset("Series 2", new Date[] { new Date(123L) }, new double[] { 1.2 },
            new double[1], new double[1], new double[1], new double[1]);
    assertTrue(d1.equals(d2));

    d1 = new DefaultHighLowDataset("Series 2", new Date[] { new Date(123L) }, new double[] { 1.2 },
            new double[] { 3.4 }, new double[1], new double[1], new double[1]);
    assertFalse(d1.equals(d2));
    d2 = new DefaultHighLowDataset("Series 2", new Date[] { new Date(123L) }, new double[] { 1.2 },
            new double[] { 3.4 }, new double[1], new double[1], new double[1]);
    assertTrue(d1.equals(d2));

    d1 = new DefaultHighLowDataset("Series 2", new Date[] { new Date(123L) }, new double[] { 1.2 },
            new double[] { 3.4 }, new double[] { 5.6 }, new double[1], new double[1]);
    assertFalse(d1.equals(d2));
    d2 = new DefaultHighLowDataset("Series 2", new Date[] { new Date(123L) }, new double[] { 1.2 },
            new double[] { 3.4 }, new double[] { 5.6 }, new double[1], new double[1]);
    assertTrue(d1.equals(d2));

    d1 = new DefaultHighLowDataset("Series 2", new Date[] { new Date(123L) }, new double[] { 1.2 },
            new double[] { 3.4 }, new double[] { 5.6 }, new double[] { 7.8 }, new double[1]);
    assertFalse(d1.equals(d2));
    d2 = new DefaultHighLowDataset("Series 2", new Date[] { new Date(123L) }, new double[] { 1.2 },
            new double[] { 3.4 }, new double[] { 5.6 }, new double[] { 7.8 }, new double[1]);
    assertTrue(d1.equals(d2));

    d1 = new DefaultHighLowDataset("Series 2", new Date[] { new Date(123L) }, new double[] { 1.2 },
            new double[] { 3.4 }, new double[] { 5.6 }, new double[] { 7.8 }, new double[] { 99.9 });
    assertFalse(d1.equals(d2));
    d2 = new DefaultHighLowDataset("Series 2", new Date[] { new Date(123L) }, new double[] { 1.2 },
            new double[] { 3.4 }, new double[] { 5.6 }, new double[] { 7.8 }, new double[] { 99.9 });
    assertTrue(d1.equals(d2));

}

From source file:org.jfree.data.xy.junit.DefaultHighLowDatasetTest.java

/**
 * Confirm that the equals method can distinguish all the required fields.
 *//*from   w w  w  .  ja  v a  2  s .  c o  m*/
public void testEquals() {
    DefaultHighLowDataset d1 = new DefaultHighLowDataset("Series 1", new Date[0], new double[0], new double[0],
            new double[0], new double[0], new double[0]);
    DefaultHighLowDataset d2 = new DefaultHighLowDataset("Series 1", new Date[0], new double[0], new double[0],
            new double[0], new double[0], new double[0]);
    assertTrue(d1.equals(d2));
    assertTrue(d2.equals(d1));

    d1 = new DefaultHighLowDataset("Series 2", new Date[0], new double[0], new double[0], new double[0],
            new double[0], new double[0]);
    assertFalse(d1.equals(d2));
    d2 = new DefaultHighLowDataset("Series 2", new Date[0], new double[0], new double[0], new double[0],
            new double[0], new double[0]);
    assertTrue(d1.equals(d2));

    d1 = new DefaultHighLowDataset("Series 2", new Date[] { new Date(123L) }, new double[1], new double[1],
            new double[1], new double[1], new double[1]);
    assertFalse(d1.equals(d2));
    d2 = new DefaultHighLowDataset("Series 2", new Date[] { new Date(123L) }, new double[1], new double[1],
            new double[1], new double[1], new double[1]);
    assertTrue(d1.equals(d2));

    d1 = new DefaultHighLowDataset("Series 2", new Date[] { new Date(123L) }, new double[] { 1.2 },
            new double[1], new double[1], new double[1], new double[1]);
    assertFalse(d1.equals(d2));
    d2 = new DefaultHighLowDataset("Series 2", new Date[] { new Date(123L) }, new double[] { 1.2 },
            new double[1], new double[1], new double[1], new double[1]);
    assertTrue(d1.equals(d2));

    d1 = new DefaultHighLowDataset("Series 2", new Date[] { new Date(123L) }, new double[] { 1.2 },
            new double[] { 3.4 }, new double[1], new double[1], new double[1]);
    assertFalse(d1.equals(d2));
    d2 = new DefaultHighLowDataset("Series 2", new Date[] { new Date(123L) }, new double[] { 1.2 },
            new double[] { 3.4 }, new double[1], new double[1], new double[1]);
    assertTrue(d1.equals(d2));

    d1 = new DefaultHighLowDataset("Series 2", new Date[] { new Date(123L) }, new double[] { 1.2 },
            new double[] { 3.4 }, new double[] { 5.6 }, new double[1], new double[1]);
    assertFalse(d1.equals(d2));
    d2 = new DefaultHighLowDataset("Series 2", new Date[] { new Date(123L) }, new double[] { 1.2 },
            new double[] { 3.4 }, new double[] { 5.6 }, new double[1], new double[1]);
    assertTrue(d1.equals(d2));

    d1 = new DefaultHighLowDataset("Series 2", new Date[] { new Date(123L) }, new double[] { 1.2 },
            new double[] { 3.4 }, new double[] { 5.6 }, new double[] { 7.8 }, new double[1]);
    assertFalse(d1.equals(d2));
    d2 = new DefaultHighLowDataset("Series 2", new Date[] { new Date(123L) }, new double[] { 1.2 },
            new double[] { 3.4 }, new double[] { 5.6 }, new double[] { 7.8 }, new double[1]);
    assertTrue(d1.equals(d2));

    d1 = new DefaultHighLowDataset("Series 2", new Date[] { new Date(123L) }, new double[] { 1.2 },
            new double[] { 3.4 }, new double[] { 5.6 }, new double[] { 7.8 }, new double[] { 99.9 });
    assertFalse(d1.equals(d2));
    d2 = new DefaultHighLowDataset("Series 2", new Date[] { new Date(123L) }, new double[] { 1.2 },
            new double[] { 3.4 }, new double[] { 5.6 }, new double[] { 7.8 }, new double[] { 99.9 });
    assertTrue(d1.equals(d2));

}

From source file:jgnash.ui.report.compiled.SecurityHighLowChart.java

private static AbstractXYDataset createHighLowDataSet(final SecurityNode node) {
    Objects.requireNonNull(node);

    List<SecurityHistoryNode> hNodes = node.getHistoryNodes();

    int count = hNodes.size();

    Date[] date = new Date[count];
    double[] high = new double[count];
    double[] low = new double[count];
    double[] open = new double[count];
    double[] close = new double[count];
    double[] volume = new double[count];

    for (int i = 0; i < count; i++) {
        final SecurityHistoryNode hNode = hNodes.get(i);

        date[i] = DateUtils.asDate(hNode.getLocalDate());
        high[i] = hNode.getAdjustedHigh().doubleValue();
        low[i] = hNode.getAdjustedLow().doubleValue();
        open[i] = hNode.getAdjustedPrice().doubleValue();
        close[i] = hNode.getAdjustedPrice().doubleValue();
        volume[i] = hNode.getVolume();/*from ww  w.  ja v  a 2s .co m*/
    }

    return new DefaultHighLowDataset(node.getDescription(), date, high, low, open, close, volume);
}

From source file:com.leonarduk.finance.chart.CandlestickChart.java

/**
 * Builds a JFreeChart OHLC dataset from a ta4j time series.
 *
 * @param series//from  w w w  . ja va 2 s  .c o  m
 *            a time series
 * @return an Open-High-Low-Close dataset
 */
private static OHLCDataset createOHLCDataset(final TimeSeries series) {
    final int nbTicks = series.getTickCount();

    final Date[] dates = new Date[nbTicks];
    final double[] opens = new double[nbTicks];
    final double[] highs = new double[nbTicks];
    final double[] lows = new double[nbTicks];
    final double[] closes = new double[nbTicks];
    final double[] volumes = new double[nbTicks];

    for (int i = 0; i < nbTicks; i++) {
        final Tick tick = series.getTick(i);
        dates[i] = tick.getEndTime().toDate();
        opens[i] = tick.getOpenPrice().toDouble();
        highs[i] = tick.getMaxPrice().toDouble();
        lows[i] = tick.getMinPrice().toDouble();
        closes[i] = tick.getClosePrice().toDouble();
        volumes[i] = tick.getVolume().toDouble();
    }

    final OHLCDataset dataset = new DefaultHighLowDataset(series.getName(), dates, highs, lows, opens, closes,
            volumes);

    return dataset;
}

From source file:org.jfree.data.xy.DefaultHighLowDatasetTest.java

/**
 * Confirm that cloning works.//from www  .  j ava 2s  .c  om
 */
@Test
public void testCloning() throws CloneNotSupportedException {
    DefaultHighLowDataset d1 = new DefaultHighLowDataset("Series 1", new Date[] { new Date(123L) },
            new double[] { 1.2 }, new double[] { 3.4 }, new double[] { 5.6 }, new double[] { 7.8 },
            new double[] { 99.9 });
    DefaultHighLowDataset d2 = (DefaultHighLowDataset) d1.clone();
    assertTrue(d1 != d2);
    assertTrue(d1.getClass() == d2.getClass());
    assertTrue(d1.equals(d2));
}

From source file:org.jfree.data.xy.junit.DefaultHighLowDatasetTest.java

/**
 * Confirm that cloning works.// w  ww  .  jav a  2 s .  co m
 */
public void testCloning() {
    DefaultHighLowDataset d1 = new DefaultHighLowDataset("Series 1", new Date[] { new Date(123L) },
            new double[] { 1.2 }, new double[] { 3.4 }, new double[] { 5.6 }, new double[] { 7.8 },
            new double[] { 99.9 });
    DefaultHighLowDataset d2 = null;
    try {
        d2 = (DefaultHighLowDataset) d1.clone();
    } catch (CloneNotSupportedException e) {
        e.printStackTrace();
    }
    assertTrue(d1 != d2);
    assertTrue(d1.getClass() == d2.getClass());
    assertTrue(d1.equals(d2));
}

From source file:org.jfree.data.xy.DefaultHighLowDatasetTest.java

/**
 * Verify that this class implements {@link PublicCloneable}.
 *///  ww  w .j a v a  2  s.c o m
@Test
public void testPublicCloneable() {
    DefaultHighLowDataset d1 = new DefaultHighLowDataset("Series 1", new Date[0], new double[0], new double[0],
            new double[0], new double[0], new double[0]);
    assertTrue(d1 instanceof PublicCloneable);
}

From source file:compecon.dashboard.panel.BanksPanel.java

protected DefaultHighLowDataset getDefaultHighLowDataset(Currency currency, Currency commodityCurrency) {
    PricesModel pricesModel = ApplicationContext.getInstance().getModelRegistry()
            .getNationalEconomyModel(currency).pricesModel;
    if (pricesModel.getPriceModelsForCurrencies().containsKey(currency)) {
        Map<Currency, PriceModel> priceModelsForCurrencies = pricesModel.getPriceModelsForCurrencies()
                .get(currency);/* www.j  av a  2  s.  c  o m*/
        PriceModel priceModel = priceModelsForCurrencies.get(commodityCurrency);
        if (priceModel != null)
            return new DefaultHighLowDataset("", priceModel.getDate(), priceModel.getHigh(),
                    priceModel.getLow(), priceModel.getOpen(), priceModel.getClose(), priceModel.getVolume());
    }
    return null;
}

From source file:org.jfree.data.xy.DefaultHighLowDatasetTest.java

/**
 * Serialize an instance, restore it, and check for equality.
 *//*from  w ww . j  a  v a  2 s.c om*/
@Test
public void testSerialization() {
    DefaultHighLowDataset d1 = new DefaultHighLowDataset("Series 1", new Date[] { new Date(123L) },
            new double[] { 1.2 }, new double[] { 3.4 }, new double[] { 5.6 }, new double[] { 7.8 },
            new double[] { 99.9 });
    DefaultHighLowDataset d2 = (DefaultHighLowDataset) TestUtilities.serialised(d1);
    assertEquals(d1, d2);
}