/// <summary>
        /// Saves settings into the object
        /// </summary>
        /// <param name="settings"></param>
        public void FillSettings(StrategySettings settings)
        {
            var macdSettings = (MACDStrategySettings)settings;

            macdSettings.BuyThreshold = (double)numBuyThreshold.Value;
            macdSettings.SellThreshold = -(double)numSellThreshold.Value;
            macdSettings.FastEMAPeriod = (int)numFastMAPeriod.Value;
            macdSettings.SlowEMAPeriod = (int)numSlowMAPeriod.Value;
            macdSettings.SignalPeriod = (int)numSignal.Value;
        }
        public void FillSettings(StrategySettings settings)
        {
            var udSettings = (SimpleStrategySettings)settings;


            udSettings.BuyThreshold = (double)numBuyThreshold.Value;
            udSettings.SellThreshold = -(double)numSellThreshold.Value;


        }
        public void FillSettings(StrategySettings settings)
        {
            var emaSettings = (EMAStrategySettings)settings;

            emaSettings.BuyThreshold = (double)numBuyThreshold.Value;
            emaSettings.SellThreshold = -(double)numSellThreshold.Value;
            emaSettings.FastEMAPeriod = (int)numFastMAPeriod.Value;
            emaSettings.SlowEMAPeriod = (int)numSlowMAPeriod.Value;


        }
        /// <summary>
        /// Initialises a new instance of the class
        /// </summary>
        /// <param name="settings">the strategy settings</param>
        /// <param name="tradingIndicator">The indicator to use</param>
        public BaseTradingStrategy(StrategySettings settings, ITradingIndicator tradingIndicator)
        {
            _settings = settings;
            _tradingIndicator = tradingIndicator;
            _pair = settings.Pair;
            Actions = new List<MarketAction>();

            // Only do back testing trading for now
            _proxy = new FakeExchange();
            if (_proxy is FakeExchange)
            {
                (_proxy as FakeExchange).Init(settings.InitialItem1Balance, settings.InitialItem2Balance, settings.BuyFee, settings.SellFee);
            }

        }