public static FormattedPrice ToAskPrice(this IPrice price) { return(PriceFormatter.GetFormattedPrice( price.Ask.Rate, price.CurrencyPair.RatePrecision, price.CurrencyPair.PipsPosition)); }
public void OnPrice(IExecutablePrice executablePrice) { _executablePrice = executablePrice; var formattedPrice = PriceFormatter.GetFormattedPrice(_executablePrice.Rate, executablePrice.Parent.CurrencyPair.RatePrecision, executablePrice.Parent.CurrencyPair.PipsPosition); BigFigures = formattedPrice.BigFigures; Pips = formattedPrice.Pips; TenthOfPip = formattedPrice.TenthOfPip; _executeCommand.RaiseCanExecuteChanged(); }
private void OnPrice(IPrice price) { IsSubscribing = false; IsStale = price.IsStale; if (price.IsStale) { Bid.OnStalePrice(); Ask.OnStalePrice(); Spread = string.Empty; _previousRate = null; Movement = PriceMovement.None; SpotDate = "SP"; } else { if (_previousRate.HasValue) { if (price.Mid > _previousRate.Value) { Movement = PriceMovement.Up; } else if (price.Mid < _previousRate.Value) { Movement = PriceMovement.Down; } else { Movement = PriceMovement.None; } } Mid = price.Mid; _previousRate = price.Mid; Bid.OnPrice(price.Bid); Ask.OnPrice(price.Ask); Spread = PriceFormatter.GetFormattedSpread(price.Spread, _currencyPair.RatePrecision, _currencyPair.PipsPosition); SpotDate = "SP. " + price.ValueDate.ToString("dd MMM"); _priceLatencyRecorder.OnRendered(price); AddHistoricalPrice(price); } _currentPrice = price; }