Skip to content

Plugin.PlaceLimitOrderAsync

method · Plugin · cAlgo.API

DesktopCLICloud

Place limit order in asynchronous execution mode

Environment behaviour

CLI — not supported. Plugins cannot run in the CLI: ctrader-cli runs cBots only.

Cloud — not supported. Plugins cannot run in the cloud: it runs cBots only.

Overloads

Signature
PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, Action<TradeResult> callback)
PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, Action<TradeResult> callback)
PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, Action<TradeResult> callback)
PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, Action<TradeResult> callback)
PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)
PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, Action<TradeResult> callback)
PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)
PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, Action<TradeResult> callback)
PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, Action<TradeResult> callback)
PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)
PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, Action<TradeResult> callback)
PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)
PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, Action<TradeResult> callback)
PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, Action<TradeResult> callback)
PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)
PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, Action<TradeResult> callback)
PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)
PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, Action<TradeResult> callback)
PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, Action<TradeResult> callback)
PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)
PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, Action<TradeResult> callback)
PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)
PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action<TradeResult> callback)
PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action<TradeResult> callback)
PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)
PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action<TradeResult> callback)
PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)

PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, Action<TradeResult> callback)

Place limit order in asynchronous execution mode

public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, Action<TradeResult> callback)
api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, callback: Callable[[TradeResult], None]) -> TradeOperation

Parameters

Name C# type Python type Description
tradeType TradeType TradeType Direction of trade
symbolName string str Symbol name of trade
volume double float Volume of trade
targetPrice double float Target price (or better) at which the order is filled
callback Action<TradeResult> Callable[[TradeResult], None] The action when the position closes

Returns TradeOperation — Trade Operation

Examples

PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, Symbols.GetSymbol("EURUSD").Ask, result => Print("Trade result: {0}", result.IsSuccessful));
api.PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, api.Symbols.GetSymbol("EURUSD").Ask, lambda result: api.Print(f"Trade result: {result.IsSuccessful}"))

PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, Action<TradeResult> callback)

Place limit order in asynchronous execution mode

public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, Action<TradeResult> callback)
api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, callback: Callable[[TradeResult], None]) -> TradeOperation

Parameters

Name C# type Python type Description
tradeType TradeType TradeType Direction of trade
symbolName string str Symbol name of trade
volume double float Volume of trade
targetPrice double float Target price (or better) at which the order is filled
label string str Label that represents the order
callback Action<TradeResult> Callable[[TradeResult], None] The action when the position closes

Returns TradeOperation — Trade Operation

Examples

PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, Symbols.GetSymbol("EURUSD").Ask, "myLabel", result => Print("Trade result: {0}", result.IsSuccessful));
api.PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, api.Symbols.GetSymbol("EURUSD").Ask, "myLabel", lambda result: api.Print(f"Trade result: {result.IsSuccessful}"))

PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, Action<TradeResult> callback)

Place limit order in asynchronous execution mode

public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, Action<TradeResult> callback)
api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, callback: Callable[[TradeResult], None]) -> TradeOperation

Parameters

Name C# type Python type Description
tradeType TradeType TradeType Direction of trade
symbolName string str Symbol name of trade
volume double float Volume of trade
targetPrice double float Target price (or better) at which the order is filled
label string str Label that represents the order
stopLoss double? float | None Stop loss
takeProfit double? float | None Take profit
protectionType ProtectionType? ProtectionType | None Protection type
callback Action<TradeResult> Callable[[TradeResult], None] The action when the position closes

Returns TradeOperation — Trade Operation

Examples

PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, Symbols.GetSymbol("EURUSD").Ask, "myLabel", 10, 20, ProtectionType.Relative, result => Print("Trade result: {0}", result.IsSuccessful));
api.PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, api.Symbols.GetSymbol("EURUSD").Ask, "myLabel", 10, 20, ProtectionType.Relative, lambda result: api.Print(f"Trade result: {result.IsSuccessful}"))

PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, Action<TradeResult> callback)

Place limit order in asynchronous execution mode

public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, Action<TradeResult> callback)
api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation

Parameters

Name C# type Python type Description
tradeType TradeType TradeType Direction of trade
symbolName string str Symbol name of trade
volume double float Volume of trade
targetPrice double float Target price (or better) at which the order is filled
label string str Label that represents the order
stopLoss RelativeStopLossProtection RelativeStopLossProtection Relative Stop loss
takeProfits RelativeTakeProfitProtections RelativeTakeProfitProtections Relative Take profits
callback Action<TradeResult> Callable[[TradeResult], None] The action when the position closes

Returns TradeOperation — Trade Operation

Examples

PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, Symbols.GetSymbol("EURUSD").Ask, "myLabel", new RelativeStopLossProtection(10), new RelativeTakeProfitProtections(new RelativeTakeProfitProtection(1000, 10), new RelativeTakeProfitProtection(2000, 20), new RelativeTakeProfitLastProtection(30)), result => Print("Trade result: {0}", result.IsSuccessful));
api.PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, api.Symbols.GetSymbol("EURUSD").Ask, "myLabel", RelativeStopLossProtection(10), RelativeTakeProfitProtections(RelativeTakeProfitProtection(1000, 10), RelativeTakeProfitProtection(2000, 20), RelativeTakeProfitLastProtection(30)), lambda result: api.Print(f"Trade result: {result.IsSuccessful}"))

PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)

Place limit order in asynchronous execution mode

public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)
api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation

Parameters

