Skip to content

Get Position Count (GetPositionCountAsync)

Monitoring method: Count open market positions.

API: MT5Service.GetPositionCountAsync(...) Region: [15] POSITION MONITORING

Signature

public static async Task<int> GetPositionCountAsync(
    this MT5Service svc,
    string? symbol = null,
    int timeoutSec = 20,
    CancellationToken ct = default)

Examples

// Total positions
int total = await svc.GetPositionCountAsync();
Console.WriteLine($"Open positions: {total}");

// Per-symbol count
int eurusd = await svc.GetPositionCountAsync(symbol: "EURUSD");

// Position limit enforcement
int maxPositions = 10;
int current = await svc.GetPositionCountAsync();

if (current < maxPositions)
{
    await svc.BuyMarketByRisk("EURUSD", 50, 100);
}
else
{
    Console.WriteLine($"⚠️ Position limit reached: {current}/{maxPositions}");
}

Summary

  • ✅ Returns int count
  • ✅ Optional symbol filter
  • ✅ Perfect for position limit enforcement