обновление механизма закрытия позиции
test / deploy_trader_prod (push) Successful in 51s Details

dev
vlad zverzhkhovskiy 2025-09-22 12:32:53 +03:00
parent 214eb591bc
commit 47e94a5620
3 changed files with 21 additions and 3 deletions

View File

@ -157,7 +157,7 @@ namespace KLHZ.Trader.Core.Exchange.Services
};
await _tradeDataProvider.AddData(message, TimeSpan.FromHours(7));
//await _eventBus.Broadcast(message);
await _eventBus.Broadcast(message);
var exchangeState = ExchangeScheduler.GetCurrentState();
if (exchangeState == Models.Trading.ExchangeState.ClearingTime

View File

@ -252,7 +252,25 @@ namespace KLHZ.Trader.Core.Exchange.Services
ConfirmMarginTrade = true,
};
var stopsReq = new GetStopOrdersRequest() { AccountId = asset.AccountId};
var res = await _investApiClient.Orders.PostOrderAsync(req);
var stopOrders = await _investApiClient.StopOrders.GetStopOrdersAsync(stopsReq);
if (stopOrders.StopOrders != null)
{
foreach (var stopOrder in stopOrders.StopOrders)
{
try
{
await _investApiClient.StopOrders.CancelStopOrderAsync(new CancelStopOrderRequest() { AccountId = asset.AccountId, StopOrderId = stopOrder.StopOrderId });
}
catch (Exception ex)
{
_logger.LogError(ex, "Ошибка при закрытии стопов для позиции.");
}
}
}
await LoadPortfolioNolock();
}
}

View File

@ -94,14 +94,14 @@ namespace KLHZ.Trader.Core.TG.Services
{
var acc = _portfolioWrapper.Accounts.Values.FirstOrDefault(a => !a.Assets.ContainsKey("FUTIMOEXF000"));
if (acc != null)
await acc.OpenPosition("FUTIMOEXF000", Exchange.Models.AssetsAccounting.PositionType.Long, 10, 10, 1);
await acc.OpenPosition("FUTIMOEXF000", Exchange.Models.AssetsAccounting.PositionType.Long, 4, 6, 1);
break;
}
case "шорт IMOEXF":
{
var acc = _portfolioWrapper.Accounts.Values.FirstOrDefault(a => !a.Assets.ContainsKey("FUTIMOEXF000"));
if (acc != null)
await acc.OpenPosition("FUTIMOEXF000", Exchange.Models.AssetsAccounting.PositionType.Short, 10, 10, 1);
await acc.OpenPosition("FUTIMOEXF000", Exchange.Models.AssetsAccounting.PositionType.Short, 4, 6, 1);
break;
}
case "ребут":