Name C# type Python type Description
tradeType TradeType TradeType Direction of trade
symbolName string str Symbol name of trade
volume double float Volume of trade
targetPrice double float Target price (or better) at which the order is filled
label string str Label that represents the order
stopLoss RelativeStopLossProtection RelativeStopLossProtection Relative Stop loss
takeProfits RelativeTakeProfitProtections RelativeTakeProfitProtections Relative Take profits
stopLossBreakEven StopLossBreakEven StopLossBreakEven Break-even for position's StopLoss
callback Action<TradeResult> Callable[[TradeResult], None] The action when the position closes

Returns TradeOperation — Trade Operation

Examples

PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, Symbols.GetSymbol("EURUSD").Ask, "myLabel", new RelativeStopLossProtection(10), new RelativeTakeProfitProtections(new RelativeTakeProfitProtection(1000, 10), new RelativeTakeProfitProtection(2000, 20), new RelativeTakeProfitLastProtection(30)), new StopLossBreakEven(15, 3), result => Print("Trade result: {0}", result.IsSuccessful));
api.PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, api.Symbols.GetSymbol("EURUSD").Ask, "myLabel", RelativeStopLossProtection(10), RelativeTakeProfitProtections(RelativeTakeProfitProtection(1000, 10), RelativeTakeProfitProtection(2000, 20), RelativeTakeProfitLastProtection(30)), StopLossBreakEven(15, 3), lambda result: api.Print(f"Trade result: {result.IsSuccessful}"))

PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, Action<TradeResult> callback)

Place limit order in asynchronous execution mode

public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, Action<TradeResult> callback)
api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation

Parameters

Name C# type Python type Description
tradeType TradeType TradeType Direction of trade
symbolName string str Symbol name of trade
volume double float Volume of trade
targetPrice double float Target price (or better) at which the order is filled
label string str Label that represents the order
stopLoss AbsoluteStopLossProtection AbsoluteStopLossProtection Absolute Stop loss
takeProfits AbsoluteTakeProfitProtections AbsoluteTakeProfitProtections Absolute Take profits
callback Action<TradeResult> Callable[[TradeResult], None] The action when the position closes

Returns TradeOperation — Trade Operation

Examples

PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, Symbols.GetSymbol("EURUSD").Ask, "myLabel", new AbsoluteStopLossProtection(1.0), new AbsoluteTakeProfitProtections(new AbsoluteTakeProfitProtection(1000, 1.05), new AbsoluteTakeProfitProtection(2000, 1.06), new AbsoluteTakeProfitLastProtection(1.07)), result => Print("Trade result: {0}", result.IsSuccessful));
api.PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, api.Symbols.GetSymbol("EURUSD").Ask, "myLabel", AbsoluteStopLossProtection(1.0), AbsoluteTakeProfitProtections(AbsoluteTakeProfitProtection(1000, 1.05), AbsoluteTakeProfitProtection(2000, 1.06), AbsoluteTakeProfitLastProtection(1.07)), lambda result: api.Print(f"Trade result: {result.IsSuccessful}"))

PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)

Place limit order in asynchronous execution mode

public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)
api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation

Parameters

Name C# type Python type Description
tradeType TradeType TradeType Direction of trade
symbolName string str Symbol name of trade
volume double float Volume of trade
targetPrice double float Target price (or better) at which the order is filled
label string str Label that represents the order
stopLoss AbsoluteStopLossProtection AbsoluteStopLossProtection Absolute Stop loss
takeProfits AbsoluteTakeProfitProtections AbsoluteTakeProfitProtections Absolute Take profits
stopLossBreakEven StopLossBreakEven StopLossBreakEven Break-even for position's StopLoss
callback Action<TradeResult> Callable[[TradeResult], None] The action when the position closes

Returns TradeOperation — Trade Operation

Examples

PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, Symbols.GetSymbol("EURUSD").Ask, "myLabel", new AbsoluteStopLossProtection(1.0), new AbsoluteTakeProfitProtections(new AbsoluteTakeProfitProtection(1000, 1.05), new AbsoluteTakeProfitProtection(2000, 1.06), new AbsoluteTakeProfitLastProtection(1.07)), new StopLossBreakEven(15, 3), result => Print("Trade result: {0}", result.IsSuccessful));
api.PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, api.Symbols.GetSymbol("EURUSD").Ask, "myLabel", AbsoluteStopLossProtection(1.0), AbsoluteTakeProfitProtections(AbsoluteTakeProfitProtection(1000, 1.05), AbsoluteTakeProfitProtection(2000, 1.06), AbsoluteTakeProfitLastProtection(1.07)), StopLossBreakEven(15, 3), lambda result: api.Print(f"Trade result: {result.IsSuccessful}"))

PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, Action<TradeResult> callback)

Place limit order in asynchronous execution mode

public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, Action<TradeResult> callback)
api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation

Parameters

Name C# type Python type Description
tradeType TradeType TradeType Direction of trade
symbolName string str Symbol name of trade
volume double float Volume of trade
targetPrice double float Target price (or better) at which the order is filled
label string str Label that represents the order
stopLoss double? float | None Stop loss
takeProfit double? float | None Take profit
protectionType ProtectionType? ProtectionType | None Protection type
expiration DateTime? DateTime | None Order expiry date and time
callback Action<TradeResult> Callable[[TradeResult], None] The action when the position closes

Returns TradeOperation — Trade Operation

Examples

PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, Symbols.GetSymbol("EURUSD").Ask, "myLabel", 10, 20, ProtectionType.Relative, Server.Time.AddDays(1), result => Print("Trade result: {0}", result.IsSuccessful));
api.PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, api.Symbols.GetSymbol("EURUSD").Ask, "myLabel", 10, 20, ProtectionType.Relative, api.Server.Time.AddDays(1), lambda result: api.Print(f"Trade result: {result.IsSuccessful}"))

PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, Action<TradeResult> callback)

Place limit order in asynchronous execution mode

public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, Action<TradeResult> callback)
api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation

Parameters

Name C# type Python type Description
tradeType TradeType TradeType Direction of trade
symbolName string str Symbol name of trade
volume double float Volume of trade
targetPrice double float Target price (or better) at which the order is filled
label string str Label that represents the order
stopLoss RelativeStopLossProtection RelativeStopLossProtection Relative Stop loss
takeProfits RelativeTakeProfitProtections RelativeTakeProfitProtections Relative Take profits
expiration DateTime? DateTime | None Order expiry date and time
callback Action<TradeResult> Callable[[TradeResult], None] The action when the position closes

Returns TradeOperation — Trade Operation

Examples

PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, Symbols.GetSymbol("EURUSD").Ask, "myLabel", new RelativeStopLossProtection(10), new RelativeTakeProfitProtections(new RelativeTakeProfitProtection(1000, 10), new RelativeTakeProfitProtection(2000, 20), new RelativeTakeProfitLastProtection(30)), Server.Time.AddDays(1), result => Print("Trade result: {0}", result.IsSuccessful));
api.PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, api.Symbols.GetSymbol("EURUSD").Ask, "myLabel", RelativeStopLossProtection(10), RelativeTakeProfitProtections(RelativeTakeProfitProtection(1000, 10), RelativeTakeProfitProtection(2000, 20), RelativeTakeProfitLastProtection(30)), api.Server.Time.AddDays(1), lambda result: api.Print(f"Trade result: {result.IsSuccessful}"))

PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)

Place limit order in asynchronous execution mode

public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)
api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation

Parameters

Name C# type Python type Description
tradeType TradeType TradeType Direction of trade
symbolName string str Symbol name of trade
volume double float Volume of trade
targetPrice double float Target price (or better) at which the order is filled
label string str Label that represents the order
stopLoss RelativeStopLossProtection RelativeStopLossProtection Relative Stop loss
takeProfits RelativeTakeProfitProtections RelativeTakeProfitProtections Relative Take profits
expiration DateTime? DateTime | None Order expiry date and time
stopLossBreakEven StopLossBreakEven StopLossBreakEven Break-even for position's StopLoss
callback Action<TradeResult> Callable[[TradeResult], None] The action when the position closes

Returns TradeOperation — Trade Operation

Examples

PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, Symbols.GetSymbol("EURUSD").Ask, "myLabel", new RelativeStopLossProtection(10), new RelativeTakeProfitProtections(new RelativeTakeProfitProtection(1000, 10), new RelativeTakeProfitProtection(2000, 20), new RelativeTakeProfitLastProtection(30)), Server.Time.AddDays(1), new StopLossBreakEven(15, 3), result => Print("Trade result: {0}", result.IsSuccessful));
api.PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, api.Symbols.GetSymbol("EURUSD").Ask, "myLabel", RelativeStopLossProtection(10), RelativeTakeProfitProtections(RelativeTakeProfitProtection(1000, 10), RelativeTakeProfitProtection(2000, 20), RelativeTakeProfitLastProtection(30)), api.Server.Time.AddDays(1), StopLossBreakEven(15, 3), lambda result: api.Print(f"Trade result: {result.IsSuccessful}"))

PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, Action<TradeResult> callback)

Place limit order in asynchronous execution mode

public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, Action<TradeResult> callback)
api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation

Parameters

Name C# type Python type Description
tradeType TradeType TradeType Direction of trade
symbolName string str Symbol name of trade
volume double float Volume of trade
targetPrice double float Target price (or better) at which the order is filled
label string str Label that represents the order
stopLoss AbsoluteStopLossProtection AbsoluteStopLossProtection Absolute Stop loss
takeProfits AbsoluteTakeProfitProtections AbsoluteTakeProfitProtections Absolute Take profits
expiration DateTime? DateTime | None Order expiry date and time
callback Action<TradeResult> Callable[[TradeResult], None] The action when the position closes

Returns TradeOperation — Trade Operation

Examples

PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, Symbols.GetSymbol("EURUSD").Ask, "myLabel", new AbsoluteStopLossProtection(1.0), new AbsoluteTakeProfitProtections(new AbsoluteTakeProfitProtection(1000, 1.05), new AbsoluteTakeProfitProtection(2000, 1.06), new AbsoluteTakeProfitLastProtection(1.07)), Server.Time.AddDays(1), result => Print("Trade result: {0}", result.IsSuccessful));
api.PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, api.Symbols.GetSymbol("EURUSD").Ask, "myLabel", AbsoluteStopLossProtection(1.0), AbsoluteTakeProfitProtections(AbsoluteTakeProfitProtection(1000, 1.05), AbsoluteTakeProfitProtection(2000, 1.06), AbsoluteTakeProfitLastProtection(1.07)), api.Server.Time.AddDays(1), lambda result: api.Print(f"Trade result: {result.IsSuccessful}"))

PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)

Place limit order in asynchronous execution mode

public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)
api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation

Parameters

