/* * QUANTCONNECT.COM - Democratizing Finance, Empowering Individuals. * Lean Algorithmic Trading Engine v2.0. Copyright 2014 QuantConnect Corporation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ using Newtonsoft.Json; using System.Collections.Generic; using QuantConnect.Notifications; namespace QuantConnect.Packets { /// /// Live job task packet: container for any live specific job variables /// public class LiveNodePacket : AlgorithmNodePacket { /// /// Deploy Id for this live algorithm. /// public string DeployId { get; set; } = string.Empty; /// /// String name of the brokerage we're trading with /// public string Brokerage { get; set; } = string.Empty; /// /// String-String Dictionary of Brokerage Data for this Live Job /// public Dictionary BrokerageData { get; set; } = new Dictionary(); /// /// String name of the DataQueueHandler or LiveDataProvider we're running with /// public string DataQueueHandler { get; set; } = string.Empty; /// /// String name of the DataChannelProvider we're running with /// public string DataChannelProvider { get; set; } = string.Empty; /// /// Gets flag indicating whether or not the message should be acknowledged and removed from the queue /// public bool DisableAcknowledgement { get; set; } /// /// A list of event types to generate notifications for, which will use /// public HashSet NotificationEvents { get; set; } /// /// A list of notification targets to use /// public List NotificationTargets { get; set; } /// /// List of real time data types available in the live trading environment /// public HashSet LiveDataTypes { get; set; } /// /// Algorithm running mode. /// [JsonIgnore] public override AlgorithmMode AlgorithmMode { get { return AlgorithmMode.Live; } } /// /// Default constructor for JSON of the Live Task Packet /// public LiveNodePacket() : base(PacketType.LiveNode) { Controls = new Controls { MinuteLimit = 100, SecondLimit = 50, TickLimit = 25, RamAllocation = 512 }; } } }