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;
  }