Name C# type Python type Description
tradeType TradeType TradeType Direction of trade
symbolName string str Symbol name of trade
volume double float Volume of trade
targetPrice double float Target price (or better) at which the order is filled
label string str Label that represents the order
stopLoss AbsoluteStopLossProtection AbsoluteStopLossProtection Absolute Stop loss
takeProfits AbsoluteTakeProfitProtections AbsoluteTakeProfitProtections Absolute Take profits
expiration DateTime? DateTime | None Order expiry date and time
stopLossBreakEven StopLossBreakEven StopLossBreakEven Break-even for position's StopLoss
callback Action<TradeResult> Callable[[TradeResult], None] The action when the position closes

Returns TradeOperation — Trade Operation

Examples

PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, Symbols.GetSymbol("EURUSD").Ask, "myLabel", new AbsoluteStopLossProtection(1.0), new AbsoluteTakeProfitProtections(new AbsoluteTakeProfitProtection(1000, 1.05), new AbsoluteTakeProfitProtection(2000, 1.06), new AbsoluteTakeProfitLastProtection(1.07)), Server.Time.AddDays(1), new StopLossBreakEven(15, 3), result => Print("Trade result: {0}", result.IsSuccessful));
api.PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, api.Symbols.GetSymbol("EURUSD").Ask, "myLabel", AbsoluteStopLossProtection(1.0), AbsoluteTakeProfitProtections(AbsoluteTakeProfitProtection(1000, 1.05), AbsoluteTakeProfitProtection(2000, 1.06), AbsoluteTakeProfitLastProtection(1.07)), api.Server.Time.AddDays(1), StopLossBreakEven(15, 3), lambda result: api.Print(f"Trade result: {result.IsSuccessful}"))

PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, Action<TradeResult> callback)

Place limit order in asynchronous execution mode

public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, Action<TradeResult> callback)
api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation

Parameters

Name C# type Python type Description
tradeType TradeType TradeType Direction of trade
symbolName string str Symbol name of trade
volume double float Volume of trade
targetPrice double float Target price (or better) at which the order is filled
label string str Label that represents the order
stopLoss double? float | None Stop loss
takeProfit double? float | None Take profit
protectionType ProtectionType? ProtectionType | None Protection type
expiration DateTime? DateTime | None Order expiry date and time
comment string str Order comment
callback Action<TradeResult> Callable[[TradeResult], None] The action when the position closes

Returns TradeOperation — Trade Operation

Examples

PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, Symbols.GetSymbol("EURUSD").Ask, "myLabel", 10, 20, ProtectionType.Relative, Server.Time.AddDays(1), "order comment", result => Print("Trade result: {0}", result.IsSuccessful));
api.PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, api.Symbols.GetSymbol("EURUSD").Ask, "myLabel", 10, 20, ProtectionType.Relative, api.Server.Time.AddDays(1), "order comment", lambda result: api.Print(f"Trade result: {result.IsSuccessful}"))

PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, Action<TradeResult> callback)

Place limit order in asynchronous execution mode

public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, Action<TradeResult> callback)
api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation

Parameters

Name C# type Python type Description
tradeType TradeType TradeType Direction of trade
symbolName string str Symbol name of trade
volume double float Volume of trade
targetPrice double float Target price (or better) at which the order is filled
label string str Label that represents the order
stopLoss RelativeStopLossProtection RelativeStopLossProtection Relative Stop loss
takeProfits RelativeTakeProfitProtections RelativeTakeProfitProtections Relative Take profits
expiration DateTime? DateTime | None Order expiry date and time
comment string str Order comment
callback Action<TradeResult> Callable[[TradeResult], None] The action when the position closes

Returns TradeOperation — Trade Operation

Examples

PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, Symbols.GetSymbol("EURUSD").Ask, "myLabel", new RelativeStopLossProtection(10), new RelativeTakeProfitProtections(new RelativeTakeProfitProtection(1000, 10), new RelativeTakeProfitProtection(2000, 20), new RelativeTakeProfitLastProtection(30)), Server.Time.AddDays(1), "order comment", result => Print("Trade result: {0}", result.IsSuccessful));
api.PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, api.Symbols.GetSymbol("EURUSD").Ask, "myLabel", RelativeStopLossProtection(10), RelativeTakeProfitProtections(RelativeTakeProfitProtection(1000, 10), RelativeTakeProfitProtection(2000, 20), RelativeTakeProfitLastProtection(30)), api.Server.Time.AddDays(1), "order comment", lambda result: api.Print(f"Trade result: {result.IsSuccessful}"))

PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)

Place limit order in asynchronous execution mode

public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)
api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation

Parameters

Name C# type Python type Description
tradeType TradeType TradeType Direction of trade
symbolName string str Symbol name of trade
volume double float Volume of trade
targetPrice double float Target price (or better) at which the order is filled
label string str Label that represents the order
stopLoss RelativeStopLossProtection RelativeStopLossProtection Relative Stop loss
takeProfits RelativeTakeProfitProtections RelativeTakeProfitProtections Relative Take profits
expiration DateTime? DateTime | None Order expiry date and time
comment string str Order comment
stopLossBreakEven StopLossBreakEven StopLossBreakEven Break-even for position's StopLoss
callback Action<TradeResult> Callable[[TradeResult], None] The action when the position closes

Returns TradeOperation — Trade Operation

Examples

PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, Symbols.GetSymbol("EURUSD").Ask, "myLabel", new RelativeStopLossProtection(10), new RelativeTakeProfitProtections(new RelativeTakeProfitProtection(1000, 10), new RelativeTakeProfitProtection(2000, 20), new RelativeTakeProfitLastProtection(30)), Server.Time.AddDays(1), "order comment", new StopLossBreakEven(15, 3), result => Print("Trade result: {0}", result.IsSuccessful));
api.PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, api.Symbols.GetSymbol("EURUSD").Ask, "myLabel", RelativeStopLossProtection(10), RelativeTakeProfitProtections(RelativeTakeProfitProtection(1000, 10), RelativeTakeProfitProtection(2000, 20), RelativeTakeProfitLastProtection(30)), api.Server.Time.AddDays(1), "order comment", StopLossBreakEven(15, 3), lambda result: api.Print(f"Trade result: {result.IsSuccessful}"))

PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, Action<TradeResult> callback)

Place limit order in asynchronous execution mode

public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, Action<TradeResult> callback)
api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation

Parameters

Name C# type Python type Description
tradeType TradeType TradeType Direction of trade
symbolName string str Symbol name of trade
volume double float Volume of trade
targetPrice double float Target price (or better) at which the order is filled
label string str Label that represents the order
stopLoss AbsoluteStopLossProtection AbsoluteStopLossProtection Absolute Stop loss
takeProfits AbsoluteTakeProfitProtections AbsoluteTakeProfitProtections Absolute Take profits
expiration DateTime? DateTime | None Order expiry date and time
comment string str Order comment
callback Action<TradeResult> Callable[[TradeResult], None] The action when the position closes

Returns TradeOperation — Trade Operation

Examples

PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, Symbols.GetSymbol("EURUSD").Ask, "myLabel", new AbsoluteStopLossProtection(1.0), new AbsoluteTakeProfitProtections(new AbsoluteTakeProfitProtection(1000, 1.05), new AbsoluteTakeProfitProtection(2000, 1.06), new AbsoluteTakeProfitLastProtection(1.07)), Server.Time.AddDays(1), "order comment", result => Print("Trade result: {0}", result.IsSuccessful));
api.PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, api.Symbols.GetSymbol("EURUSD").Ask, "myLabel", AbsoluteStopLossProtection(1.0), AbsoluteTakeProfitProtections(AbsoluteTakeProfitProtection(1000, 1.05), AbsoluteTakeProfitProtection(2000, 1.06), AbsoluteTakeProfitLastProtection(1.07)), api.Server.Time.AddDays(1), "order comment", lambda result: api.Print(f"Trade result: {result.IsSuccessful}"))

PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)

Place limit order in asynchronous execution mode

public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)
api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation

Parameters

Name C# type Python type Description
tradeType TradeType TradeType Direction of trade
symbolName string str Symbol name of trade
volume double float Volume of trade
targetPrice double float Target price (or better) at which the order is filled
label string str Label that represents the order
stopLoss AbsoluteStopLossProtection AbsoluteStopLossProtection Absolute Stop loss
takeProfits AbsoluteTakeProfitProtections AbsoluteTakeProfitProtections Absolute Take profits
expiration DateTime? DateTime | None Order expiry date and time
comment string str Order comment
stopLossBreakEven StopLossBreakEven StopLossBreakEven Break-even for position's StopLoss
callback Action<TradeResult> Callable[[TradeResult], None] The action when the position closes

Returns TradeOperation — Trade Operation

Examples

PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, Symbols.GetSymbol("EURUSD").Ask, "myLabel", new AbsoluteStopLossProtection(1.0), new AbsoluteTakeProfitProtections(new AbsoluteTakeProfitProtection(1000, 1.05), new AbsoluteTakeProfitProtection(2000, 1.06), new AbsoluteTakeProfitLastProtection(1.07)), Server.Time.AddDays(1), "order comment", new StopLossBreakEven(15, 3), result => Print("Trade result: {0}", result.IsSuccessful));
api.PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, api.Symbols.GetSymbol("EURUSD").Ask, "myLabel", AbsoluteStopLossProtection(1.0), AbsoluteTakeProfitProtections(AbsoluteTakeProfitProtection(1000, 1.05), AbsoluteTakeProfitProtection(2000, 1.06), AbsoluteTakeProfitLastProtection(1.07)), api.Server.Time.AddDays(1), "order comment", StopLossBreakEven(15, 3), lambda result: api.Print(f"Trade result: {result.IsSuccessful}"))

PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, Action<TradeResult> callback)

Place limit order in asynchronous execution mode

public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, Action<TradeResult> callback)
api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation

Parameters

Name C# type Python type Description
tradeType TradeType TradeType Direction of trade
symbolName string str Symbol name of trade
volume double float Volume of trade
targetPrice double float Target price (or better) at which the order is filled
label string str Label that represents the order
stopLoss double? float | None Stop loss
takeProfit double? float | None Take profit
protectionType ProtectionType? ProtectionType | None Protection type
expiration DateTime? DateTime | None Order expiry date and time
comment string str Order comment
hasTrailingStop bool bool Enable/disable TrailingStop for position
callback Action<TradeResult> Callable[[TradeResult], None] The action when the position closes

Returns TradeOperation — Trade Operation

Examples

PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, Symbols.GetSymbol("EURUSD").Ask, "myLabel", 10, 20, ProtectionType.Relative, Server.Time.AddDays(1), "order comment", true, result => Print("Trade result: {0}", result.IsSuccessful));
api.PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, api.Symbols.GetSymbol("EURUSD").Ask, "myLabel", 10, 20, ProtectionType.Relative, api.Server.Time.AddDays(1), "order comment", True, lambda result: api.Print(f"Trade result: {result.IsSuccessful}"))

PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, Action<TradeResult> callback)

Place limit order in asynchronous execution mode

public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, Action<TradeResult> callback)
api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation

Parameters

