Ejemplo n.º 1
0
  @Override
  public void onOpen(OpenPrice open) {
    if (getBars().getCount() >= channelLag) {
      if (hasPosition()) {
        if (++barCount > maxDurationBar) {
          closePosition("Max duration reached");
        }
      } else if (highestHigh < open.getPrice()) {
        buy(calculateQty(), "Entry");
      } else if (lowestLow > open.getPrice()) {
        sell(calculateQty(), "Entry");
      }

      highestHigh = getBars().getHighestHigh(channelLag);
      highestHighSeries.add(open.getDate(), highestHigh);

      lowestLow = getBars().getLowestLow(channelLag);
      lowestLowSeries.add(open.getDate(), lowestLow);
    }
  }