Class: IB::OutgoingMessages::RequestScannerSubscription

Inherits:
AbstractMessage show all
Defined in:
lib/ib-ruby/messages.rb

Overview

data = { :ticker_id => int,

  :scanner_subscription => ScannerSubscription
}

Instance Attribute Summary

Attributes inherited from ExtremelyAbstractMessage

#created_at

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from AbstractMessage

#initialize, #send

Methods inherited from ExtremelyAbstractMessage

#to_human

Constructor Details

This class inherits a constructor from IB::OutgoingMessages::AbstractMessage

Class Method Details

.message_idObject



698
699
700
# File 'lib/ib-ruby/messages.rb', line 698

def self.message_id
  22
end

Instance Method Details

#queue(server) ⇒ Object



702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
# File 'lib/ib-ruby/messages.rb', line 702

def queue(server)
  requireVersion(server, 24)

  [
   self.class.message_id,
   3, # version
   @data[:ticker_id],
   @data[:subscription].number_of_rows,
   nilFilter(@data[:subscription].number_of_rows),
   @data[:subscription].instrument,
   @data[:subscription].location_code,
   @data[:subscription].scan_code,
   nilFilter(@data[:subscription].above_price),
   nilFilter(@data[:subscription].below_price),
   nilFilter(@data[:subscription].above_volume),
   nilFilter(@data[:subscription].market_cap_above),
   @data[:subscription].moody_rating_above,
   @data[:subscription].moody_rating_below,
   @data[:subscription].sp_rating_above,
   @data[:subscription].sp_rating_below,
   @data[:subscription].maturity_date_above,
   @data[:subscription].maturity_date_below,
   nilFilter(@data[:subscription].coupon_rate_above),
   nilFilter(@data[:subscription].coupon_rate_below),
   @data[:subscription].exclude_convertible,
   (server[:version] >= 25 ? [ @data[:subscription].average_option_volume_above,
                               @data[:subscription].scanner_setting_pairs ] : []),

   (server[:version] >= 27 ? [ @data[:subscription].stock_type_filter ] : []),
  ].flatten

end