Package com.barchart.util.values.api

Examples of com.barchart.util.values.api.PriceValue


    bar.set(MarketBarField.TRADE_DATE, tradeDay.tradeDate());
    //

    // extract

    final PriceValue priceOpen = message.getPriceOpen();
    final PriceValue priceHigh = message.getPriceHigh();
    final PriceValue priceLow = message.getPriceLow();
    final PriceValue priceClose = message.getPriceLast(); // XXX note: LAST
    final PriceValue priceSettle = message.getPriceSettle();
    final SizeValue sizeVolume = message.getSizeVolume();
    final SizeValue sizeInterest = message.getSizeInterest();

    // apply
View Full Code Here


    switch (tradeType) {
    case TRADE: {

      // message "27" : normal trade

      PriceValue price = message.getPrice();
      SizeValue size = message.getSize();

      // TODO review contract on how to clean partial values
      if (isClear(price) || isEmpty(price)) {
        price = ValueConst.NULL_PRICE;
View Full Code Here

  protected void applyTop(/* local */MarketDoBookEntry entry,
      final TimeValue time, final MarketDo market) {

    /* ddf signals by special price values */
    final PriceValue price = entry.priceValue();

    /* ",," a.k.a comma-comma; ddf value not provided */
    if (isEmpty(price)) {
      return;
    }
View Full Code Here

      final MarketInstrument inst = get(INSTRUMENT);

      final MarketBookType type = inst.get(BOOK_TYPE);
      final SizeValue size = LIMIT;
      final PriceValue step = inst.get(PRICE_STEP);

      final VarBookDDF varBook = new VarBookDDF(type, size, step);
      final VarBookTopDDF varBookTop = new VarBookTopDDF(varBook);

      set(BOOK, varBook);
View Full Code Here

    for (int index = 0; index < length; index++) {
      final long sizeValue = array[index];
      if (sizeValue > 0) {
        final int place = entryIndex + 1;
        final long mantissa = priceFirst + index * priceStep;
        final PriceValue price = ValueBuilder.newPrice(mantissa,
            exponent);
        final SizeValue size = ValueBuilder.newSize(sizeValue);
        final MarketDoCuvolEntry entry = new DefCuvolEntry(place,
            price, size);
        entries[entryIndex++] = entry;
View Full Code Here

        continue;
      }

      final int place = index + MarketBook.ENTRY_TOP;

      final PriceValue price = HelperDDF.newPriceDDF(
          priceBidArray[index], frac);

      final SizeValue size = HelperDDF.newSizeDDF(sizeBidArray[index]);

      final MarketDoBookEntry entry = new DefBookEntry(MODIFY, BID,
          DEFAULT, place, price, size);

      entries[entryIndex++] = entry;

    }

    for (int index = 0; index < countAsk; index++) {

      if (sizeAskArray[index] == 0) {
        continue;
      }

      final int place = index + 1;

      final PriceValue price = HelperDDF.newPriceDDF(
          priceAskArray[index], frac);

      final SizeValue size = HelperDDF.newSizeDDF(sizeAskArray[index]);

      final MarketDoBookEntry entry = new DefBookEntry(MODIFY, ASK,
View Full Code Here

   * .feed.base.api.market.enums.MarketBookSide)
   */
  @Override
  public final MarketDoBookEntry entry(final MarketBookSide side) {

    final PriceValue price;
    final SizeValue size;

    switch (side) {
    case BID:
      price = getPriceBid();
View Full Code Here

    final TimeValue time = message.getTime();
    final TimeValue date = message.getTradeDay().tradeDate();

    final DDF_ParamType.Kind kind = param.kind;

    final PriceValue price;
    final SizeValue size;

    switch (kind) {
    default:
      log.error("wrong kind; treat as size : {}", kind);
View Full Code Here

    // ### process quote

    // TODO part of instrument; should update definition?
    final TextValue symbolName = message.getSymbolName();
    final PriceValue priceStep = message.getPriceStep();
    final PriceValue pointValue = message.getPointValue();

    // TODO add more complete flag support?
    final DDF_Condition condition = message.getCondition();
    final DDF_QuoteState state = message.getState();
    final DDF_QuoteMode mode = message.getMode();
View Full Code Here

    final TimeValue time = message.getTime();

    /** Update SETTLE State */
    {

      final PriceValue priceSettle = message.getPriceSettle();

      if (isClear(priceSettle)) {
        // ",-, " : means remove old value
        log.debug("Set State IS_SETTLED false inside visit MarketSnapshot because priceSettle is clear");
        market.setState(MarketStateEntry.IS_SETTLED, false);
      } else if (isEmpty(priceSettle)) {
        // ",," : means leave alone
        // no change of current value
      } else {
        // ",12345," : means replace with new value
        log.debug("Set State IS_SETTLED true inside visit MarketSnapshot because priceSettle is not empty");
        market.setState(MarketStateEntry.IS_SETTLED, true);
      }

    }

    /** Update top of book */
    {

      final PriceValue priceBid = message.getPriceBid();
      final PriceValue priceAsk = message.getPriceAsk();

      /** XXX note: {@link MarketBook#ENTRY_TOP} */

      final MarketDoBookEntry entryBid = new DefBookEntry(MODIFY, BID,
          DEFAULT, ENTRY_TOP, priceBid, ValueConst.NULL_SIZE);
      final MarketDoBookEntry entryAsk = new DefBookEntry(MODIFY, ASK,
          DEFAULT, ENTRY_TOP, priceAsk, ValueConst.NULL_SIZE);

      applyTop(entryBid, time, market);
      applyTop(entryAsk, time, market);

    }

    /** Update CURRENT bar */
    {

      final MarketBarType type = CURRENT;

      final MarketDoBar bar = market.loadBar(type.field);

      final DDF_TradeDay tradeDay = message.getTradeDay();
      bar.set(MarketBarField.TRADE_DATE, tradeDay.tradeDate());

      final PriceValue priceOpen = message.getPriceOpen();
      final PriceValue priceHigh = message.getPriceHigh();
      final PriceValue priceLow = message.getPriceLow();
      final PriceValue priceClose = message.getPriceLast(); // XXX
      final PriceValue priceSettle = message.getPriceSettle();
      final SizeValue sizeVolume = message.getSizeVolume();

      applyBar(bar, MarketBarField.OPEN, priceOpen);
      applyBar(bar, MarketBarField.HIGH, priceHigh);
      applyBar(bar, MarketBarField.LOW, priceLow);
      applyBar(bar, MarketBarField.CLOSE, priceClose);
      applyBar(bar, MarketBarField.SETTLE, priceSettle);
      applyBar(bar, MarketBarField.VOLUME, sizeVolume);

      bar.set(MarketBarField.BAR_TIME, time);

      market.setBar(type, bar);

    }

    /** Update PREVIOUS bar */
    {

      final MarketBarType type = PREVIOUS;

      final MarketDoBar bar = market.loadBar(type.field);
      final PriceValue priceOpen = message.getPriceOpen();
      final PriceValue priceHigh = message.getPriceHigh();
      final PriceValue priceLow = message.getPriceLow();
      final PriceValue priceClose = message.getPriceLastPrevious();
      final PriceValue priceSettle = message.getPriceSettle();
      final SizeValue sizeVolume = message.getSizeVolumePrevious();
      final SizeValue sizeInterest = message.getSizeInterest(); // XXX

      applyBar(bar, MarketBarField.OPEN, priceOpen);
      applyBar(bar, MarketBarField.HIGH, priceHigh);
View Full Code Here

TOP

Related Classes of com.barchart.util.values.api.PriceValue

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.