I continued playing with CandlestickSeries and today I was able to insert a CandlestickSet, but was unable to remove it. See "Insert" and "Delete" buttons in the code below:
ColumnLayout
{
spacing: 5
anchors.fill: parent
ChartView {
id: cv
title: "Candlestick series"
theme: ChartView.ChartThemeLight
legend.alignment: Qt.AlignBottom
antialiasing: true
Layout.fillWidth: true
Layout.fillHeight: true
CandlestickSeries {
id: series
name: "Acme Ltd."
increasingColor: "green"
decreasingColor: "red"
CandlestickSet { timestamp: 1435708800000; open: 6.90; high: 6.94; low: 5.99; close: 6.60 }
//CandlestickSet { timestamp: 1435795200000; open: 6.69; high: 6.69; low: 6.69; close: 6.69 }
CandlestickSet { timestamp: 1436140800000; open: 4.85; high: 6.23; low: 4.85; close: 6.00 }
CandlestickSet { timestamp: 1436227200000; open: 5.89; high: 6.15; low: 3.77; close: 5.69 }
//CandlestickSet { timestamp: 1436313600000; open: 4.64; high: 4.64; low: 2.54; close: 2.54 }
}
}
RowLayout
{
Layout.margins: 10
spacing: 5
Button
{
text: "Change 2"
onClicked: series.at(2).open = 3
}
Button
{
text: "Change 4"
onClicked: series.at(4).open = 3
}
Button
{
text: "Insert"
onClicked: {
var set = Qt.createQmlObject('import QtCharts 2.2; CandlestickSet {}', series, "dynamicSnippet1");
set.timestamp = 1435795200000
set.open = 5.69
set.high = 6.69
set.low = 3.54
set.close = 4.54
var ret = series.insert(1, set)
console.log("ret=", ret, set)
}
}
Button
{
text: "Add"
onClicked: {
var set = Qt.createQmlObject('import QtCharts 2.2; CandlestickSet {}', series, "dynamicSnippet1");
set.timestamp = 1436313600000 //1436413600000
set.open = 4.64
set.high = 4.64
set.low = 2.54
set.close = 2.54
var ret = series.append(set)
console.log("ret=", ret, set)
}
}
Button
{
text: "Delete"
onClicked: {
var set = series.at(1)
var ret = series.remove(set)
console.log("ret=", ret, set)
}
}
}
series.remove remove returned false and the chart did not change.
Also, as before, it is not clear how to append a candle.
My QT version is 6.2.