Ejemplo n.º 1
0
        /// <summary>
        /// constructor /
        /// конструктор
        /// </summary>
        /// <param name="name">bot name / имя робота</param>
        /// <param name="startProgram">class creating program / программа создающая класс</param>
        public BotTabCluster(string name, StartProgram startProgram)
        {
            TabName       = name;
            _startProgram = startProgram;

            CandleConnector = new ConnectorCandles(name, _startProgram);
            CandleConnector.LastCandlesChangeEvent += Tab_LastCandlesChangeEvent;
            CandleConnector.SecuritySubscribeEvent += CandleConnector_SecuritySubscribeEvent;
            CandleConnector.LogMessageEvent        += SendNewLogMessage;

            _horizontalVolume = new HorizontalVolume(name);

            _horizontalVolume.MaxSummClusterChangeEvent += delegate(HorizontalVolumeCluster line)
            {
                MaxSummClusterChangeEvent?.Invoke(line);
            };
            _horizontalVolume.MaxBuyClusterChangeEvent += delegate(HorizontalVolumeCluster line)
            {
                MaxBuyClusterChangeEvent?.Invoke(line);
            };
            _horizontalVolume.MaxSellClusterChangeEvent += delegate(HorizontalVolumeCluster line)
            {
                MaxSellClusterChangeEvent?.Invoke(line);
            };
            _horizontalVolume.MaxDeltaClusterChangeEvent += delegate(HorizontalVolumeCluster line)
            {
                MaxDeltaClusterChangeEvent?.Invoke(line);
            };

            _horizontalVolume.MinSummClusterChangeEvent += delegate(HorizontalVolumeCluster line)
            {
                MinSummClusterChangeEvent?.Invoke(line);
            };
            _horizontalVolume.MinBuyClusterChangeEvent += delegate(HorizontalVolumeCluster line)
            {
                MinBuyClusterChangeEvent?.Invoke(line);
            };
            _horizontalVolume.MinSellClusterChangeEvent += delegate(HorizontalVolumeCluster line)
            {
                MinSellClusterChangeEvent?.Invoke(line);
            };
            _horizontalVolume.MinDeltaClusterChangeEvent += delegate(HorizontalVolumeCluster line)
            {
                MinDeltaClusterChangeEvent?.Invoke(line);
            };


            _horizontalVolume.MaxSummLineChangeEvent += delegate(HorizontalVolumeLine line)
            {
                MaxSummLineChangeEvent?.Invoke(line);
            };
            _horizontalVolume.MaxBuyLineChangeEvent += delegate(HorizontalVolumeLine line)
            {
                MaxBuyLineChangeEvent?.Invoke(line);
            };
            _horizontalVolume.MaxSellLineChangeEvent += delegate(HorizontalVolumeLine line)
            {
                MaxSellLineChangeEvent?.Invoke(line);
            };
            _horizontalVolume.MaxDeltaLineChangeEvent += delegate(HorizontalVolumeLine line)
            {
                MaxDeltaLineChangeEvent?.Invoke(line);
            };

            _horizontalVolume.MinSummLineChangeEvent += delegate(HorizontalVolumeLine line)
            {
                MinSummLineChangeEvent?.Invoke(line);
            };
            _horizontalVolume.MinBuyLineChangeEvent += delegate(HorizontalVolumeLine line)
            {
                MinBuyLineChangeEvent?.Invoke(line);
            };
            _horizontalVolume.MinSellLineChangeEvent += delegate(HorizontalVolumeLine line)
            {
                MinSellLineChangeEvent?.Invoke(line);
            };
            _horizontalVolume.MinDeltaLineChangeEvent += delegate(HorizontalVolumeLine line)
            {
                MinDeltaLineChangeEvent?.Invoke(line);
            };

            _chartMaster = new ChartClusterMaster(name, startProgram, _horizontalVolume);
            _chartMaster.LogMessageEvent += SendNewLogMessage;
        }