Struct PositionSize
A position size expressed as a rational Quote × Multiplier / Divisor
so positions in different units (e.g. lots vs. shares) can be combined
without losing precision.
public readonly record struct PositionSize : IEquatable<PositionSize>
- Implements
- Inherited Members
Constructors
PositionSize(long, ulong, ulong)
A position size expressed as a rational Quote × Multiplier / Divisor
so positions in different units (e.g. lots vs. shares) can be combined
without losing precision.
public PositionSize(long Quote, ulong Multiplier, ulong Divisor)
Parameters
QuotelongNumerator of the position size.
MultiplierulongMultiplier applied to
Quote.DivisorulongDivisor applied to
Quote×Multiplier.
Properties
Divisor
Divisor applied to Quote × Multiplier.
public ulong Divisor { get; init; }
Property Value
Multiplier
Multiplier applied to Quote.
public ulong Multiplier { get; init; }
Property Value
Quote
Numerator of the position size.
public long Quote { get; init; }
Property Value
Value
Return the size as a double (lossy).
public double Value { get; }
Property Value
Methods
Add(PositionSize)
Add two positions, rescaling to a common denominator.
public PositionSize Add(PositionSize other)
Parameters
otherPositionSize
Returns
Of(long)
Construct a size of 1 unit (or N units if positionSize ≠ 1).
public static PositionSize Of(long positionSize)
Parameters
positionSizelongInitial quantity.