60 lines
2.0 KiB
Java
60 lines
2.0 KiB
Java
/*
|
|
* SPDX-License-Identifier: MIT
|
|
*/
|
|
package ta4jexamples.datasources.json;
|
|
|
|
import org.ta4j.core.Bar;
|
|
import org.ta4j.core.BaseBarSeries;
|
|
import org.ta4j.core.utils.DeprecationNotifier;
|
|
|
|
import java.time.Duration;
|
|
import java.time.Instant;
|
|
|
|
@Deprecated(since = "0.19", forRemoval = true)
|
|
public class GsonBarData {
|
|
private long endTime;
|
|
private Number openPrice;
|
|
private Number highPrice;
|
|
private Number lowPrice;
|
|
private Number closePrice;
|
|
private Number volume;
|
|
private Number amount;
|
|
|
|
public GsonBarData() {
|
|
DeprecationNotifier.warnOnce(GsonBarData.class, "ta4jexamples.datasources.json.JsonFileBarSeriesDataSource",
|
|
"0.24.0");
|
|
}
|
|
|
|
@Deprecated(since = "0.19", forRemoval = true)
|
|
public static GsonBarData from(Bar bar) {
|
|
DeprecationNotifier.warnOnce(GsonBarData.class, "ta4jexamples.datasources.json.JsonFileBarSeriesDataSource",
|
|
"0.24.0");
|
|
var result = new GsonBarData();
|
|
result.endTime = bar.getEndTime().toEpochMilli();
|
|
result.openPrice = bar.getOpenPrice().getDelegate();
|
|
result.highPrice = bar.getHighPrice().getDelegate();
|
|
result.lowPrice = bar.getLowPrice().getDelegate();
|
|
result.closePrice = bar.getClosePrice().getDelegate();
|
|
result.volume = bar.getVolume().getDelegate();
|
|
result.amount = bar.getAmount().getDelegate();
|
|
return result;
|
|
}
|
|
|
|
@Deprecated(since = "0.19", forRemoval = true)
|
|
public void addTo(BaseBarSeries barSeries) {
|
|
DeprecationNotifier.warnOnce(GsonBarData.class, "ta4jexamples.datasources.json.JsonFileBarSeriesDataSource",
|
|
"0.24.0");
|
|
var endTimeInstant = Instant.ofEpochMilli(endTime);
|
|
barSeries.barBuilder()
|
|
.timePeriod(Duration.ofDays(1))
|
|
.endTime(endTimeInstant)
|
|
.openPrice(openPrice)
|
|
.highPrice(highPrice)
|
|
.lowPrice(lowPrice)
|
|
.closePrice(closePrice)
|
|
.volume(volume)
|
|
.amount(amount)
|
|
.add();
|
|
}
|
|
}
|