Name C# type Python type Description
tradeType TradeType TradeType Direction of trade
symbolName string str Symbol name of trade
volume double float Volume of trade
targetPrice double float Target price (or better) at which the order is filled
label string str Label that represents the order
stopLoss RelativeStopLossProtection RelativeStopLossProtection Relative Stop loss
takeProfits RelativeTakeProfitProtections RelativeTakeProfitProtections Relative Take profits
expiration DateTime? DateTime | None Order expiry date and time
comment string str Order comment
hasTrailingStop bool bool Enable/disable TrailingStop for position
callback Action<TradeResult> Callable[[TradeResult], None] The action when the position closes

Returns TradeOperation — Trade Operation

Examples

PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, Symbols.GetSymbol("EURUSD").Ask, "myLabel", new RelativeStopLossProtection(10), new RelativeTakeProfitProtections(new RelativeTakeProfitProtection(1000, 10), new RelativeTakeProfitProtection(2000, 20), new RelativeTakeProfitLastProtection(30)), Server.Time.AddDays(1), "order comment", true, result => Print("Trade result: {0}", result.IsSuccessful));
api.PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, api.Symbols.GetSymbol("EURUSD").Ask, "myLabel", RelativeStopLossProtection(10), RelativeTakeProfitProtections(RelativeTakeProfitProtection(1000, 10), RelativeTakeProfitProtection(2000, 20), RelativeTakeProfitLastProtection(30)), api.Server.Time.AddDays(1), "order comment", True, lambda result: api.Print(f"Trade result: {result.IsSuccessful}"))

PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)

Place limit order in asynchronous execution mode

public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)
api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation

Parameters

Name C# type Python type Description
tradeType TradeType TradeType Direction of trade
symbolName string str Symbol name of trade
volume double float Volume of trade
targetPrice double float Target price (or better) at which the order is filled
label string str Label that represents the order
stopLoss RelativeStopLossProtection RelativeStopLossProtection Relative Stop loss
takeProfits RelativeTakeProfitProtections RelativeTakeProfitProtections Relative Take profits
expiration DateTime? DateTime | None Order expiry date and time
comment string str Order comment
hasTrailingStop bool bool Enable/disable TrailingStop for position
stopLossBreakEven StopLossBreakEven StopLossBreakEven Break-even for position's StopLoss
callback Action<TradeResult> Callable[[TradeResult], None] The action when the position closes

Returns TradeOperation — Trade Operation

Examples

PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, Symbols.GetSymbol("EURUSD").Ask, "myLabel", new RelativeStopLossProtection(10), new RelativeTakeProfitProtections(new RelativeTakeProfitProtection(1000, 10), new RelativeTakeProfitProtection(2000, 20), new RelativeTakeProfitLastProtection(30)), Server.Time.AddDays(1), "order comment", true, new StopLossBreakEven(15, 3), result => Print("Trade result: {0}", result.IsSuccessful));
api.PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, api.Symbols.GetSymbol("EURUSD").Ask, "myLabel", RelativeStopLossProtection(10), RelativeTakeProfitProtections(RelativeTakeProfitProtection(1000, 10), RelativeTakeProfitProtection(2000, 20), RelativeTakeProfitLastProtection(30)), api.Server.Time.AddDays(1), "order comment", True, StopLossBreakEven(15, 3), lambda result: api.Print(f"Trade result: {result.IsSuccessful}"))

PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, Action<TradeResult> callback)

Place limit order in asynchronous execution mode

public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, Action<TradeResult> callback)
api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation

Parameters

Name C# type Python type Description
tradeType TradeType TradeType Direction of trade
symbolName string str Symbol name of trade
volume double float Volume of trade
targetPrice double float Target price (or better) at which the order is filled
label string str Label that represents the order
stopLoss AbsoluteStopLossProtection AbsoluteStopLossProtection Absolute Stop loss
takeProfits AbsoluteTakeProfitProtections AbsoluteTakeProfitProtections Absolute Take profits
expiration DateTime? DateTime | None Order expiry date and time
comment string str Order comment
hasTrailingStop bool bool Enable/disable TrailingStop for position
callback Action<TradeResult> Callable[[TradeResult], None] The action when the position closes

Returns TradeOperation — Trade Operation

Examples

PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, Symbols.GetSymbol("EURUSD").Ask, "myLabel", new AbsoluteStopLossProtection(1.0), new AbsoluteTakeProfitProtections(new AbsoluteTakeProfitProtection(1000, 1.05), new AbsoluteTakeProfitProtection(2000, 1.06), new AbsoluteTakeProfitLastProtection(1.07)), Server.Time.AddDays(1), "order comment", true, result => Print("Trade result: {0}", result.IsSuccessful));
api.PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, api.Symbols.GetSymbol("EURUSD").Ask, "myLabel", AbsoluteStopLossProtection(1.0), AbsoluteTakeProfitProtections(AbsoluteTakeProfitProtection(1000, 1.05), AbsoluteTakeProfitProtection(2000, 1.06), AbsoluteTakeProfitLastProtection(1.07)), api.Server.Time.AddDays(1), "order comment", True, lambda result: api.Print(f"Trade result: {result.IsSuccessful}"))

PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)

Place limit order in asynchronous execution mode

public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)
api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation

Parameters

