Sha256: 2b0de5040936ca0336b6f2332be62a4e202666b0e2e00d028da9f9fde655e744

Contents?: true

Size: 1.66 KB

Versions: 8

Compression:

Stored size: 1.66 KB

Contents

module IB
  # This is a single data point delivered by HistoricData or RealTimeBar messages.
  # Instantiate with a Hash of attributes, to be auto-set via initialize in Model.
  class Bar < IB::Model
    include BaseProperties

    has_one :contract # The bar represents timeseries info for this Contract

    prop :open, #   The bar opening price.
      :high, #   The high price during the time covered by the bar.
      :low, #    The low price during the time covered by the bar.
      :close, #  The bar closing price.
      :volume, # Volume
      :wap, #    Weighted average price during the time covered by the bar.
      :trades, # int: When TRADES data history is returned, represents number
      #           of trades that occurred during the time period the bar covers
      :time, # TODO: convert into Time object?
      #        The date-time stamp of the start of the bar. The format is
      #        determined by the reqHistoricalData() formatDate parameter.
      :has_gaps => :bool # Whether or not there are gaps in the data.

      validates_numericality_of :open, :high, :low, :close, :volume

    # Order comparison
    def == other
      super(other) ||
        other.is_a?(self.class) &&
        time == other.time &&
        open == other.open &&
        high == other.high &&
        low == other.low &&
        close == other.close &&
        wap == other.wap &&
        trades == other.trades &&
        volume == other.volume
    end

    def to_human
      "<Bar: #{time} wap #{wap} OHLC #{open} #{high} #{low} #{close} " +
        (trades ? "trades #{trades}" : "") + " vol #{volume} gaps #{has_gaps}>"
    end

    alias to_s to_human
  end # class Bar
end # module IB

Version data entries

8 entries across 8 versions & 2 rubygems

Version Path
my-ib-api-0.0.4 lib/models/ib/bar.rb
my-ib-api-0.0.3 lib/models/ib/bar.rb
my-ib-api-0.0.2 lib/models/ib/bar.rb
my-ib-api-0.0.1 lib/models/ib/bar.rb
ib-ruby-0.9.2 lib/models/ib/bar.rb
ib-ruby-0.9.1 lib/models/ib/bar.rb
ib-ruby-0.9.0 lib/models/ib/bar.rb
ib-ruby-0.8.5 lib/models/ib/bar.rb