sig
  module Type :
    sig
      type t = Bid | Ask | Last | High | Low | Close | Open
      val t_of_sexp : Sexplib.Sexp.t -> Response.Tick_price.Type.t
      val sexp_of_t : Response.Tick_price.Type.t -> Sexplib.Sexp.t
    end
  type t = private {
    tick_type : Response.Tick_price.Type.t;
    price : Price.t;
    size : Volume.t;
    can_auto_execute : bool option;
  }
  val can_auto_execute : Response.Tick_price.t -> bool option
  val size : Response.Tick_price.t -> Volume.t
  val tick_type : Response.Tick_price.t -> Response.Tick_price.Type.t
  module Fields :
    sig
      val names : string list
      val can_auto_execute :
        (Response.Tick_price.t, bool option) Fieldslib.Field.readonly_t
      val size : (Response.Tick_price.t, Volume.t) Fieldslib.Field.readonly_t
      val price : (Response.Tick_price.t, Price.t) Fieldslib.Field.readonly_t
      val tick_type :
        (Response.Tick_price.t, Response.Tick_price.Type.t)
        Fieldslib.Field.readonly_t
      val fold :
        init:'acc__ ->
        tick_type:('acc__ ->
                   (Response.Tick_price.t, Response.Tick_price.Type.t)
                   Fieldslib.Field.readonly_t -> 'acc__) ->
        price:('acc__ ->
               (Response.Tick_price.t, Price.t) Fieldslib.Field.readonly_t ->
               'acc__) ->
        size:('acc__ ->
              (Response.Tick_price.t, Volume.t) Fieldslib.Field.readonly_t ->
              'acc__) ->
        can_auto_execute:('acc__ ->
                          (Response.Tick_price.t, bool option)
                          Fieldslib.Field.readonly_t -> 'acc__) ->
        'acc__
      val iter :
        tick_type:((Response.Tick_price.t, Response.Tick_price.Type.t)
                   Fieldslib.Field.readonly_t -> unit) ->
        price:((Response.Tick_price.t, Price.t) Fieldslib.Field.readonly_t ->
               unit) ->
        size:((Response.Tick_price.t, Volume.t) Fieldslib.Field.readonly_t ->
              unit) ->
        can_auto_execute:((Response.Tick_price.t, bool option)
                          Fieldslib.Field.readonly_t -> unit) ->
        unit
      val for_all :
        tick_type:((Response.Tick_price.t, Response.Tick_price.Type.t)
                   Fieldslib.Field.readonly_t -> bool) ->
        price:((Response.Tick_price.t, Price.t) Fieldslib.Field.readonly_t ->
               bool) ->
        size:((Response.Tick_price.t, Volume.t) Fieldslib.Field.readonly_t ->
              bool) ->
        can_auto_execute:((Response.Tick_price.t, bool option)
                          Fieldslib.Field.readonly_t -> bool) ->
        bool
      val exists :
        tick_type:((Response.Tick_price.t, Response.Tick_price.Type.t)
                   Fieldslib.Field.readonly_t -> bool) ->
        price:((Response.Tick_price.t, Price.t) Fieldslib.Field.readonly_t ->
               bool) ->
        size:((Response.Tick_price.t, Volume.t) Fieldslib.Field.readonly_t ->
              bool) ->
        can_auto_execute:((Response.Tick_price.t, bool option)
                          Fieldslib.Field.readonly_t -> bool) ->
        bool
      val to_list :
        tick_type:((Response.Tick_price.t, Response.Tick_price.Type.t)
                   Fieldslib.Field.readonly_t -> 'elem__) ->
        price:((Response.Tick_price.t, Price.t) Fieldslib.Field.readonly_t ->
               'elem__) ->
        size:((Response.Tick_price.t, Volume.t) Fieldslib.Field.readonly_t ->
              'elem__) ->
        can_auto_execute:((Response.Tick_price.t, bool option)
                          Fieldslib.Field.readonly_t -> 'elem__) ->
        'elem__ list
      val map_poly :
        ([< `Read ], Response.Tick_price.t, 'x0) Fieldslib.Field.user ->
        'x0 list
      module Direct :
        sig
          val iter :
            Response.Tick_price.t ->
            tick_type:((Response.Tick_price.t, Response.Tick_price.Type.t)
                       Fieldslib.Field.readonly_t ->
                       Response.Tick_price.t ->
                       Response.Tick_price.Type.t -> unit) ->
            price:((Response.Tick_price.t, Price.t)
                   Fieldslib.Field.readonly_t ->
                   Response.Tick_price.t -> Price.t -> unit) ->
            size:((Response.Tick_price.t, Volume.t)
                  Fieldslib.Field.readonly_t ->
                  Response.Tick_price.t -> Volume.t -> unit) ->
            can_auto_execute:((Response.Tick_price.t, bool option)
                              Fieldslib.Field.readonly_t ->
                              Response.Tick_price.t -> bool option -> unit) ->
            unit
          val fold :
            Response.Tick_price.t ->
            init:'acc__ ->
            tick_type:('acc__ ->
                       (Response.Tick_price.t, Response.Tick_price.Type.t)
                       Fieldslib.Field.readonly_t ->
                       Response.Tick_price.t ->
                       Response.Tick_price.Type.t -> 'acc__) ->
            price:('acc__ ->
                   (Response.Tick_price.t, Price.t)
                   Fieldslib.Field.readonly_t ->
                   Response.Tick_price.t -> Price.t -> 'acc__) ->
            size:('acc__ ->
                  (Response.Tick_price.t, Volume.t)
                  Fieldslib.Field.readonly_t ->
                  Response.Tick_price.t -> Volume.t -> 'acc__) ->
            can_auto_execute:('acc__ ->
                              (Response.Tick_price.t, bool option)
                              Fieldslib.Field.readonly_t ->
                              Response.Tick_price.t -> bool option -> 'acc__) ->
            'acc__
        end
    end
  val unpickler : t Tws_prot.Unpickler.t
  val pickler : t Tws_prot.Pickler.t Core.Std.Only_in_test.t
  val ( = ) : t -> t -> bool
  val create :
    tick_type:Response.Tick_price.Type.t ->
    price:Price.t ->
    size:Volume.t -> can_auto_execute:bool option -> Response.Tick_price.t
  val price : Response.Tick_price.t -> Price.t
  val pp : Format.formatter -> Response.Tick_price.t -> unit
  val t_of_sexp : Sexplib.Sexp.t -> Response.Tick_price.t
  val sexp_of_t : Response.Tick_price.t -> Sexplib.Sexp.t
end