Exemple #1
0
        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);
        }
Exemple #2
0
        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());
            }
        }