private void QuotingClick(object sender, RoutedEventArgs e) { var quoting = new MarketQuotingStrategy(); var wnd = new StrategyEditWindow { Strategy = quoting, }; if (!wnd.ShowModal(this)) { return; } //if (wnd.TakeProfit > 0 || wnd.StopLoss > 0) //{ // var tp = wnd.TakeProfit; // var sl = wnd.StopLoss; // quoting // .WhenNewMyTrade() // .Do(trade => // { // var tpStrategy = tp == 0 ? null : new TakeProfitStrategy(trade, tp); // var slStrategy = sl == 0 ? null : new StopLossStrategy(trade, sl); // if (tpStrategy != null && slStrategy != null) // { // var strategy = new TakeProfitStopLossStrategy(tpStrategy, slStrategy); // AddStrategy($"TPSL {trade.Trade.Price} Vol={trade.Trade.Volume}", strategy, security, portfolio); // } // else if (tpStrategy != null) // { // AddStrategy($"TP {trade.Trade.Price} Vol={trade.Trade.Volume}", tpStrategy, security, portfolio); // } // else if (slStrategy != null) // { // AddStrategy($"SL {trade.Trade.Price} Vol={trade.Trade.Volume}", slStrategy, security, portfolio); // } // }) // .Apply(quoting); //} AddStrategy($"Quoting {quoting.Security} {quoting.QuotingDirection} Vol={quoting.QuotingVolume}", quoting); SaveStrategy(quoting); }
private void Dashboard_OnExecuteSettings(StrategiesDashboardItem item) { var wnd = new StrategyEditWindow { Strategy = item.Strategy.TypedClone(), }; if (!wnd.ShowModal(this)) { return; } var id = item.Strategy.Id; item.Strategy.Apply(wnd.Strategy); item.Strategy.Id = id; SaveStrategy(item.Strategy); }