diff --git a/MtApi5/MtApi5Client.cs b/MtApi5/MtApi5Client.cs index 912d8c77..358c7350 100755 --- a/MtApi5/MtApi5Client.cs +++ b/MtApi5/MtApi5Client.cs @@ -81,7 +81,7 @@ namespace MtApi5 { var client = Client; var quotes = client?.GetQuotes(); - return quotes?.Select(q => q.Parse()); + return quotes?.Select(q => q.Convert()); } /// @@ -2490,11 +2490,9 @@ namespace MtApi5 private void _client_QuoteUpdated(MtQuote quote) { - if (quote != null) - { - QuoteUpdate?.Invoke(this, new Mt5QuoteEventArgs(new Mt5Quote(quote.Instrument, quote.Bid, quote.Ask))); - QuoteUpdated?.Invoke(this, quote.Instrument, quote.Bid, quote.Ask); - } + if (quote == null) return; + QuoteUpdate?.Invoke(this, new Mt5QuoteEventArgs(new Mt5Quote(quote.Instrument, quote.Bid, quote.Ask))); + QuoteUpdated?.Invoke(this, quote.Instrument, quote.Bid, quote.Ask); } private void _client_ServerDisconnected(object sender, EventArgs e) @@ -2509,12 +2507,18 @@ namespace MtApi5 private void _client_QuoteRemoved(MtQuote quote) { - QuoteRemoved?.Invoke(this, new Mt5QuoteEventArgs(quote.Parse())); + if (quote != null) + { + QuoteRemoved?.Invoke(this, new Mt5QuoteEventArgs(new Mt5Quote(quote.Instrument, quote.Bid, quote.Ask))); + } } private void _client_QuoteAdded(MtQuote quote) { - QuoteAdded?.Invoke(this, new Mt5QuoteEventArgs(quote.Parse())); + if (quote != null) + { + QuoteAdded?.Invoke(this, new Mt5QuoteEventArgs(new Mt5Quote(quote.Instrument, quote.Bid, quote.Ask))); + } } private void OnConnected() diff --git a/MtApi5/MtConverters.cs b/MtApi5/MtConverters.cs index 3b77c1c9..51eb2224 100755 --- a/MtApi5/MtConverters.cs +++ b/MtApi5/MtConverters.cs @@ -9,53 +9,11 @@ namespace MtApi5 private static readonly MtLog Log = LogConfigurator.GetLogger(typeof(MtConverters)); #region Values Converters - public static Mt5Quote Parse(this MtQuote quote) + public static Mt5Quote Convert(this MtQuote quote) { return quote != null ? new Mt5Quote(quote.Instrument, quote.Bid, quote.Ask) : null; } - public static bool ParseResult(this string inputString, char separator, out MqlTradeCheckResult result) - { - Log.Debug($"ParseResult: inputString = {inputString}, separator = {separator}"); - - var retVal = false; - result = null; - - if (string.IsNullOrEmpty(inputString) == false) - { - var values = inputString.Split(separator); - if (values.Length == 10) - { - try - { - retVal = int.Parse(values[0]) != 0; - - var retcode = uint.Parse(values[1]); - var balance = double.Parse(values[2]); - var equity = double.Parse(values[3]); - var profit = double.Parse(values[4]); - var margin = double.Parse(values[5]); - var marginFree = double.Parse(values[6]); - var marginLevel = double.Parse(values[7]); - var comment = values[8]; - - result = new MqlTradeCheckResult(retcode, balance, equity, profit, margin, marginFree, marginLevel, comment); - } - catch (Exception ex) - { - retVal = false; - Log.Error($"ParseResult: {ex.Message}"); - } - } - } - else - { - Log.Warn("ParseResult: input srting is null or empty!"); - } - - return retVal; - } - public static bool ParseResult(this string inputString, char separator, out double result) { Log.Debug($"ParseResult: inputString = {inputString}, separator = {separator}");