Exemple #1
0
 public void AddCalc()
 {
     if (StopLossIncrement < 0 || StopLossLow > StopLossHigh || StopLossHigh < 1 ||
         (string.IsNullOrWhiteSpace(NewCalculationName) ||
          SelectedStrategyParameters.Any(p => p.From == null || p.To == null ||
                                         p.From == 0 || p.To == 0 || p.To < p.From)))
     {
         MessageBox.Show("Некорректные данные для расчета!");
         return;
     }
     _client.AddRemoteCalculationCompleted += OnAddRemoteCalc;
     _client.AddRemoteCalculationAsync(NewCalculationName, SelectedStrategy);
     SelectedContent = new PleaseWait();
 }
Exemple #2
0
 private void OnAddRemoteCalc(object sender, AddRemoteCalculationCompletedEventArgs e)
 {
     _client.AddRemoteCalculationCompleted -= OnAddRemoteCalc;
     if (UseStopLoss)
     {
         for (var i = StopLossLow; i < StopLossHigh; i = i + StopLossIncrement)
         {
             _client.AddOrdersToRemoteCalulationAsync(e.Result.Id, SelectedInstrument.Name, DateFrom, DateTo, SelectedPeriod, new ObservableCollection <FromToValue>(SelectedStrategyParameters.Select(o => new FromToValue()
             {
                 From = (float)o.From, To = (float)o.To
             })), i, IgnoreNightCandles, UseSpreads ? DaySpread : 0, UseSpreads ? NightSpread : 0);
         }
     }
     else
     {
         _client.AddOrdersToRemoteCalulationAsync(e.Result.Id, SelectedInstrument.Name, DateFrom, DateTo, SelectedPeriod, new ObservableCollection <FromToValue>(SelectedStrategyParameters.Select(o => new FromToValue()
         {
             From = (float)o.From, To = (float)o.To
         })), 0, IgnoreNightCandles, UseSpreads ? DaySpread : 0, UseSpreads ? NightSpread : 0);
     }
     SelectedContent = new MainPage();
 }