Name C# type Python type Description
tradeType TradeType TradeType Direction of trade
symbolName string str Symbol name of trade
volume double float Volume of trade
targetPrice double float Target price (or better) at which the order is filled
label string str Label that represents the order
stopLoss AbsoluteStopLossProtection AbsoluteStopLossProtection Absolute Stop loss
takeProfits AbsoluteTakeProfitProtections AbsoluteTakeProfitProtections Absolute Take profits
expiration DateTime? DateTime | None Order expiry date and time
comment string str Order comment
hasTrailingStop bool bool Enable/disable TrailingStop for position
stopLossBreakEven StopLossBreakEven StopLossBreakEven Break-even for position's StopLoss
callback Action<TradeResult> Callable[[TradeResult], None] The action when the position closes

Returns TradeOperation — Trade Operation

Examples

PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, Symbols.GetSymbol("EURUSD").Ask, "myLabel", new AbsoluteStopLossProtection(1.0), new AbsoluteTakeProfitProtections(new AbsoluteTakeProfitProtection(1000, 1.05), new AbsoluteTakeProfitProtection(2000, 1.06), new AbsoluteTakeProfitLastProtection(1.07)), Server.Time.AddDays(1), "order comment", true, new StopLossBreakEven(15, 3), result => Print("Trade result: {0}", result.IsSuccessful));
api.PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, api.Symbols.GetSymbol("EURUSD").Ask, "myLabel", AbsoluteStopLossProtection(1.0), AbsoluteTakeProfitProtections(AbsoluteTakeProfitProtection(1000, 1.05), AbsoluteTakeProfitProtection(2000, 1.06), AbsoluteTakeProfitLastProtection(1.07)), api.Server.Time.AddDays(1), "order comment", True, StopLossBreakEven(15, 3), lambda result: api.Print(f"Trade result: {result.IsSuccessful}"))

PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action<TradeResult> callback)

Place limit order in asynchronous execution mode

public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action<TradeResult> callback)
api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation

Parameters

Name C# type Python type Description
tradeType TradeType TradeType Direction of trade
symbolName string str Symbol name of trade
volume double float Volume of trade
targetPrice double float Target price (or better) at which the order is filled
label string str Label that represents the order
stopLoss double? float | None Stop loss
takeProfit double? float | None Take profit
protectionType ProtectionType? ProtectionType | None Protection type
expiration DateTime? DateTime | None Order expiry date and time
comment string str Order comment
hasTrailingStop bool bool Enable/disable TrailingStop for position
stopLossTriggerMethod StopTriggerMethod? StopTriggerMethod | None Trigger method for position's StopLoss
callback Action<TradeResult> Callable[[TradeResult], None] The action when the position closes

Returns TradeOperation — Trade Operation

Examples

PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, Symbols.GetSymbol("EURUSD").Ask, "myLabel", 10, 20, ProtectionType.Relative, Server.Time.AddDays(1), "order comment", true, StopTriggerMethod.Trade, result => Print("Trade result: {0}", result.IsSuccessful));
api.PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, api.Symbols.GetSymbol("EURUSD").Ask, "myLabel", 10, 20, ProtectionType.Relative, api.Server.Time.AddDays(1), "order comment", True, StopTriggerMethod.Trade, lambda result: api.Print(f"Trade result: {result.IsSuccessful}"))

PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action<TradeResult> callback)

Place limit order in asynchronous execution mode

public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action<TradeResult> callback)
api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation

Parameters

Name C# type Python type Description
tradeType TradeType TradeType Direction of trade
symbolName string str Symbol name of trade
volume double float Volume of trade
targetPrice double float Target price (or better) at which the order is filled
label string str Label that represents the order
stopLoss RelativeStopLossProtection RelativeStopLossProtection Relative Stop loss
takeProfits RelativeTakeProfitProtections RelativeTakeProfitProtections Relative Take profits
expiration DateTime? DateTime | None Order expiry date and time
comment string str Order comment
hasTrailingStop bool bool Enable/disable TrailingStop for position
stopLossTriggerMethod StopTriggerMethod? StopTriggerMethod | None Trigger method for position's StopLoss
callback Action<TradeResult> Callable[[TradeResult], None] The action when the position closes

Returns TradeOperation — Trade Operation

Examples

PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, Symbols.GetSymbol("EURUSD").Ask, "myLabel", new RelativeStopLossProtection(10), new RelativeTakeProfitProtections(new RelativeTakeProfitProtection(1000, 10), new RelativeTakeProfitProtection(2000, 20), new RelativeTakeProfitLastProtection(30)), Server.Time.AddDays(1), "order comment", true, StopTriggerMethod.Trade, result => Print("Trade result: {0}", result.IsSuccessful));
api.PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, api.Symbols.GetSymbol("EURUSD").Ask, "myLabel", RelativeStopLossProtection(10), RelativeTakeProfitProtections(RelativeTakeProfitProtection(1000, 10), RelativeTakeProfitProtection(2000, 20), RelativeTakeProfitLastProtection(30)), api.Server.Time.AddDays(1), "order comment", True, StopTriggerMethod.Trade, lambda result: api.Print(f"Trade result: {result.IsSuccessful}"))

PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)

Place limit order in asynchronous execution mode

public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)
api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation

Parameters

Name C# type Python type Description
tradeType TradeType TradeType Direction of trade
symbolName string str Symbol name of trade
volume double float Volume of trade
targetPrice double float Target price (or better) at which the order is filled
label string str Label that represents the order
stopLoss RelativeStopLossProtection RelativeStopLossProtection Relative Stop loss
takeProfits RelativeTakeProfitProtections RelativeTakeProfitProtections Relative Take profits
expiration DateTime? DateTime | None Order expiry date and time
comment string str Order comment
hasTrailingStop bool bool Enable/disable TrailingStop for position
stopLossTriggerMethod StopTriggerMethod? StopTriggerMethod | None Trigger method for position's StopLoss
stopLossBreakEven StopLossBreakEven StopLossBreakEven Break-even for position's StopLoss
callback Action<TradeResult> Callable[[TradeResult], None] The action when the position closes

