private void RaiseNewMyTrade(MyTrade trade) { NewMyTrade.SafeInvoke(trade); var multiEvt = NewMyTrades; if (multiEvt == null) return; multiEvt.SafeInvoke(new[] { trade }); }
public StopLossCandleStrategy(CandleSeries series, MyTrade trade, Unit stopLossUnit) { this.CandleSeries = series; this.Trade = trade; this.StopLossUnit = stopLossUnit; }
// возвращает строку своей сделки private static string MyTradeToString(MyTrade trade) { //securityId;tradeId;time;volume;price;orderdirection;orderId return "{0};{1};{2};{3};{4};{5};{6}".Put( trade.Trade.Security.Id, trade.Trade.Id, trade.Trade.Time, trade.Trade.Volume, trade.Trade.Price, trade.Trade.OrderDirection, trade.Order.Id); }
/// <summary> /// Рассчитать позицию по сделке. /// </summary> /// <param name="trade">Сделка.</param> /// <returns>Позиция по сделке.</returns> public virtual decimal ProcessMyTrade(MyTrade trade) { if (ByOrders) return 0; var position = trade.GetPosition(); lock (_syncRoot) Position += position; ChangePosition(trade.Order.Security, trade.Order.Portfolio, position); return position; }
private void DrawTrade(MyTrade trade) { _chart.ProcessValues(trade.Trade.Time, new Dictionary<IChartElement, object> { {_tradeElem, trade} }); }