当前位置: 首页>>代码示例>>Java>>正文


Java TimeSeries.getTickCount方法代码示例

本文整理汇总了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;
	
}
 
开发者ID:sgrotz,项目名称:myopentrader,代码行数:27,代码来源:TechnicalAnalysis.java

示例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;
}
 
开发者ID:mdeverdelhan,项目名称:ta4j-origins,代码行数:30,代码来源:CandlestickChart.java

示例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());
}
 
开发者ID:KosherBacon,项目名称:JavaBitcoinTrader,代码行数:38,代码来源:Backtester.java

示例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;
}
 
开发者ID:KosherBacon,项目名称:JavaBitcoinTrader,代码行数:20,代码来源:IndicatorsToChart.java

示例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;
}
 
开发者ID:sgrotz,项目名称:myopentrader,代码行数:38,代码来源:TechnicalAnalysis.java

示例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);
}
 
开发者ID:sgrotz,项目名称:myopentrader,代码行数:34,代码来源:TechnicalAnalysis.java

示例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;
}
 
开发者ID:mdeverdelhan,项目名称:ta4j-origins,代码行数:16,代码来源:BuyAndSellSignalsToChart.java

示例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;
}
 
开发者ID:mdeverdelhan,项目名称:ta4j-origins,代码行数:16,代码来源:CashFlowToChart.java

示例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;
}
 
开发者ID:mdeverdelhan,项目名称:ta4j-origins,代码行数:17,代码来源:CandlestickChart.java

示例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;
}
 
开发者ID:mdeverdelhan,项目名称:ta4j-origins,代码行数:16,代码来源:IndicatorsToChart.java


注:本文中的eu.verdelhan.ta4j.TimeSeries.getTickCount方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。