コード例 #1
0
        public CentralPanelScrin1(
            AccountInfo accountInfo,
            TradeAccountInfo tradeAccountInfo,
            CurrentTrades currentTrades,
            UserStreamData userStreamData,
            TradeConfigRepository configRepository,
            Martingale martingale,
            KeyPanelScrin1 keyPanelScrin1,
            RightPanelScrin1 rightPanelScrin1)
        {
            StartButton = new StartButton();
            StopButton  = new StopButton();

            TradeConfigurationView = new TradeConfigurationView();
            this.accountInfo       = accountInfo;
            this.tradeAccountInfo  = tradeAccountInfo;
            this.currentTrades     = currentTrades;
            this.userStreamData    = userStreamData;
            this.configRepository  = configRepository;
            this.martingale        = martingale;
            this.keyPanelScrin1    = keyPanelScrin1;
            this.rightPanelScrin1  = rightPanelScrin1;
            SetConfigView();
            SetPairs();
            // получаем сохраненные конфиги для правых кнопок
        }
コード例 #2
0
        private void ShowMoreCurrentTraces()
        {
            TimesClickShowMore++;

            CurrentTrades.Clear();

            var itemIndex = TimesClickShowMore * 3;

            if (itemIndex >= mCurrentTracesStatic.Count)
            {
                //Invites = mInvitesStatic;

                foreach (var item in mCurrentTracesStatic)
                {
                    CurrentTrades.Add(item);
                }

                IsShowMoreButton = false;
            }
            else
            {
                for (int i = 0; i < itemIndex; i++)
                {
                    CurrentTrades.Add(mCurrentTracesStatic[i]);
                }
                IsShowMoreButton = true;
            }
        }
コード例 #3
0
ファイル: ModelView.cs プロジェクト: zubr404/BinanceClient
        public ModelView()
        {
            dispatcher = Dispatcher.CurrentDispatcher;

            var connectedPairService = new ConnectedPairService(new ConnectedPairRepository());

            connectedPairService.InitializeConnectedPair(MainWindow.ExchangeInfo.AllPairsMarket.MarketPairs);

            accountInfo      = new AccountInfo(new APIKeyRepository(), new BalanceRepository());
            tradeAccountInfo = new TradeAccountInfo(new APIKeyRepository(), new TradeConfigRepository(), new TradeRepository());
            currentTrades    = new CurrentTrades(new ConnectedPairRepository());
            userStreamData   = new UserStreamData(new StockExchenge.RepositoriesModel()
            {
                APIKeyRepository  = new APIKeyRepository(),
                BalanceRepository = new BalanceRepository()
            });

            martingaleReal = new Algoritms.Real.Martingale(new Algoritms.Real.RepositoriesM()
            {
                APIKeyRepository          = new APIKeyRepository(),
                BalanceRepository         = new BalanceRepository(),
                CurrentTrades             = currentTrades,
                ExchangeInfo              = MainWindow.ExchangeInfo,
                TradeConfigRepository     = new TradeConfigRepository(),
                StopLimitOrderRepository  = new StopLimitOrderRepository(),
                TakeProfitOrderRepository = new TakeProfitOrderRepository(),
                TradeRepository           = new TradeRepository(),
                TradeAccountInfo          = tradeAccountInfo
            });
            martingaleReal.MessageErrorEvent += MartingaleReal_MessageErrorEvent;
            martingaleReal.MessageDebugEvent += MartingaleReal_MessageDebugEvent;

            martingaleBackTest    = new Algoritms.BackTest.Martingale(new TradeHistoryRepository(), new TradeConfigRepository(), MainWindow.ExchangeInfo);
            currentGridStatistics = new Algoritms.BackTest.CurrentGridStatistics(new TradeConfigRepository());

            ScrinManager                = new ScrinManager();
            ConsoleScrin1               = new ConsoleScrin1();
            KeyPanelScrin1              = new KeyPanelScrin1(new APIKeyRepository(), new BalanceRepository());
            LeftPanelScrin1             = new LeftPanelScrin1();
            RightPanelScrin1            = new RightPanelScrin1();
            CentralPanelScrin1          = new CentralPanelScrin1(accountInfo, tradeAccountInfo, currentTrades, userStreamData, new TradeConfigRepository(), martingaleReal, KeyPanelScrin1, RightPanelScrin1);
            PairPanelScrin1             = new PairPanelScrin1(new ConnectedPairRepository());
            ChartService                = new ChartService(dispatcher, 230, 810);
            CentralPanelScrinCalculator = new CentralPanelScrinCalculator(martingaleBackTest, currentGridStatistics, new TradeHistoryRepository());

            ChartService.SelectedPair = CentralPanelScrin1.TradeConfigurationView.MainCoin + CentralPanelScrin1.TradeConfigurationView.AltCoin;
            //CentralPanelScrin1.loadChart = ChartService.LoadChart;
            CentralPanelScrin1.ChartService = ChartService;
        }
コード例 #4
0
        public void Init()
        {
            if (mCacheService.ProjectItem != null)
            {
                mProjectItem = mCacheService.ProjectItem;
                Title        = mProjectItem.Title;
                Description  = mProjectItem.Description;
                Stage        = mProjectItem.Stage;

                var invitesAccepted = mProjectItem.Invites.Where(s => s.JoinedProject != null);
                foreach (var item in invitesAccepted)
                {
                    mCurrentTracesStatic.Add(new CurrentTradesItemViewModel(this, item));
                }

                if (mCurrentTracesStatic.Count > 3)
                {
                    for (int i = 0; i < 3; i++)
                    {
                        CurrentTrades.Add(mCurrentTracesStatic[i]);
                    }
                    IsShowMoreButton = true;
                }
                else
                {
                    foreach (var item in mCurrentTracesStatic)
                    {
                        CurrentTrades.Add(item);
                    }
                    IsShowMoreButton = false;
                }

                var intvitesPending = mProjectItem.Invites.Where(s => s.JoinedProject == null);
                foreach (var invite in intvitesPending)
                {
                    InviteTrades.Add(new PendingTradesItemViewModel(this, invite)
                    {
                        EditProjectViewModel = this, PendingTrades = invite
                    });
                }
            }

            RegisterMessengers();
        }
コード例 #5
0
        private async Task RemoveCurrentTrades(CurrentTradesItemViewModel itemModel)
        {
            if (itemModel != null)
            {
                mPlatformService.ShowNetworkIndicator();
                mProgressDialogService.ShowProgressDialog();

                var reponse = await mApiService.DeleteInvitee(mProjectItem.Id.Value, itemModel.CurrentTrades.InviteeEmail, itemModel.CurrentTrades.InviteeUserId);

                mPlatformService.HideNetworkIndicator();
                mProgressDialogService.HideProgressDialog();

                if (reponse)
                {
                    CurrentTrades.Remove(itemModel);
                    mCacheService.ProjectItem.Invites.Remove(itemModel.CurrentTrades);
                    mCacheService.EdittingProjectInvitee.Remove(itemModel.CurrentTrades);
                    mCacheService.EdittingProjectInviteeStatic.Remove(itemModel.CurrentTrades);
                }
            }
        }