本文整理汇总了Java中eu.verdelhan.ta4j.TimeSeries.getTickCount方法的典型用法代码示例。如果您正苦于以下问题:Java TimeSeries.getTickCount方法的具体用法?Java TimeSeries.getTickCount怎么用?Java TimeSeries.getTickCount使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eu.verdelhan.ta4j.TimeSeries
的用法示例。
在下文中一共展示了TimeSeries.getTickCount方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getSeriesByDays
import eu.verdelhan.ta4j.TimeSeries; //导入方法依赖的package包/类
@Cacheable (name="TechnicalAnalysis_getSeriesByDays", ttl=600)
public TimeSeries getSeriesByDays(String symbol, String startDate, int days, boolean enforce) {
String today = db.getTimestampFromDate(startDate, pattern).toString();
TimeSeries series = null;
// Default seriesSize and iteration to 0
int seriesSize = 0;
int iteration = 0;
// Loop until the seriesSize matches the requested amount of days or until we have done 30 iterations (otherwise we end up in infinite loop!)
while ((seriesSize < days) && (iteration < 30)) {
String sd = db.subtractDaysFromDate(today, pattern, days + iteration);
series = this.getSeriesByDate(symbol, sd, today);
if (series != null) {
seriesSize = series.getTickCount();
}
// Increase the iteration by the difference between days and current seriesSize
iteration = iteration + (days - seriesSize);
}
return series;
}
示例2: createOHLCDataset
import eu.verdelhan.ta4j.TimeSeries; //导入方法依赖的package包/类
/**
* Builds a JFreeChart OHLC dataset from a ta4j time series.
* @param series a time series
* @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;
}
示例3: printBackTestResults
import eu.verdelhan.ta4j.TimeSeries; //导入方法依赖的package包/类
private static void printBackTestResults(String mkt, TimeSeries series,
Strategy strategy) {
BacktestResult result = new BacktestResult(series, strategy).test();
StringBuilder builder = new StringBuilder();
builder.append(mkt + " Backtest: " + series
.getSeriesPeriodDescription());
builder.append("\n\tSeries Metrics:");
int numTicks = series.getTickCount();
builder.append("\n\t\tNumber of Ticks: " + numTicks);
builder.append("\n\t\tFirst Tick Open Price: " + series.getTick(0)
.getOpenPrice());
builder.append("\n\t\tLast Tick Close Price: " + series.getTick
(numTicks - 1).getClosePrice());
Decimal volume = Decimal.ZERO;
for (int i = 0; i < numTicks; i++) {
volume = volume.plus(series.getTick(i).getAmount());
}
builder.append("\n\t\tVolume (All Ticks): " + volume);
builder.append("\n\n\tTrade Performance:");
builder.append("\n\t\tNumber of Trades: " + result.getNumberOfTrades());
builder.append("\n\t\tTotal Profit: " + result.getProfit());
builder.append("\n\t\tBuy and Hold Profit: " + result
.getBuyAndHoldProfit());
double profitableTradesRatio = result.getProfitableTradesRatio();
builder.append("\n\t\tProfitable Trades Ratio: " +
profitableTradesRatio + " (" + profitableTradesRatio * 100D +
"%)");
double maximumDrawdown = result.getMaxDrawdown();
builder.append("\n\t\tMaximum Drawdown: " + maximumDrawdown + " (" +
maximumDrawdown * 100D + "%)");
builder.append("\n\t\tReward Risk Ratio: " + result
.getRewardRiskRatio());
builder.append("\n\t\tLinear Transaction Cost: " + result
.getLinearTransactionCost());
System.out.println(builder.toString());
}
示例4: for
import eu.verdelhan.ta4j.TimeSeries; //导入方法依赖的package包/类
/**
* Builds a JFreeChart time series from a Ta4j time series and an indicator.
*
* @param tickSeries the ta4j time series
* @param indicator the indicator
* @param name the name of the chart time series
* @return the JFreeChart time series
*/
private static org.jfree.data.time.TimeSeries buildChartTimeSeries
(TimeSeries tickSeries, Indicator<Decimal> indicator, String name) {
org.jfree.data.time.TimeSeries chartTimeSeries = new org.jfree.data
.time.TimeSeries(name);
for (int i = 0; i < tickSeries.getTickCount(); i++) {
Tick tick = tickSeries.getTick(i);
chartTimeSeries.addOrUpdate(new Day(tick.getEndTime().toDate()),
indicator.getValue(i).toDouble());
}
return chartTimeSeries;
}
示例5: getStochasticOscillatorKIndicator
import eu.verdelhan.ta4j.TimeSeries; //导入方法依赖的package包/类
/**
* Calculates the stochastic oscillator K indicator for the past 3 days.
*
* @param days - how many days to go back (today minus x days)
* @param startDate - the date when to beginn looking for data
* @param symbol - which symbol to look for
* @return Double value
*/
//@CacheResult ()
public Double getStochasticOscillatorKIndicator (String symbol, String startDate, int days) {
long start = System.currentTimeMillis();
Double ret = 0.0;
int tickCount = 0;
logger.debug("Running stochastic oscillator calculation for " + symbol + " the last " + days + " days!");
// Create the time series
TimeSeries series = this.getSeriesByDays(symbol, startDate, days, true);
if (series != null) {
// Get the tick count or size of the series
tickCount = series.getTickCount();
}
if (tickCount > 0) {
// Create a new stochasic oscillator indicator
StochasticOscillatorKIndicator soki = new StochasticOscillatorKIndicator(series, tickCount);
// Return the last value
ret = soki.getValue(tickCount - 1).toDouble();
}
long end = System.currentTimeMillis();
//System.out.println("getStochasticOscillatorKIndicator - Processing symbol " + symbol + "(" + startDate + ", " + days + ") took " + (end - start) + " msecs...");
return ret;
}
示例6: main
import eu.verdelhan.ta4j.TimeSeries; //导入方法依赖的package包/类
public static void main(String[] args) {
PropertiesFactory pf = PropertiesFactory.getInstance();
pf.setConfigDir(args[0]);
System.setProperty("PathToConfigDir", pf.getConfigDir());
PropertyConfigurator.configure(pf.getConfigDir() + "/log4j.properties");
TechnicalAnalysis ta = TechnicalAnalysis.getInstance();
// create a new series
//TimeSeries series = ta.getSeriesByDate("AAPL", "2014-11-17", "2014-12-25");
TimeSeries series = ta.getSeriesByDays("AAPL", 5, true);
System.out.println("Series contains " + series.getTickCount() + " ticks");
int lastTick = series.getTickCount() - 1;
// Create a close price indicator
ClosePriceIndicator closePrice = new ClosePriceIndicator(series);
System.out.println("First value: " + series.getFirstTick().getClosePrice() + " - " + closePrice.getValue(0));
System.out.println("Last value: " + series.getLastTick().getClosePrice() + " - " + closePrice.getValue(lastTick));
SMAIndicator shortSma = new SMAIndicator(closePrice, 5);
System.out.println("5-ticks-SMA value at the last (" + lastTick + ") index: " + shortSma.getValue(lastTick).toDouble());
StochasticOscillatorKIndicator soki = new StochasticOscillatorKIndicator(series, 3);
System.out.println("StochasticOscillatorKIndicator value at the last (" + lastTick + ") index: " + soki.getValue(lastTick));
StochasticOscillatorDIndicator sodi = new StochasticOscillatorDIndicator(soki);
System.out.println("StochasticOscillatorDIndicator value at the last (" + lastTick + ") index: " + sodi.getValue(lastTick));
//System.out.println(sodi.size());
System.exit(0);
}
示例7: buildChartTimeSeries
import eu.verdelhan.ta4j.TimeSeries; //导入方法依赖的package包/类
/**
* Builds a JFreeChart time series from a Ta4j time series and an indicator.
* @param tickSeries the ta4j time series
* @param indicator the indicator
* @param name the name of the chart time series
* @return the JFreeChart time series
*/
private static org.jfree.data.time.TimeSeries buildChartTimeSeries(TimeSeries tickSeries, Indicator<Decimal> indicator, String name) {
org.jfree.data.time.TimeSeries chartTimeSeries = new org.jfree.data.time.TimeSeries(name);
for (int i = 0; i < tickSeries.getTickCount(); i++) {
Tick tick = tickSeries.getTick(i);
chartTimeSeries.add(new Minute(Date.from(tick.getEndTime().toInstant())), indicator.getValue(i).toDouble());
}
return chartTimeSeries;
}
示例8: buildChartTimeSeries
import eu.verdelhan.ta4j.TimeSeries; //导入方法依赖的package包/类
/**
* Builds a JFreeChart time series from a Ta4j time series and an indicator.
* @param tickSeries the ta4j time series
* @param indicator the indicator
* @param name the name of the chart time series
* @return the JFreeChart time series
*/
private static org.jfree.data.time.TimeSeries buildChartTimeSeries(TimeSeries tickSeries, Indicator<Decimal> indicator, String name) {
org.jfree.data.time.TimeSeries chartTimeSeries = new org.jfree.data.time.TimeSeries(name);
for (int i = 0; i < tickSeries.getTickCount(); i++) {
Tick tick = tickSeries.getTick(i);
chartTimeSeries.add(new Minute(new Date(tick.getEndTime().toEpochSecond() * 1000)), indicator.getValue(i).toDouble());
}
return chartTimeSeries;
}
示例9: createAdditionalDataset
import eu.verdelhan.ta4j.TimeSeries; //导入方法依赖的package包/类
/**
* Builds an additional JFreeChart dataset from a ta4j time series.
* @param series a time series
* @return an additional dataset
*/
private static TimeSeriesCollection createAdditionalDataset(TimeSeries series) {
ClosePriceIndicator indicator = new ClosePriceIndicator(series);
TimeSeriesCollection dataset = new TimeSeriesCollection();
org.jfree.data.time.TimeSeries chartTimeSeries = new org.jfree.data.time.TimeSeries("Btc price");
for (int i = 0; i < series.getTickCount(); i++) {
Tick tick = series.getTick(i);
chartTimeSeries.add(new Second(new Date(tick.getEndTime().toEpochSecond() * 1000)), indicator.getValue(i).toDouble());
}
dataset.addSeries(chartTimeSeries);
return dataset;
}
示例10: buildChartTimeSeries
import eu.verdelhan.ta4j.TimeSeries; //导入方法依赖的package包/类
/**
* Builds a JFreeChart time series from a Ta4j time series and an indicator.
* @param tickSeries the ta4j time series
* @param indicator the indicator
* @param name the name of the chart time series
* @return the JFreeChart time series
*/
private static org.jfree.data.time.TimeSeries buildChartTimeSeries(TimeSeries tickSeries, Indicator<Decimal> indicator, String name) {
org.jfree.data.time.TimeSeries chartTimeSeries = new org.jfree.data.time.TimeSeries(name);
for (int i = 0; i < tickSeries.getTickCount(); i++) {
Tick tick = tickSeries.getTick(i);
chartTimeSeries.add(new Day(Date.from(tick.getEndTime().toInstant())), indicator.getValue(i).toDouble());
}
return chartTimeSeries;
}