TeeChart:在不指定时间的情况下将蜡烛添加到图表
TeeChart: Adding candles to chart without specifying their time
我正在寻找一种无需指定点的日期值即可将数据添加到 OHLC 系列的方法。
所以假设我有一个 List<Candle>
,其中 Candle
对象包含 high
、low
、open
和 close
的值, 但 不是 date
.
我想为系列添加值,以便它们在图表上有规律地分布,我的意思是,所有蜡烛之间的距离相等。
是否有任何方便的选项可以将点添加到系列数据列表的末尾和开头?
add() 方法接受 open
、high
、low
和 close
值的覆盖:
public int add(double open, double high, double low, double close)
另一个接受 index
、open
、high
、low
和 close
值:
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() 方法的第三个覆盖,接受 index
、open
、high
、low
和 close
值:
public int add(double index, double open, double high, double low, double close)
注意 is override 的第一个参数名为 "index" 但它实际上是一个双精度数,因此您可以将其视为 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());
我正在寻找一种无需指定点的日期值即可将数据添加到 OHLC 系列的方法。
所以假设我有一个 List<Candle>
,其中 Candle
对象包含 high
、low
、open
和 close
的值, 但 不是 date
.
我想为系列添加值,以便它们在图表上有规律地分布,我的意思是,所有蜡烛之间的距离相等。
是否有任何方便的选项可以将点添加到系列数据列表的末尾和开头?
add() 方法接受 open
、high
、low
和 close
值的覆盖:
public int add(double open, double high, double low, double close)
另一个接受 index
、open
、high
、low
和 close
值:
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() 方法的第三个覆盖,接受 index
、open
、high
、low
和 close
值:
public int add(double index, double open, double high, double low, double close)
注意 is override 的第一个参数名为 "index" 但它实际上是一个双精度数,因此您可以将其视为 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());