public override void UpdatePredictors() { TickerChangedEventArgs lastTicker = Data.Store.GetLastTicker(pair); double lastPrice = lastTicker.MarketData.PriceLast; double buyPrice = lastTicker.MarketData.OrderTopBuy; double sellPrice = lastTicker.MarketData.OrderTopSell; TickerChangedEventArgs[] tickers = Data.Store.GetTickerData(pair); if (tickers == null) { throw new Exception("Data store returned NULL tickers for pair " + pair); } predictorExtremes.Update(tickers); predictorPatternMatch.Recalculate(tickers); GUI.GUIManager.SetPairSummary(this.pair, tickers, lastTicker.MarketData.Volume24HourBase); Utility.TradeTracker.UpdateOpenPosition(pair, buyPrice); }
public override void Setup(bool simulate = false) { GUI.GUIManager.AddStrategyScreenPair(this.pair); // ---------------------------------- SetupRules(); // ---------------------------------- // Check file if this has been bought already double openPos = Utility.TradeTracker.GetOpenPosition(pair); LastBuyTime = Utility.TradeTracker.GetOpenPositionBuyTime(pair); openPosition = openPos; predictorExtremes = new Data.Predictors.PriceExtremes(pair); predictorPatternMatch = new Data.Predictors.PatternMatch(pair); TickerChangedEventArgs[] tickers = Data.Store.GetTickerData(pair); if (tickers == null) { throw new Exception("Couldn't build predictor history for " + pair + " - no tickers available"); } predictorExtremes.Update(tickers); List <TickerChangedEventArgs> currTickers = new List <TickerChangedEventArgs>(); currTickers.AddRange(tickers.Take(tickers.Length - 20)); for (int i = tickers.Length - 20; i < tickers.Length; i++) { currTickers.Add(tickers[i]); predictorPatternMatch.Recalculate(currTickers.ToArray()); } }