/*
* 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
};
}
}
}