Fix position status when checkbroker say no
This commit is contained in:
@@ -1086,9 +1086,24 @@ public class TradingBotBase : ITradingBot
|
||||
|
||||
var reason = $"Cannot open position. There is already a position open for {Config.Ticker} on the broker.";
|
||||
|
||||
if (previousPosition != null && orders.Count >= 2)
|
||||
if (previousPosition != null)
|
||||
{
|
||||
await SetPositionStatus(previousPosition.SignalIdentifier, PositionStatus.Filled);
|
||||
if (orders.Count >= 2)
|
||||
{
|
||||
await SetPositionStatus(previousPosition.SignalIdentifier, PositionStatus.Filled);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Broker already has an open position, cancel the internally created (DB) position
|
||||
await SetPositionStatus(previousPosition.SignalIdentifier, PositionStatus.Canceled);
|
||||
if (!Config.IsForBacktest)
|
||||
{
|
||||
await UpdatePositionDatabase(previousPosition);
|
||||
}
|
||||
|
||||
reason +=
|
||||
" Position open on broker; internal position has been marked as Canceled.";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user