feat(trades): add live execution cockpit, closing cockpit, calculation cards and precision trade settings
This commit is contained in:
@@ -311,6 +311,10 @@ public class TradesMqttClient : ManagedMqttClient, IHostedService
|
||||
RiskTolerance = t.RiskTolerance,
|
||||
Timeframe = t.Timeframe,
|
||||
InstrumentType = t.InstrumentType,
|
||||
AssetType = t.AssetType,
|
||||
HasCfd = t.HasCfd,
|
||||
DerivativeProductCategories = t.DerivativeProductCategories ?? new List<string>(),
|
||||
DerivativeIsin = t.DerivativeIsin,
|
||||
WinRate = t.WinRate,
|
||||
VixRegime = t.VixRegime,
|
||||
VixValue = t.VixValue,
|
||||
@@ -339,7 +343,22 @@ public class TradesMqttClient : ManagedMqttClient, IHostedService
|
||||
IsRecurring = t.IsRecurring,
|
||||
PnlAbsolute = t.PnlAbsolute,
|
||||
PnlPercent = t.PnlPercent,
|
||||
CurrentPrice = t.UserExitPrice ?? t.HourlyUpdates?.LastOrDefault()?.CurrentPrice
|
||||
CurrentPrice = t.UserExitPrice ?? t.HourlyUpdates?.LastOrDefault()?.CurrentPrice,
|
||||
CloseReason = t.CloseReason,
|
||||
UserExitTimestamp = t.UserExitTimestamp,
|
||||
HasPendingExitAlert = t.Status == TradeStatus.Active && t.HourlyUpdates != null && t.HourlyUpdates.Any(u => string.Equals(u.Recommendation, "Close", StringComparison.OrdinalIgnoreCase)),
|
||||
PendingExitReason = t.Status == TradeStatus.Active ? t.HourlyUpdates?.LastOrDefault(u => string.Equals(u.Recommendation, "Close", StringComparison.OrdinalIgnoreCase))?.Reasoning : null,
|
||||
HourlyUpdates = t.HourlyUpdates?.OrderBy(u => u.Timestamp).Select(u => new TradeHourlyUpdateDto
|
||||
{
|
||||
TradeId = t.TradeId,
|
||||
Recommendation = u.Recommendation,
|
||||
CurrentPrice = u.CurrentPrice,
|
||||
SuggestedStopLoss = u.SuggestedStopLoss,
|
||||
SuggestedTakeProfit = u.SuggestedTakeProfit,
|
||||
VixValue = u.VixValue,
|
||||
Reasoning = u.Reasoning,
|
||||
Timestamp = u.Timestamp
|
||||
}).ToList()
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user