Skip to content

SymbolInfo

Summary

Represents the Symbol interface.

Signature

1
public abstract interface SymbolInfo

Namespace

cAlgo.API

Examples

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
 using cAlgo.API;
 using cAlgo.API.Internals;
 using System;
 namespace cAlgo
 {
     /// 
             /// This sample indicator shows how to get a symbol data
             ///
     [Indicator(IsOverlay = true, TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]
     public class SymbolInfoSample : Indicator
     {
         private TextBlock _timeTillOpenTextBlock;
         private TextBlock _timeTillCloseTextBlock;
         private TextBlock _isOpenedTextBlock;
         private SymbolInfo _symbol;
         [Parameter("Use Current Symbol", DefaultValue = true)]
         public bool UseCurrentSymbol { get; set; }
         [Parameter("Other Symbol Name", DefaultValue = "GBPUSD")]
         public string OtherSymbolName { get; set; }
         protected override void Initialize()
         {
             var grid = new Grid(44, 2)
             {
                 BackgroundColor = Color.Gold,
                 Opacity = 0.6,
                 HorizontalAlignment = HorizontalAlignment.Center,
                 VerticalAlignment = VerticalAlignment.Center
             };
             var style = new Style();
             style.Set(ControlProperty.Padding, 1);
             style.Set(ControlProperty.Margin, 2);
             style.Set(ControlProperty.BackgroundColor, Color.Black);
             style.Set(ControlProperty.FontSize, 8);
             _symbol = Symbols.GetSymbolInfo(UseCurrentSymbol ? SymbolName : OtherSymbolName);
             grid.AddChild(new TextBlock
             {
                 Text = "Symbol Info",
                 Style = style,
                 HorizontalAlignment = HorizontalAlignment.Center
             }, 0, 0, 1, 2);
             grid.AddChild(new TextBlock
             {
                 Text = "Name",
                 Style = style
             }, 1, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.Name,
                 Style = style
             }, 1, 1);
             grid.AddChild(new TextBlock
             {
                 Text = "ID",
                 Style = style
             }, 2, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.Id.ToString(),
                 Style = style
             }, 2, 1);
             grid.AddChild(new TextBlock
             {
                 Text = "Digits",
                 Style = style
             }, 3, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.Digits.ToString(),
                 Style = style
             }, 3, 1);
             grid.AddChild(new TextBlock
             {
                 Text = "Description",
                 Style = style
             }, 4, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.Description,
                 Style = style
             }, 4, 1);
             grid.AddChild(new TextBlock
             {
                 Text = "Lot Size",
                 Style = style
             }, 5, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.LotSize.ToString(),
                 Style = style
             }, 5, 1);
             grid.AddChild(new TextBlock
             {
                 Text = "Pip Size",
                 Style = style
             }, 6, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.PipSize.ToString(),
                 Style = style
             }, 6, 1);
             grid.AddChild(new TextBlock
             {
                 Text = "Pip Value",
                 Style = style
             }, 7, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.PipValue.ToString(),
                 Style = style
             }, 7, 1);
             grid.AddChild(new TextBlock
             {
                 Text = "Tick Size",
                 Style = style
             }, 8, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.TickSize.ToString(),
                 Style = style
             }, 8, 1);
             grid.AddChild(new TextBlock
             {
                 Text = "Tick Value",
                 Style = style
             }, 9, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.TickValue.ToString(),
                 Style = style
             }, 9, 1);
             grid.AddChild(new TextBlock
             {
                 Text = "Volume In Units Max",
                 Style = style
             }, 10, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.VolumeInUnitsMax.ToString(),
                 Style = style
             }, 10, 1);
             grid.AddChild(new TextBlock
             {
                 Text = "Volume In Units Min",
                 Style = style
             }, 11, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.VolumeInUnitsMin.ToString(),
                 Style = style
             }, 11, 1);
             grid.AddChild(new TextBlock
             {
                 Text = "Volume In Units Step",
                 Style = style
             }, 12, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.VolumeInUnitsStep.ToString(),
                 Style = style
             }, 12, 1);
             grid.AddChild(new TextBlock
             {
                 Text = "Time Till Open",
                 Style = style
             }, 18, 0);
             _timeTillOpenTextBlock = new TextBlock
             {
                 Text = _symbol.MarketHours.TimeTillOpen().ToString(),
                 Style = style
             };
             grid.AddChild(_timeTillOpenTextBlock, 18, 1);
             grid.AddChild(new TextBlock
             {
                 Text = "Time Till Close",
                 Style = style
             }, 19, 0);
             _timeTillCloseTextBlock = new TextBlock
             {
                 Text = _symbol.MarketHours.TimeTillClose().ToString(),
                 Style = style
             };
             grid.AddChild(_timeTillCloseTextBlock, 19, 1);
             grid.AddChild(new TextBlock
             {
                 Text = "Is Opened",
                 Style = style
             }, 20, 0);
             _isOpenedTextBlock = new TextBlock
             {
                 Text = _symbol.MarketHours.IsOpened().ToString(),
                 Style = style
             };
             grid.AddChild(_isOpenedTextBlock, 20, 1);
             grid.AddChild(new TextBlock
             {
                 Text = "Trading Sessions #",
                 Style = style
             }, 21, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.MarketHours.Sessions.Count.ToString(),
                 Style = style
             }, 21, 1);
             grid.AddChild(new TextBlock
             {
                 Text = "Trading Session Week Days",
                 Style = style
             }, 22, 0);
             var weekDays = string.Empty;
             for (var iSession = 0; iSession < _symbol.MarketHours.Sessions.Count; iSession++)
             {
                 var currentSessionWeekDays = string.Format("{0}({1})-{2}({3})", _symbol.MarketHours.Sessions[iSession].StartDay, _symbol.MarketHours.Sessions[iSession].StartTime, _symbol.MarketHours.Sessions[iSession].EndDay, _symbol.MarketHours.Sessions[iSession].EndTime);
                 weekDays = iSession == 0 ? currentSessionWeekDays : string.Format("{0}, {1}", weekDays, currentSessionWeekDays);
             }
             grid.AddChild(new TextBlock
             {
                 Text = weekDays,
                 Style = style
             }, 22, 1);
             grid.AddChild(new TextBlock
             {
                 Text = "Leverage Tier",
                 Style = style
             }, 23, 0);
             var leverageTiers = string.Empty;
             for (var iLeverageTier = 0; iLeverageTier < _symbol.DynamicLeverage.Count; iLeverageTier++)
             {
                 var currentLeverageTiers = string.Format("Volume up to {0} is {1}", _symbol.DynamicLeverage[iLeverageTier].Volume, _symbol.DynamicLeverage[iLeverageTier].Leverage);
                 leverageTiers = iLeverageTier == 0 ? currentLeverageTiers : string.Format("{0}, {1}", leverageTiers, currentLeverageTiers);
             }
             grid.AddChild(new TextBlock
             {
                 Text = leverageTiers,
                 Style = style
             }, 23, 1);
             grid.AddChild(new TextBlock
             {
                 Text = nameof(_symbol.BaseAsset),
                 Style = style
             }, 24, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.BaseAsset.Name,
                 Style = style
             }, 24, 1);
             grid.AddChild(new TextBlock
             {
                 Text = nameof(_symbol.QuoteAsset),
                 Style = style
             }, 25, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.QuoteAsset.Name,
                 Style = style
             }, 25, 1);
             grid.AddChild(new TextBlock
             {
                 Text = nameof(_symbol.PnLConversionFeeRate),
                 Style = style
             }, 26, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.PnLConversionFeeRate.ToString(),
                 Style = style
             }, 26, 1);
             grid.AddChild(new TextBlock
             {
                 Text = nameof(_symbol.Commission),
                 Style = style
             }, 27, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.Commission.ToString(),
                 Style = style
             }, 27, 1);
             grid.AddChild(new TextBlock
             {
                 Text = nameof(_symbol.CommissionType),
                 Style = style
             }, 28, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.CommissionType.ToString(),
                 Style = style
             }, 28, 1);
             grid.AddChild(new TextBlock
             {
                 Text = nameof(_symbol.MinCommission),
                 Style = style
             }, 29, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.MinCommission.ToString(),
                 Style = style
             }, 29, 1);
             grid.AddChild(new TextBlock
             {
                 Text = nameof(_symbol.MinCommissionAsset),
                 Style = style
             }, 30, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.MinCommissionAsset.Name,
                 Style = style
             }, 30, 1);
             grid.AddChild(new TextBlock
             {
                 Text = nameof(_symbol.MinCommissionType),
                 Style = style
             }, 31, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.MinCommissionType.ToString(),
                 Style = style
             }, 31, 1);
             grid.AddChild(new TextBlock
             {
                 Text = nameof(_symbol.AdministrativeCharge3DaysRollover),
                 Style = style
             }, 32, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.AdministrativeCharge3DaysRollover.ToString(),
                 Style = style
             }, 32, 1);
             grid.AddChild(new TextBlock
             {
                 Text = nameof(_symbol.AdministrativeCharge),
                 Style = style
             }, 33, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.AdministrativeCharge.ToString(),
                 Style = style
             }, 33, 1);
             grid.AddChild(new TextBlock
             {
                 Text = nameof(_symbol.GracePeriod),
                 Style = style
             }, 34, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.GracePeriod.ToString(),
                 Style = style
             }, 34, 1);
             grid.AddChild(new TextBlock
             {
                 Text = nameof(_symbol.SwapLong),
                 Style = style
             }, 35, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.SwapLong.ToString(),
                 Style = style
             }, 35, 1);
             grid.AddChild(new TextBlock
             {
                 Text = nameof(_symbol.SwapShort),
                 Style = style
             }, 36, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.SwapShort.ToString(),
                 Style = style
             }, 36, 1);
             grid.AddChild(new TextBlock
             {
                 Text = nameof(_symbol.Swap3DaysRollover),
                 Style = style
             }, 37, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.Swap3DaysRollover.ToString(),
                 Style = style
             }, 37, 1);
             grid.AddChild(new TextBlock
             {
                 Text = nameof(_symbol.SwapCalculationType),
                 Style = style
             }, 38, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.SwapCalculationType.ToString(),
                 Style = style
             }, 38, 1);
             grid.AddChild(new TextBlock
             {
                 Text = nameof(_symbol.IsTradingEnabled),
                 Style = style
             }, 39, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.IsTradingEnabled.ToString(),
                 Style = style
             }, 39, 1);
             grid.AddChild(new TextBlock
             {
                 Text = nameof(_symbol.TradingMode),
                 Style = style
             }, 40, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.TradingMode.ToString(),
                 Style = style
             }, 40, 1);
             grid.AddChild(new TextBlock
             {
                 Text = nameof(_symbol.MinDistanceType),
                 Style = style
             }, 41, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.MinDistanceType.ToString(),
                 Style = style
             }, 41, 1);
             grid.AddChild(new TextBlock
             {
                 Text = nameof(_symbol.MinTakeProfitDistance),
                 Style = style
             }, 42, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.MinTakeProfitDistance.ToString(),
                 Style = style
             }, 42, 1);
             grid.AddChild(new TextBlock
             {
                 Text = nameof(_symbol.MinStopLossDistance),
                 Style = style
             }, 43, 0);
             grid.AddChild(new TextBlock
             {
                 Text = _symbol.MinStopLossDistance.ToString(),
                 Style = style
             }, 43, 1);
             Chart.AddControl(grid);
             Timer.Start(TimeSpan.FromSeconds(1));
         }
         protected override void OnTimer()
         {
             _timeTillOpenTextBlock.Text = _symbol.MarketHours.TimeTillOpen().ToString();
             _timeTillCloseTextBlock.Text = _symbol.MarketHours.TimeTillClose().ToString();
             _isOpenedTextBlock.Text = _symbol.MarketHours.IsOpened().ToString();
         }
         public override void Calculate(int index)
         {
         }
     }
 }

