TeeChart:在图表中添加蜡烛,但不指定蜡烛的时间



我正在寻找一种在不指定点的日期值的情况下将数据添加到OHLC系列的方法。

因此,让我们假设我有一个List<Candle>,其中Candle对象包含highlowopenclose的值,但而不是date

我想以这样一种方式将值添加到序列中,即它们将定期分布在图表上,我的意思是,所有蜡烛之间的距离相等。

是否有任何方便的选项可以将点添加到系列数据列表的末尾和开头?

有一个接受openhighlowclose值的add()方法的覆盖:

public int add(double open, double high, double low, double close)

另一个接受indexopenhighlowclose值:

public int add(int index, double open, double high, double low, double close)

更新:

在你发送的项目中,我看到你在几次迭代后删除了该系列的第一点:

candleSeries.delete(0);

注意上面提到的第一个add()覆盖在内部调用第二个:

public int add(double open, double high, double low, double close) {
    return add(getCount(), open, high, low, close);
}

因此,该系列的计数被用作要添加的点的XValue。但是删除第一个点会失去Count和XValues的同步,这使得add()方法的第一个重写在这种情况下不合适。

在您的情况下,您仍然可以使用add()方法的第三个重写,接受indexopenhighlowclose值:

public int add(double index, double open, double high, double low, double close)

请注意,is override的第一个参数名为"index",但它实际上是一个double,因此您可以将其视为XValue/Date。

这是,在您的测试应用程序中,更改此:

candleSeries.add(point.getOpen(), point.getHigh(), point.getLow(), point.getClose());

为此:

candleSeries.add(candleSeries.getXValues().getValue(candleSeries.getCount()-1) + 1, point.getOpen(), point.getHigh(), point.getLow(), point.getClose());

最新更新