private boolean isSellableDay(int i) { AccesoriesBean today = list.get(i); boolean conditionAveLine = (today.getEndValue() > today.getAverageLine3()); return conditionAveLine; }
private boolean isBuyableDay(int i) { try { AccesoriesBean yesterday = list.get(i - 1); AccesoriesBean today = list.get(i); boolean conditionRSI = (yesterday.getRsi() < 5); boolean conditionValue = (yesterday.getLowValue() > today.getStartValue()); return conditionRSI & conditionValue; } catch (ArrayIndexOutOfBoundsException e) { return false; } }
private void setSelledDayData(TradeResultBean tradeResult, AccesoriesBean accesory) { tradeResult.setSellDate(accesory.getDate()); tradeResult.setSellValue(accesory.getEndValue()); }
private void setBuyedDayData(TradeResultBean tradeResult, AccesoriesBean accesory) { tradeResult.setBuyDate(accesory.getDate()); tradeResult.setBuyValue(accesory.getStartValue() * gap); }
private void setRSI(int kikan) { int count = list.size(); double[] rsis = calcFirstParam(RSI_KIKAN); list.get(kikan).setAverageGain(rsis[0]); list.get(kikan).setAverageLoss(rsis[1]); list.get(kikan).setRsi(rsis[2]); list.get(kikan).setAverageLine3(rsis[3]); list.get(kikan).setLastEndValue(list.get(kikan - 1).getEndValue()); for (int i = RSI_KIKAN + 1; i < count; i++) { AccesoriesBean bean1 = list.get(i); AccesoriesBean bean2 = list.get(i - 1); double temp = bean1.getEndValue() - bean2.getEndValue(); double gain = temp > 0 ? temp : 0; double loss = temp < 0 ? Math.abs(temp) : 0; double averageGain = (bean2.getAverageGain() * (RSI_KIKAN - 1) + gain) / RSI_KIKAN; double averageLoss = (bean2.getAverageLoss() * (RSI_KIKAN - 1) + loss) / RSI_KIKAN; double averageLine3 = (list.get(i).getEndValue() + list.get(i - 1).getEndValue() + list.get(i - 2).getEndValue()) / 3; bean1.setAverageGain(averageGain); bean1.setAverageLoss(averageLoss); bean1.setRsi(calcRSI(averageGain, averageLoss)); bean1.setLastEndValue(bean2.getEndValue()); bean1.setAverageLine3(averageLine3); } return; }