Methods

NormalizeVolumeInUnits (2)

NormalizeVolumeInUnits (1 of 2)

Summary

Rounds the volume to the amount suitable for a trade.

Signature

1
public abstract double NormalizeVolumeInUnits(double volume)

Parameters

Name Type Description
volume double The symbol volume in units to normalize

Return Value

double

NormalizeVolumeInUnits (2 of 2)

Summary

Rounds the volume to the amount suitable for a trade.

Signature

1
public abstract double NormalizeVolumeInUnits(double volume, RoundingMode roundingMode)

Parameters

Name Type Description
volume double The symbol volume in units to normalize
roundingMode RoundingMode The type of rounding to use for normalizing the volume

Return Value

double

QuantityToVolumeInUnits

Summary

Converts Quantity (in lots) to Volume in units of base currency.

Signature

1
public abstract double QuantityToVolumeInUnits(double quantity)

Parameters

Name Type Description
quantity double The Quantity (in lots) to change to symbol volume in units

Return Value

double

VolumeInUnitsToQuantity

Summary

Converts Volume in units of base currency to Quantity (in lots).

Signature

1
public abstract double VolumeInUnitsToQuantity(double volume)

Parameters

Name Type Description
volume double The symbol volume in units to change to Quantity (in lots)

Return Value

