RoundingMode
enum cAlgo.API
DesktopCLICloud
The rounding mode for normalizing trade volume.
Definition
public enum RoundingMode
Namespace: cAlgo.API · Group: Symbols
Examples
Example 1
var riskAmount = Account.Balance * 0.01;
var volume = riskAmount / (20 * Symbol.PipValue);
var normalizedVolume = Symbol.NormalizeVolumeInUnits(volume, RoundingMode.Down);
Print("Raw volume {0}, normalized volume {1}", volume, normalizedVolume);
riskAmount = api.Account.Balance * 0.01
volume = riskAmount / (20 * api.Symbol.PipValue)
normalizedVolume = api.Symbol.NormalizeVolumeInUnits(volume, RoundingMode.Down)
api.Print(f"Raw volume {volume}, normalized volume {normalizedVolume}")
Example 2
using cAlgo.API;
namespace cAlgo
{
// This sample shows how to normalize volume based on different rounding modes
public partial class NormalizingVolumeSample : Indicator
{
protected override void Initialize()
{
var volumeInUnits = Symbol.QuantityToVolumeInUnits(VolumeInLots);
Print(Symbol.NormalizeVolumeInUnits(volumeInUnits, RoundingMode));
}
public override void Calculate(int index)
{
}
}
}
class NormalizingVolumeSample():
def initialize(self):
volumeInUnits = api.Symbol.QuantityToVolumeInUnits(api.VolumeInLots)
api.Print(api.Symbol.NormalizeVolumeInUnits(volumeInUnits, api.RoundingMode))
{
"AccessRights": "None",
"TimeZone": "UTC",
"IsOverlay": true,
"Parameters": [
{
"Name": "VolumeInLots",
"DisplayName": "Volume (Lots)",
"Type": "Double",
"DefaultValue": 0.01
},
{
"Name": "RoundingMode",
"DisplayName": "Rounding Mode",
"Type": "Enum",
"EnumTypeFullName": "cAlgo.API.RoundingMode",
"DefaultValue": "ToNearest"
}
]
}
Values
| Name | Value | Description |
|---|---|---|
ToNearest | 0 | Round value to the nearest tradable volume. |
Down | 1 | Round value down to tradable volume. |
Up | 2 | Round value up to tradable volume. |