예제 #1
0
 /// <summary>
 ///     Arranges slots in the layout.
 /// </summary>
 private void ArrangeTop10Slots()
 {
     flowLayoutStrategy.SuspendLayout();
     flowLayoutStrategy.Controls.Clear();
     foreach (var keyValue in top10Holder)
     {
         Top10Slot top10Slot = keyValue.Value.Top10Slot;
         top10Slot.Width  = ClientSize.Width - vScrollBarStrategy.Width - 2 * Space;
         top10Slot.Margin = new Padding(Space, Space, 0, 0);
         top10Slot.Cursor = Cursors.Hand;
         toolTip.SetToolTip(top10Slot, Language.T("Activate the strategy."));
         flowLayoutStrategy.Controls.Add(top10Slot);
     }
     flowLayoutStrategy.ResumeLayout();
 }
        /// <summary>
        ///     Adds a strategy to Top 10 list.
        /// </summary>
        private void Top10AddStrategy()
        {
            if (top10Field.InvokeRequired)
            {
                Invoke(new DelegateTop10AddStrategy(Top10AddStrategy), new object[] {});
            }
            else
            {
                var top10Slot = new Top10Slot {Width = 290, Height = 65};
                top10Slot.InitSlot();
                top10Slot.CustomSortingOption = customSortingOptionDisplay;
                top10Slot.CustomSortingValue = bestValue;
                top10Slot.Click += Top10SlotClick;
                top10Slot.DoubleClick += Top10SlotClick;

                int balance = Configs.AccountInMoney
                                  ? (int) Math.Round(Backtester.NetMoneyBalance)
                                  : Backtester.NetBalance;
                var top10StrategyInfo = new Top10StrategyInfo
                    {
                        Balance = balance,
                        Value = String.IsNullOrEmpty(top10Slot.CustomSortingOption)
                                    ? balance
                                    : bestValue,
                        Top10Slot = top10Slot,
                        TheStrategy = Data.Strategy.Clone()
                    };
                top10Field.AddStrategyInfo(top10StrategyInfo);
            }
        }