double

GetEstimatedMargin

Summary

Returns the amount of margin you need for x amount of volume.

Signature

1
public abstract double GetEstimatedMargin(TradeType tradeType, double volume)

Parameters

Name Type Description
tradeType TradeType Order Trade type
volume double Amount of volume

Return Value

double

Related Tutorials

VolumeForFixedRisk (2)

VolumeForFixedRisk (1 of 2)

Summary

Calculates the volume to be risked (in X units of the account deposit currency) based on the specified stop loss. Note that the result of this calculation may be imprecise as the exact degree of risk always depends on market movement and is impossible to predict.

Signature

1
public abstract double VolumeForFixedRisk(double amount, double stopLossInPips)

Parameters

Name Type Description
amount double The amount you want to risk in your account deposit currency.
stopLossInPips double The stop loss in pips.

Return Value

double

VolumeForFixedRisk (2 of 2)

Summary

Calculates the volume to be risked (in X units of the account deposit currency) based on the specified stop loss. Note that the result of this calculation may be imprecise as the exact degree of risk always depends on market movement and is impossible to predict.

Signature

1
public abstract double VolumeForFixedRisk(double amount, double stopLossInPips, RoundingMode roundingMode)

Parameters

Name Type Description
amount double The amount you want to risk in your account deposit currency.
stopLossInPips double The stop loss in pips.
roundingMode RoundingMode The rounding method