Returns TradeOperation — Trade Operation

Examples

PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, Symbols.GetSymbol("EURUSD").Ask, "myLabel", new RelativeStopLossProtection(10), new RelativeTakeProfitProtections(new RelativeTakeProfitProtection(1000, 10), new RelativeTakeProfitProtection(2000, 20), new RelativeTakeProfitLastProtection(30)), Server.Time.AddDays(1), "order comment", true, StopTriggerMethod.Trade, new StopLossBreakEven(15, 3), result => Print("Trade result: {0}", result.IsSuccessful));
api.PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, api.Symbols.GetSymbol("EURUSD").Ask, "myLabel", RelativeStopLossProtection(10), RelativeTakeProfitProtections(RelativeTakeProfitProtection(1000, 10), RelativeTakeProfitProtection(2000, 20), RelativeTakeProfitLastProtection(30)), api.Server.Time.AddDays(1), "order comment", True, StopTriggerMethod.Trade, StopLossBreakEven(15, 3), lambda result: api.Print(f"Trade result: {result.IsSuccessful}"))

PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action<TradeResult> callback)

Place limit order in asynchronous execution mode

public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action<TradeResult> callback)
api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation

Parameters

Name C# type Python type Description
tradeType TradeType TradeType Direction of trade
symbolName string str Symbol name of trade
volume double float Volume of trade
targetPrice double float Target price (or better) at which the order is filled
label string str Label that represents the order
stopLoss AbsoluteStopLossProtection AbsoluteStopLossProtection Absolute Stop loss
takeProfits AbsoluteTakeProfitProtections AbsoluteTakeProfitProtections Absolute Take profits
expiration DateTime? DateTime | None Order expiry date and time
comment string str Order comment
hasTrailingStop bool bool Enable/disable TrailingStop for position
stopLossTriggerMethod StopTriggerMethod? StopTriggerMethod | None Trigger method for position's StopLoss
callback Action<TradeResult> Callable[[TradeResult], None] The action when the position closes

Returns TradeOperation — Trade Operation

Examples

PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, Symbols.GetSymbol("EURUSD").Ask, "myLabel", new AbsoluteStopLossProtection(1.0), new AbsoluteTakeProfitProtections(new AbsoluteTakeProfitProtection(1000, 1.05), new AbsoluteTakeProfitProtection(2000, 1.06), new AbsoluteTakeProfitLastProtection(1.07)), Server.Time.AddDays(1), "order comment", true, StopTriggerMethod.Trade, result => Print("Trade result: {0}", result.IsSuccessful));
api.PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, api.Symbols.GetSymbol("EURUSD").Ask, "myLabel", AbsoluteStopLossProtection(1.0), AbsoluteTakeProfitProtections(AbsoluteTakeProfitProtection(1000, 1.05), AbsoluteTakeProfitProtection(2000, 1.06), AbsoluteTakeProfitLastProtection(1.07)), api.Server.Time.AddDays(1), "order comment", True, StopTriggerMethod.Trade, lambda result: api.Print(f"Trade result: {result.IsSuccessful}"))

PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)

Place limit order in asynchronous execution mode

public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action<TradeResult> callback)
api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation

Parameters

Name C# type Python type Description
tradeType TradeType TradeType Direction of trade
symbolName string str Symbol name of trade
volume double float Volume of trade
targetPrice double float Target price (or better) at which the order is filled
label string str Label that represents the order
stopLoss AbsoluteStopLossProtection AbsoluteStopLossProtection Absolute Stop loss
takeProfits AbsoluteTakeProfitProtections AbsoluteTakeProfitProtections Absolute Take profits
expiration DateTime? DateTime | None Order expiry date and time
comment string str Order comment
hasTrailingStop bool bool Enable/disable TrailingStop for position
stopLossTriggerMethod StopTriggerMethod? StopTriggerMethod | None Trigger method for position's StopLoss
stopLossBreakEven StopLossBreakEven StopLossBreakEven Break-even for position's StopLoss
callback Action<TradeResult> Callable[[TradeResult], None] The action when the position closes

Returns TradeOperation — Trade Operation

Examples

PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, Symbols.GetSymbol("EURUSD").Ask, "myLabel", new AbsoluteStopLossProtection(1.0), new AbsoluteTakeProfitProtections(new AbsoluteTakeProfitProtection(1000, 1.05), new AbsoluteTakeProfitProtection(2000, 1.06), new AbsoluteTakeProfitLastProtection(1.07)), Server.Time.AddDays(1), "order comment", true, StopTriggerMethod.Trade, new StopLossBreakEven(15, 3), result => Print("Trade result: {0}", result.IsSuccessful));
api.PlaceLimitOrderAsync(TradeType.Buy, "EURUSD", 10000, api.Symbols.GetSymbol("EURUSD").Ask, "myLabel", AbsoluteStopLossProtection(1.0), AbsoluteTakeProfitProtections(AbsoluteTakeProfitProtection(1000, 1.05), AbsoluteTakeProfitProtection(2000, 1.06), AbsoluteTakeProfitLastProtection(1.07)), api.Server.Time.AddDays(1), "order comment", True, StopTriggerMethod.Trade, StopLossBreakEven(15, 3), lambda result: api.Print(f"Trade result: {result.IsSuccessful}"))