Skip to content

Deal

Summary

Represents a deal.

Signature

1
public abstract interface Deal

Namespace

cAlgo.API

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
 using cAlgo.API;
 namespace cAlgo.Robots;
 [Robot(AccessRights = AccessRights.None)]
 public class TestExample : Robot
 {
     protected override void OnStart()
     {
         foreach (var position in Positions)
         {
             foreach (var deal in position.Deals)
             {
                 Print($"Position {position.Id} Deal {deal.Id}, impact: {deal.PositionImpact}, volume: {deal.VolumeInUnits}, price: {deal.ExecutionPrice}, trade type: {deal.TradeType}, time: {deal.ExecutionTime:o}");
             }
         }
     }
 }
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
 using cAlgo.API;
 namespace cAlgo.Robots;
 [Robot(AccessRights = AccessRights.None)]
 public class TestExample : Robot
 {
     protected override void OnStart()
     {
         foreach (var trade in History)
         {
             Print($"Trade closing deal {trade.ClosingDeal.Id}, impact: {trade.ClosingDeal.PositionImpact}, volume: {trade.ClosingDeal.VolumeInUnits}, price: {trade.ClosingDeal.ExecutionPrice}, trade type: {trade.ClosingDeal.TradeType}, time: {trade.ClosingDeal.ExecutionTime:o}");
         }
     }
 }
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
 import clr
 clr.AddReference("cAlgo.API")
 # Import cAlgo API types
 from cAlgo.API import *
 # Import trading wrapper functions
 from robot_wrapper import *
 class Test():
     def on_start(self):
         for position in api.Positions:
             for deal in api.position.Deals:
                 print(f"Position {position.Id} Deal {deal.Id}, impact: {deal.PositionImpact}, volume: {deal.VolumeInUnits}, price: {deal.ExecutionPrice}, trade type: {deal.TradeType}, time: {deal.ExecutionTime:o}")
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
 import clr
 clr.AddReference("cAlgo.API")
 # Import cAlgo API types
 from cAlgo.API import *
 # Import trading wrapper functions
 from robot_wrapper import *
 class Test():
     def on_start(self):
         for trade in api.History:
             print(f"Trade closing deal {trade.ClosingDeal.Id}, impact: {trade.ClosingDeal.PositionImpact}, volume: {trade.ClosingDeal.VolumeInUnits}, price: {trade.ClosingDeal.ExecutionPrice}, trade type: {trade.ClosingDeal.TradeType}, time: {trade.ClosingDeal.ExecutionTime:o}")

Properties

Id

Summary

Unique deal Id.

Signature

1
public abstract long Id {get;}

Return Value

long

PositionId

Summary

Position Id.

Signature

1
public abstract int PositionId {get;}

Return Value

int

OrderId

Summary

Order Id.

Signature

1
public abstract int OrderId {get;}

Return Value

int

PositionImpact

Summary

Returns deal position impact if deal is filled otherwise null.

Signature

1
public abstract DealPositionImpact? PositionImpact {get;}

Return Value

DealPositionImpact?

Status

Summary

Returns status of deal.

Signature

1
public abstract DealStatus Status {get;}

Return Value

DealStatus

VolumeInUnits

Summary

Deal filled volume amount in units.

Signature

1
public abstract double VolumeInUnits {get;}

Return Value

double

ExecutionPrice

Summary

Returns deal execution price if deal is filled otherwise null.

Signature

1
public abstract double? ExecutionPrice {get;}

Return Value

double?

SymbolName

Summary

Gets the symbol name.

Signature

1
public abstract string SymbolName {get;}

Return Value

string

Label

Summary

Gets the label.

Signature

1
public abstract string Label {get;}

Return Value

string

Comment

Summary

Gets the comment.

Signature

1
public abstract string Comment {get;}

Return Value

string

Channel

Summary

Gets the channel.

Signature

1
public abstract string Channel {get;}

Return Value

string

TradeType

Summary

Gets the TradeType.

Signature

1
public abstract TradeType TradeType {get;}

Return Value

TradeType

ExecutionTime

Summary

Returns deal execution time.

Signature

1
public abstract DateTime ExecutionTime {get;}

Return Value

DateTime

ClosedBy

Summary

If deal was an opening deal then this property will return the deals that closed current deal.

Signature

1
public abstract IReadonlyList<Deal> ClosedBy {get;}

Return Value

IReadonlyList

Closing

Summary

If deal was a closing deal then this property will return the deals that were closed by current deal.

Signature

1
public abstract IReadonlyList<Deal> Closing {get;}

Return Value

IReadonlyList