Return Value

double

VolumeForProportionalRisk (2)

VolumeForProportionalRisk (1 of 2)

Summary

Calculates the volume to be risked (in X% of either the account equity or balance) based on the specified stop loss. Note that the result of this calculation may be imprecise as the exact degree of risk always depends on market movement and is impossible to predict.

Signature

1
public abstract double VolumeForProportionalRisk(ProportionalAmountType type, double percentage, double stopLossInPips)

Parameters

Name Type Description
type ProportionalAmountType The type of the amount to be risked (either balance or equity).
percentage double The percentage of equity or balance to be risked.
stopLossInPips double The stop loss in pips.

Return Value

double

VolumeForProportionalRisk (2 of 2)

Summary

Calculates the volume to be risked (in X% of either the account equity or balance) based on the specified stop loss. Note that the result of this calculation may be imprecise as the exact degree of risk always depends on market movement and is impossible to predict.

Signature

1
public abstract double VolumeForProportionalRisk(ProportionalAmountType type, double percentage, double stopLossInPips, RoundingMode roundingMode)

Parameters

Name Type Description
type ProportionalAmountType The type of the amount to be risked (either balance or equity).
percentage double The percentage of equity or balance to be risked.
stopLossInPips double The stop loss in pips.
roundingMode RoundingMode The rounding method.

