use of org.ta4j.core.indicators.EMAIndicator in project crypto-bot by jnidzwetzki.
the class EMAStrategy02 method getStrategy.
public Strategy getStrategy() {
EMAIndicator sma1 = new EMAIndicator(closePriceIndicator, sma1Value);
EMAIndicator sma2 = new EMAIndicator(closePriceIndicator, sma2Value);
EMAIndicator sma3 = new EMAIndicator(closePriceIndicator, sma3Value);
Rule buyingRule = new CrossedUpIndicatorRule(sma1, sma2).and(new OverIndicatorRule(sma2, sma3));
Rule sellingRule = new CrossedDownIndicatorRule(sma1, sma3);
// .or(new CrossedDownIndicatorRule(sma2, sma3));
final BaseStrategy strategy = new BaseStrategy(buyingRule, sellingRule);
return strategy;
}
use of org.ta4j.core.indicators.EMAIndicator in project crypto-bot by jnidzwetzki.
the class ForexStrategy01 method getStrategy.
public Strategy getStrategy() {
EMAIndicator sma1 = new EMAIndicator(closePriceIndicator, 5);
EMAIndicator sma2 = new EMAIndicator(closePriceIndicator, 10);
RSIIndicator rsi = new RSIIndicator(closePriceIndicator, 14);
StochasticOscillatorKIndicator stochK = new StochasticOscillatorKIndicator(timeSeries, 14);
StochasticOscillatorDIndicator stochD = new StochasticOscillatorDIndicator(stochK);
Rule buyingRule = new CrossedUpIndicatorRule(sma1, sma2).and(new OverIndicatorRule(rsi, Decimal.valueOf(50))).and(new OverIndicatorRule(stochK, stochD)).and(new UnderIndicatorRule(stochD, Decimal.valueOf(80)));
Rule sellingRule = new CrossedDownIndicatorRule(sma1, sma2).or(new CrossedDownIndicatorRule(rsi, Decimal.valueOf(50)));
final BaseStrategy strategy = new BaseStrategy(buyingRule, sellingRule);
return strategy;
}
use of org.ta4j.core.indicators.EMAIndicator in project ta4j by ta4j.
the class IndicatorsToChart method main.
public static void main(String[] args) {
/*
Getting time series
*/
TimeSeries series = CsvBarsLoader.loadAppleIncSeries();
/*
Creating indicators
*/
// Close price
ClosePriceIndicator closePrice = new ClosePriceIndicator(series);
EMAIndicator avg14 = new EMAIndicator(closePrice, 14);
StandardDeviationIndicator sd14 = new StandardDeviationIndicator(closePrice, 14);
// Bollinger bands
BollingerBandsMiddleIndicator middleBBand = new BollingerBandsMiddleIndicator(avg14);
BollingerBandsLowerIndicator lowBBand = new BollingerBandsLowerIndicator(middleBBand, sd14);
BollingerBandsUpperIndicator upBBand = new BollingerBandsUpperIndicator(middleBBand, sd14);
/*
Building chart dataset
*/
TimeSeriesCollection dataset = new TimeSeriesCollection();
dataset.addSeries(buildChartTimeSeries(series, closePrice, "Apple Inc. (AAPL) - NASDAQ GS"));
dataset.addSeries(buildChartTimeSeries(series, lowBBand, "Low Bollinger Band"));
dataset.addSeries(buildChartTimeSeries(series, upBBand, "High Bollinger Band"));
/*
Creating the chart
*/
JFreeChart chart = ChartFactory.createTimeSeriesChart(// title
"Apple Inc. 2013 Close Prices", // x-axis label
"Date", // y-axis label
"Price Per Unit", // data
dataset, // create legend?
true, // generate tooltips?
true, // generate URLs?
false);
XYPlot plot = (XYPlot) chart.getPlot();
DateAxis axis = (DateAxis) plot.getDomainAxis();
axis.setDateFormatOverride(new SimpleDateFormat("yyyy-MM-dd"));
/*
Displaying the chart
*/
displayChart(chart);
}
Aggregations