Lean  $LEAN_TAG$
DataDownloaderGetParameters.cs
1 /*
2  * QUANTCONNECT.COM - Democratizing Finance, Empowering Individuals.
3  * Lean Algorithmic Trading Engine v2.0. Copyright 2014 QuantConnect Corporation.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14 */
15 
16 using System;
17 
18 namespace QuantConnect
19 {
20  /// <summary>
21  /// Model class for passing in parameters for historical data
22  /// </summary>
24  {
25  /// <summary>
26  /// Symbol for the data we're looking for.
27  /// </summary>
28  public Symbol Symbol { get; set; }
29 
30  /// <summary>
31  /// Resolution of the data request
32  /// </summary>
33  public Resolution Resolution { get; set; }
34 
35  /// <summary>
36  /// Start time of the data in UTC
37  /// </summary>
38  public DateTime StartUtc { get; set; }
39 
40  /// <summary>
41  /// End time of the data in UTC
42  /// </summary>
43  public DateTime EndUtc { get; set; }
44 
45  /// <summary>
46  /// The type of tick to get
47  /// </summary>
48  public TickType TickType { get; set; }
49 
50  /// <summary>
51  /// Initialize model class for passing in parameters for historical data
52  /// </summary>
53  /// <param name="symbol">Symbol for the data we're looking for.</param>
54  /// <param name="resolution">Resolution of the data request</param>
55  /// <param name="startUtc">Start time of the data in UTC</param>
56  /// <param name="endUtc">End time of the data in UTC</param>
57  /// <param name="tickType">[Optional] The type of tick to get. Defaults to <see cref="QuantConnect.TickType.Trade"/></param>
58  public DataDownloaderGetParameters(Symbol symbol, Resolution resolution, DateTime startUtc, DateTime endUtc, TickType? tickType = null)
59  {
60  Symbol = symbol;
61  Resolution = resolution;
62  StartUtc = startUtc;
63  EndUtc = endUtc;
64  TickType = tickType ?? TickType.Trade;
65  }
66 
67  /// <summary>
68  /// Returns a string representation of the <see cref="DataDownloaderGetParameters"/> object.
69  /// </summary>
70  /// <returns>A string representing the object's properties.</returns>
71  public override string ToString() => $"Symbol: {Symbol}, Resolution: {Resolution}, StartUtc: {StartUtc}, EndUtc: {EndUtc}, TickType: {TickType}";
72  }
73 }