Return Value

double

AmountRisked

Summary

Calculates the amount to be risked based on the specified stop loss and trading volume. Note that the result of this calculation may be imprecise as the exact degree of risk always depends on market movement and is impossible to predict.

Signature

1
public abstract double AmountRisked(double volume, double stopLossInPips)

Parameters

Name Type Description
volume double The volume to be traded
stopLossInPips double The stop loss in pips.

Return Value

double

PipsForFixedRisk

Summary

Calculates the number of pips to be risked based on the specified stop loss and trading volume. Note that the result of this calculation may be imprecise as the exact degree of risk always depends on market movement and is impossible to predict.

Signature

1
public abstract double PipsForFixedRisk(double amount, double volume)

Parameters

Name Type Description
amount double The amount to be risked.
volume double The volume to be traded.

Return Value

double

PipsForProportionalRisk

Summary

Calculates the stop loss (in pips) for the proportional amount to be risked based on the specified volume. Note that the result of this calculation may be imprecise as the exact degree of risk always depends on market movement and is impossible to predict.

Signature

1
public abstract double PipsForProportionalRisk(ProportionalAmountType type, double percentage, double volume)

Parameters

Name Type Description
type ProportionalAmountType The type of the amount to be risked (either balance or equity).
percentage double The percentage of equity or balance to be risked.
volume double The volume to be traded.

Return Value

double

Properties

Id

Summary

Gets the current symbol ID.

Signature

1
public abstract long Id {get;}

Return Value

long

Name

Summary

Gets the current symbol name.

Signature

1
public abstract string Name {get;}

Return Value

string

Description

Summary

Gets the current symbol description.

Signature

1
public abstract string Description {get;}

Return Value

string

LotSize

Summary

Gets the lot size.

Signature

1
public abstract long LotSize {get;}

Return Value

long

TickValue

Summary

Gets the tick value.

Signature

1
public abstract double TickValue {get;}

Return Value

double

TickSize

Summary

Gets the tick size.

Signature

1
public abstract double TickSize {get;}

Return Value

double

PipValue

Summary

Gets the pip value.

Signature

1
public abstract double PipValue {get;}

Return Value

double

PipSize

Summary

Gets the pip size.

Signature

1
public abstract double PipSize {get;}

Return Value

double

Digits

Summary

Gets the symbol digits.

Signature

1
public abstract int Digits {get;}

Return Value

int

VolumeInUnitsStep

Summary

Gets the step volume in units.

Signature

1
public abstract double VolumeInUnitsStep {get;}

Return Value

double

VolumeInUnitsMax

Summary

Gets the maximum units value.

Signature

1
public abstract double VolumeInUnitsMax {get;}

Return Value

double

VolumeInUnitsMin

Summary

Gets the minimum units value.

Signature

1
public abstract double VolumeInUnitsMin {get;}

Return Value

double

DynamicLeverage

Summary

Gets the symbol dynamic leverage.

Signature

1
public abstract IReadonlyList<LeverageTier> DynamicLeverage {get;}

Return Value

IReadonlyList

MarketHours

Summary

Gets the symbol market hours.

Signature

1
public abstract MarketHours MarketHours {get;}

Return Value

MarketHours

BaseAsset

Summary

Gets the symbol base asset.

Signature

1
public abstract Asset BaseAsset {get;}

Return Value

Asset

QuoteAsset

