Class IB::OutgoingMessages::RequestScannerSubscription
In: messages.rb
Parent: AbstractMessage

data = { :ticker_id => int,

         :scanner_subscription => ScannerSubscription
       }

Methods

message_id   send  

Public Class methods

[Source]

     # File messages.rb, line 569
569:       def self.message_id
570:         22
571:       end

Public Instance methods

[Source]

     # File messages.rb, line 573
573:       def send(server)
574:         requireVersion(server, 24)
575: 
576:         [
577:          self.class.message_id,
578:          3, # version
579:          @data[:ticker_id],
580:          @data[:subscription].number_of_rows,
581:          nilFilter(@data[:subscription].number_of_rows),
582:          @data[:subscription].instrument,
583:          @data[:subscription].location_code,
584:          @data[:subscription].scan_code,
585:          nilFilter(@data[:subscription].above_price),
586:          nilFilter(@data[:subscription].below_price),
587:          nilFilter(@data[:subscription].above_volume),
588:          nilFilter(@data[:subscription].market_cap_above),
589:          @data[:subscription].moody_rating_above,
590:          @data[:subscription].moody_rating_below,
591:          @data[:subscription].sp_rating_above,
592:          @data[:subscription].sp_rating_below,
593:          @data[:subscription].maturity_date_above,
594:          @data[:subscription].maturity_date_below,
595:          nilFilter(@data[:subscription].coupon_rate_above),
596:          nilFilter(@data[:subscription].coupon_rate_below),
597:          @data[:subscription].exclude_convertible,
598:          (server[:version] >= 25 ? [ @data[:subscription].average_option_volume_above,
599:                                      @data[:subscription].scanner_setting_pairs ] : []),
600:          
601:          (server[:version] >= 27 ? [ @data[:subscription].stock_type_filter ] : []),
602:         ].flatten
603:         
604:       end

[Validate]