ac1e23a65f
Swap WebSocket4Net for WebSocketSharpFork WebSocket4Net was throwing exceptions with newer mono versions. * Added more logging * More logging * Log when web socket connection is opened. Remove auto-pinging My hunch is that the server will do it's own which will cause the reconnection logic to work as expected. Currently it constantly thinks we're not connected because we're pinging the server, so therefore it doesn't ping at the heartbeat interval. * Dont reconnect if we're still connected * Check if connection is open before starting reconnect logic * Force ping on each connecton monitor time loop * Log null response in GetAccountHoldings Set fill price/quantity for market orders Refactor to use Messages.Order instead of dynamic objects Add supported crypto currencies as conversion feeds This list is used to try and figure out what data subscription is needed to provide the algorithm with currency feeds to support various currencies and securities quoted in various currencies. The previous work around required the user to explicitly add these feeds, but now the system will resolve them even if the security isn't explicitly added to the algorithm * DEBUG: Log response for market orders * More logging * DEBUG: Heartbeat logging... does the server do it for you? * Disable gdax * Stream locker Fixed order direction issue Fix resolution of crypto currency pairs This change splits out the various currency lists by security type. This is not ideal, but it does remove the special case checking for cfds in the cash method and makes it explicit what security type to use when constructing symbol objects. * Add EUR crypto pairs * Fix broken tests, add some crpyto currency symbols Account holdings loading from GDAX Don't model holdings, use empty list * Remove throw as we can add cash another way * Fix failing unit tests * Remove subscription requirement from Cash.EnsureCurrencyDataFeed We're now passing in the default markets per security type so we no longer require subscriptions to be added before adding currency conversion feeds. * Log everything coming through web socket * Fix duplicate messages in BaseWebsocketsBrokerage This issue was caused by event handlers being attached twice, due to Connect being called twice (by BrokerageHistoryProvider and BrokerageSetupHandler) * Remove Log.Trace from WebSocketWrapper.OnMessage * Remove GDAX maintenance error message * Restore WebSocketWrapper.OnMessage log trace * Remove change log * Clean white space, remove unused member
31 lines
816 B
C#
31 lines
816 B
C#
using System;
|
|
|
|
namespace QuantConnect.Brokerages
|
|
{
|
|
/// <summary>
|
|
/// Defines data returned from a web socket error
|
|
/// </summary>
|
|
public class WebSocketError
|
|
{
|
|
/// <summary>
|
|
/// Gets the message
|
|
/// </summary>
|
|
public string Message { get; }
|
|
|
|
/// <summary>
|
|
/// Gets the exception raised
|
|
/// </summary>
|
|
public Exception Exception { get; }
|
|
|
|
/// <summary>
|
|
/// Initializes a new instance of the <see cref="WebSocketError"/> class
|
|
/// </summary>
|
|
/// <param name="message">The message</param>
|
|
/// <param name="exception">The error</param>
|
|
public WebSocketError(string message, Exception exception)
|
|
{
|
|
Message = message;
|
|
Exception = exception;
|
|
}
|
|
}
|
|
} |