Summary

Gets the symbol quote asset.

Signature

1
public abstract Asset QuoteAsset {get;}

Return Value

Asset

PnLConversionFeeRate

Summary

Gets the symbol profit and loss conversion fee rate.

Signature

1
public abstract double PnLConversionFeeRate {get;}

Return Value

double

Commission

Summary

Gets the amount of base commission for the symbol.

Signature

1
public abstract double Commission {get;}

Return Value

double

CommissionType

Summary

Gets the symbol base commission calculation type.

Signature

1
public abstract SymbolCommissionType CommissionType {get;}

Return Value

SymbolCommissionType

MinCommission

Summary

Gets the minimum amount of commission for the symbol.This is the amount of commission that will be paid by trader for any trade.Check MinCommissionType for interpretation of MinCommission value.

Signature

1
public abstract double MinCommission {get;}

Return Value

double

MinCommissionAsset

Summary

Gets the symbol minimum commission asset.If MinCommissionType is set to Asset then you can use this property to get that asset.The MinCommission value will be converted from MinCommissionAsset to account deposit asset at the moment of trade.

Signature

1
public abstract Asset MinCommissionAsset {get;}

Return Value

Asset

MinCommissionType

Summary

Gets the symbol minimum commission type.Use this property to interpret MinCommission value.

Signature

1
public abstract SymbolMinCommissionType MinCommissionType {get;}

Return Value

SymbolMinCommissionType

AdministrativeCharge3DaysRollover

Summary

Gets the Day of the week (in UTC) when Administrative Fee charge amount will be tripled.Only applicable for SWAP free trading accounts.

Signature

1
public abstract DayOfWeek? AdministrativeCharge3DaysRollover {get;}

Return Value

DayOfWeek?

AdministrativeCharge

Summary

Gets symbol administrative charge.Administrative fee will be charged instead of SWAP if account is marked as SWAP free.Only applicable for SWAP free trading accounts.

Signature

1
public abstract double AdministrativeCharge {get;}

Return Value

double

GracePeriod

Summary

Gets symbol grace period.This is the number of days free of Administrative fee from the time of opening a position.Only applicable for SWAP free trading accounts.

Signature

1
public abstract int GracePeriod {get;}

Return Value

int

SwapLong

Summary

Gets the SWAP charge for long positions of the symbol.

Signature

1
public abstract double SwapLong {get;}

Return Value

double

SwapShort

Summary

Gets the SWAP charge for short positions of the symbol.

Signature

1
public abstract double SwapShort {get;}

Return Value

double

Swap3DaysRollover

Summary

Gets the Day of the week when Symbol SWAP charge amount will be tripled.

Signature

1
public abstract DayOfWeek? Swap3DaysRollover {get;}

Return Value

DayOfWeek?

SwapCalculationType

Summary

Gets the symbol SWAP calculation type.

Signature

1
public abstract SymbolSwapCalculationType SwapCalculationType {get;}

Return Value

SymbolSwapCalculationType

IsTradingEnabled

Summary

Gets If trading is enabled or not for the symbol.

Signature

1
public abstract bool IsTradingEnabled {get;}

Return Value

bool

TradingMode

Summary

Gets symbol trading mode.

Signature

1
public abstract SymbolTradingMode TradingMode {get;}

Return Value

SymbolTradingMode

MinDistanceType

Summary

Gets the symbol minimum distances type.

Signature

1
public abstract SymbolMinDistanceType MinDistanceType {get;}

Return Value

SymbolMinDistanceType

MinTakeProfitDistance

Summary

Gets symbol minimum take profit distance.Use MinDistanceType for interpretation.

Signature

1
public abstract double MinTakeProfitDistance {get;}

Return Value

double

MinStopLossDistance

Summary

Gets symbol minimum stop loss distance.Use MinDistanceType for interpretation.

Signature

1
public abstract double MinStopLossDistance {get;}

Return Value

double