# cAlgo.API surface > One line per member: kind, C# signature, Python form and summary. Each type links to its Markdown page. ## record cAlgo.API.AbsoluteStopLossProtection — Represents a stop loss defined at an absolute price level. (https://help.ctrader.com/ctrader-algo/references/Trading/AbsoluteStopLossProtection/index.md) - constructor `public AbsoluteStopLossProtection(double Price)` | py `AbsoluteStopLossProtection(Price: float)` — Represents a stop loss defined at an absolute price level. - constructor `public AbsoluteStopLossProtection(AbsoluteStopLossProtection original)` | py `AbsoluteStopLossProtection(original: AbsoluteStopLossProtection)` — - property `public double Price {get; set;}` | py `absoluteStopLossProtection.Price: float` — The absolute price at which the stop loss is triggered. ## record cAlgo.API.AbsoluteTakeProfitLastProtection — Represents the final take profit in an absolute take profit ladder, closing any remaining order volume at a specified price. (https://help.ctrader.com/ctrader-algo/references/Trading/AbsoluteTakeProfitLastProtection/index.md) - constructor `public AbsoluteTakeProfitLastProtection(double Price)` | py `AbsoluteTakeProfitLastProtection(Price: float)` — Represents the final take profit in an absolute take profit ladder, closing any remaining order volume at a specified price. - constructor `public AbsoluteTakeProfitLastProtection(AbsoluteTakeProfitLastProtection original)` | py `AbsoluteTakeProfitLastProtection(original: AbsoluteTakeProfitLastProtection)` — - property `public double Price {get; set;}` | py `absoluteTakeProfitLastProtection.Price: float` — The absolute price at which the remaining volume is closed. ## record cAlgo.API.AbsoluteTakeProfitProtection — Represents a partial take profit closing a portion of the order volume at an absolute price. (https://help.ctrader.com/ctrader-algo/references/Trading/AbsoluteTakeProfitProtection/index.md) - constructor `public AbsoluteTakeProfitProtection(double Volume, double Price)` | py `AbsoluteTakeProfitProtection(Volume: float, Price: float)` — Represents a partial take profit closing a portion of the order volume at an absolute price. - constructor `public AbsoluteTakeProfitProtection(AbsoluteTakeProfitProtection original)` | py `AbsoluteTakeProfitProtection(original: AbsoluteTakeProfitProtection)` — - property `public double Price {get; set;}` | py `absoluteTakeProfitProtection.Price: float` — The absolute price at which the take profit is triggered. - property `public double Volume {get; set;}` | py `absoluteTakeProfitProtection.Volume: float` — The portion of the order volume to close when the take profit is triggered. ## record cAlgo.API.AbsoluteTakeProfitProtections — Represents a ladder of up to four partial take profits at absolute prices, followed by a final take profit that closes any remaining volume. (https://help.ctrader.com/ctrader-algo/references/Trading/AbsoluteTakeProfitProtections/index.md) - constructor `public AbsoluteTakeProfitProtections(AbsoluteTakeProfitLastProtection lastTakeProfit)` | py `AbsoluteTakeProfitProtections(lastTakeProfit: AbsoluteTakeProfitLastProtection)` — Initializes a new instance with only a final take profit. - constructor `public AbsoluteTakeProfitProtections(AbsoluteTakeProfitProtection firstTakeProfit, AbsoluteTakeProfitLastProtection lastTakeProfit)` | py `AbsoluteTakeProfitProtections(firstTakeProfit: AbsoluteTakeProfitProtection, lastTakeProfit: AbsoluteTakeProfitLastProtection)` — Initializes a new instance with one partial take profit and a final take profit. - constructor `public AbsoluteTakeProfitProtections(AbsoluteTakeProfitProtection firstTakeProfit, AbsoluteTakeProfitProtection secondTakeProfit, AbsoluteTakeProfitLastProtection lastTakeProfit)` | py `AbsoluteTakeProfitProtections(firstTakeProfit: AbsoluteTakeProfitProtection, secondTakeProfit: AbsoluteTakeProfitProtection, lastTakeProfit: AbsoluteTakeProfitLastProtection)` — Initializes a new instance with two partial take profits and a final take profit. - constructor `public AbsoluteTakeProfitProtections(AbsoluteTakeProfitProtection firstTakeProfit, AbsoluteTakeProfitProtection secondTakeProfit, AbsoluteTakeProfitProtection thirdTakeProfit, AbsoluteTakeProfitLastProtection lastTakeProfit)` | py `AbsoluteTakeProfitProtections(firstTakeProfit: AbsoluteTakeProfitProtection, secondTakeProfit: AbsoluteTakeProfitProtection, thirdTakeProfit: AbsoluteTakeProfitProtection, lastTakeProfit: AbsoluteTakeProfitLastProtection)` — Initializes a new instance with three partial take profits and a final take profit. - constructor `public AbsoluteTakeProfitProtections(AbsoluteTakeProfitProtection firstTakeProfit, AbsoluteTakeProfitProtection secondTakeProfit, AbsoluteTakeProfitProtection thirdTakeProfit, AbsoluteTakeProfitProtection fourthTakeProfit, AbsoluteTakeProfitLastProtection lastTakeProfit)` | py `AbsoluteTakeProfitProtections(firstTakeProfit: AbsoluteTakeProfitProtection, secondTakeProfit: AbsoluteTakeProfitProtection, thirdTakeProfit: AbsoluteTakeProfitProtection, fourthTakeProfit: AbsoluteTakeProfitProtection, lastTakeProfit: AbsoluteTakeProfitLastProtection)` — Initializes a new instance with four partial take profits and a final take profit. - constructor `public AbsoluteTakeProfitProtections(AbsoluteTakeProfitProtections original)` | py `AbsoluteTakeProfitProtections(original: AbsoluteTakeProfitProtections)` — - property `public AbsoluteTakeProfitProtection FirstTakeProfit {get;}` | py `absoluteTakeProfitProtections.FirstTakeProfit: AbsoluteTakeProfitProtection` — Gets the first partial take profit, if any. - property `public AbsoluteTakeProfitProtection FourthTakeProfit {get;}` | py `absoluteTakeProfitProtections.FourthTakeProfit: AbsoluteTakeProfitProtection` — Gets the fourth partial take profit, if any. - property `public AbsoluteTakeProfitLastProtection LastTakeProfit {get;}` | py `absoluteTakeProfitProtections.LastTakeProfit: AbsoluteTakeProfitLastProtection` — Gets the final take profit that closes the remaining volume. - property `public AbsoluteTakeProfitProtection SecondTakeProfit {get;}` | py `absoluteTakeProfitProtections.SecondTakeProfit: AbsoluteTakeProfitProtection` — Gets the second partial take profit, if any. - property `public AbsoluteTakeProfitProtection ThirdTakeProfit {get;}` | py `absoluteTakeProfitProtections.ThirdTakeProfit: AbsoluteTakeProfitProtection` — Gets the third partial take profit, if any. ## interface cAlgo.API.Indicators.AcceleratorOscillator — Identifies possible trend reversals (https://help.ctrader.com/ctrader-algo/references/Indicators/AcceleratorOscillator/index.md) - property `IndicatorDataSeries Result {get;}` | py `acceleratorOscillator.Result: IndicatorDataSeries` — AcceleratorOscillator calculation result ## enum cAlgo.API.AccessRights — cBots and Indicators Access Rights. (https://help.ctrader.com/ctrader-algo/references/Application/AccessRights/index.md) - enum value `AccessRights.None;` | py `AccessRights.None` — Algorithm doesn’t require any access rights. - enum value `AccessRights.FileSystem;` | py `AccessRights.FileSystem` — Access to file system. - enum value `AccessRights.Internet;` | py `AccessRights.Internet` — Access to Internet or other networks. - enum value `AccessRights.Registry;` | py `AccessRights.Registry` — Access to windows registry. - enum value `AccessRights.FullAccess;` | py `AccessRights.FullAccess` — The unlimited access rights. ## class cAlgo.API.AccountSwitchedEventArgs — Provides data for the account switched event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/AccountSwitchedEventArgs/index.md) - property `public int CurrentAccountNumber {get;}` | py `accountSwitchedEventArgs.CurrentAccountNumber: int` — Returns new account number. - property `public int PreviousAccountNumber {get;}` | py `accountSwitchedEventArgs.PreviousAccountNumber: int` — Returns previous account number. ## enum cAlgo.API.Internals.AccountType — Returns current account type (https://help.ctrader.com/ctrader-algo/references/Account/AccountType/index.md) - enum value `AccountType.Hedged;` | py `AccountType.Hedged` — Account type that allows hedged positions - enum value `AccountType.Netted;` | py `AccountType.Netted` — Account type that allows only single net position per symbol ## interface cAlgo.API.Indicators.AccumulationDistribution — Accumulation Distribution indicator is an indicator that can identify if the market is driven by buyers (accumulation) or by sellers (distribution) (https://help.ctrader.com/ctrader-algo/references/Indicators/AccumulationDistribution/index.md) - property `IndicatorDataSeries Result {get;}` | py `accumulationDistribution.Result: IndicatorDataSeries` — Gets the resulting time series of the Accumulation Distribution indicator calculation. ## interface cAlgo.API.Indicators.AccumulativeSwingIndex — A variation on Wilder's swing index which plots an accumulation of the swing index value of each candlestick or bar. (https://help.ctrader.com/ctrader-algo/references/Indicators/AccumulativeSwingIndex/index.md) - property `IndicatorDataSeries Result {get;}` | py `accumulativeSwingIndex.Result: IndicatorDataSeries` — The time series of AccumulativeSwingIndex. ## class cAlgo.API.ActiveFrameChangedEventArgs — Provides data for the active frame changed event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ActiveFrameChangedEventArgs/index.md) - property `public Frame NewFrame {get;}` | py `activeFrameChangedEventArgs.NewFrame: Frame` — Returns the new active frame or null. [CLI not supported; Cloud not supported] - property `public Frame OldFrame {get;}` | py `activeFrameChangedEventArgs.OldFrame: Frame` — Returns the old / previous active frame or null. [CLI not supported; Cloud not supported] ## class cAlgo.API.Internals.Algo — The container class for the main cAlgo.API Interfaces. (https://help.ctrader.com/ctrader-algo/references/General/Algo/index.md) - method `public void BeginInvokeOnMainThread(Action action)` | py `api.BeginInvokeOnMainThread(action: Action) -> None` — Invokes asynchronously the specified code on the main cBot or Indicator thread. - method `public IndicatorDataSeries CreateDataSeries()` | py `api.CreateDataSeries() -> IndicatorDataSeries` — Initialization of an IndicatorDataSeries. - method `protected internal void OnException(Exception exception)` | py `api.OnException(exception: Exception) -> None` — Called on each unhandled exception. - method `protected void OnTimer()` | py `api.OnTimer() -> None` — Called when the timer interval has elapsed. - method `public void Print(object value)` | py `api.Print(value: object) -> None` — Prints text representation of the specified object to the log. [CLI works differently; Cloud works differently] - method `public void Print(object[] parameters)` | py `api.Print(parameters: list[object]) -> None` — Prints a message to the Log [CLI works differently; Cloud works differently] - method `public void Print(string message, object[] parameters)` | py `api.Print(message: str, parameters: list[object]) -> None` — Prints a message to the Log. [CLI works differently; Cloud works differently] - method `public void RefreshData()` | py `api.RefreshData() -> None` — Updates Bars, Positions, PendingOrders, History, etc. And sends postponed events after Thread sleep call. If you put the main thread on sleep by calling Thread sleep method then you have to call RefreshData after Thread wakes up to send the postponed events while thread was sleeping. - method `public void Sleep(TimeSpan timespan)` | py `api.Sleep(timespan: TimeSpan) -> None` — Suspends the algorithm until the specified timespan elapses. - method `public void Sleep(int milliseconds)` | py `api.Sleep(milliseconds: int) -> None` — Suspends the algorithm until the specified number of milliseconds elapses. - method `public void Sleep(DateTime dateTime)` | py `api.Sleep(dateTime: DateTime) -> None` — Suspends the algorithm until the specified datetime . - property `public AlgoRegistry AlgoRegistry {get;}` | py `api.AlgoRegistry: AlgoRegistry` — Provides access to installed Algorithms. - property `public Application Application {get;}` | py `api.Application: Application` — Represents the application. - property `public double Ask {get;}` | py `api.Ask: float` — Gets the symbol ask price. - property `public IAssetConverter AssetConverter {get;}` | py `api.AssetConverter: IAssetConverter` — Converts an asset to another asset. - property `public Assets Assets {get;}` | py `api.Assets: Assets` — Returns list of all available assets. - property `public Bars Bars {get;}` | py `api.Bars: Bars` — The collection of Bar objects. - property `public double Bid {get;}` | py `api.Bid: float` — Gets the symbol bid price. - property `public Chart Chart {get;}` | py `api.Chart: Chart` — Represents the chart where cBot or Indicator is launched. - property `public ChartIndicators ChartIndicators {get;}` | py `api.ChartIndicators: ChartIndicators` — Gets the ChartIndicators of an algorithm. - property `public ChartRobots ChartRobots {get;}` | py `api.ChartRobots: ChartRobots` — Gets the ChartRobots of an algorithm. - property `public ChartTemplates ChartTemplates {get;}` | py `api.ChartTemplates: ChartTemplates` — Provides access to Chart Templates. - property `public Clipboard Clipboard {get;}` | py `api.Clipboard: Clipboard` — Provides access to system Clipboard. - property `public Compiler Compiler {get;}` | py `api.Compiler: Compiler` — Provides access to algo compiler. - property `public HistoricalOrders HistoricalOrders {get;}` | py `api.HistoricalOrders: HistoricalOrders` — Provides access to historical orders. - property `public History History {get;}` | py `api.History: History` — Represents the collection of all historical trades of the account. - property `public Http Http {get;}` | py `api.Http: Http` — Send HTTP requests. - property `public IIndicatorsAccessor Indicators {get;}` | py `api.Indicators: IIndicatorsAccessor` — Access to the built-in Indicators. - property `public string InstanceId {get;}` | py `api.InstanceId: str` — Returns unique ID of current running instance. - property `public string InstanceTitle {get; set;}` | py `api.InstanceTitle: str` — Gets or sets instance title. [CLI works differently; Cloud works differently] - property `public bool IsBacktesting {get;}` | py `api.IsBacktesting: bool` — True if a cBot is in the Backtesting mode, otherwise False. - property `public LocalStorage LocalStorage {get;}` | py `api.LocalStorage: LocalStorage` — Access the local storage API. - property `public MarketData MarketData {get;}` | py `api.MarketData: MarketData` — Provides access to the Depth of Market Data. - property `public MarketSession MarketSessions {get;}` | py `api.MarketSessions: MarketSession` — Returns current market sessions. - property `public Messages Messages {get;}` | py `api.Messages: Messages` — Access the messaging API. - property `public INotifications Notifications {get;}` | py `api.Notifications: INotifications` — Represents the notifications, such as sounds and email. - property `public PendingOrders PendingOrders {get;}` | py `api.PendingOrders: PendingOrders` — The array of all Pending Orders of the account. - property `public Positions Positions {get;}` | py `api.Positions: Positions` — The list of all open positions of the account. - property `public PriceAlerts PriceAlerts {get;}` | py `api.PriceAlerts: PriceAlerts` — Provides access to Price Alerts. - property `public RunningMode RunningMode {get;}` | py `api.RunningMode: RunningMode` — Defines if a cBot is running in real time, in the silent backtesting mode, in the visual backtesting mode, or in the optimization mode. - property `public IServer Server {get;}` | py `api.Server: IServer` — Server related information. - property `public Symbol Symbol {get;}` | py `api.Symbol: Symbol` — Represents the current symbol provides access to its properties and certain methods - property `public string SymbolName {get;}` | py `api.SymbolName: str` — Gets or sets the symbol name. - property `public Symbols Symbols {get;}` | py `api.Symbols: Symbols` — Gets the symbol names. - property `public DateTime Time {get;}` | py `api.Time: DateTime` — Returns the current server time. The shortcut to the Server.Time property. - property `public TimeFrame TimeFrame {get;}` | py `api.TimeFrame: TimeFrame` — Access to the TimeFrame values. - property `public TimeFrames TimeFrames {get;}` | py `api.TimeFrames: TimeFrames` — Gets collection of available TimeFrames. - property `public DateTime TimeInUtc {get;}` | py `api.TimeInUtc: DateTime` — Returns the current server time in UTC. The shortcut to the Server.TimeInUtc property. - property `public TimeZoneInfo TimeZone {get;}` | py `api.TimeZone: TimeZoneInfo` — TimeZone of a cBot or an Indicator. - property `public Timer Timer {get;}` | py `api.Timer: Timer` — Access to the Timer object. - property `public Transactions Transactions {get;}` | py `api.Transactions: Transactions` — Access account transactions. - property `public Watchlists Watchlists {get;}` | py `api.Watchlists: Watchlists` — Gets the watchlist. - event `public event Action MarketSessionsChanged;` | py `api.MarketSessionsChanged += handler # handler(obj: MarketSessionChangedEventArgs)` — Occurs when market sessions change. ## interface cAlgo.API.AlgoInstanceParameter — The interface representing an indicator / robot instance parameter. Provides properties that allow for accessing various information about an algo instance parameter. (https://help.ctrader.com/ctrader-algo/references/AlgoRegistry/AlgoInstanceParameter/index.md) - property `string DisplayName {get;}` | py `algoInstanceParameter.DisplayName: str` — Gets the display name of a parameter (shown in the 'Parameters' section of an instance). - property `string Name {get;}` | py `algoInstanceParameter.Name: str` — Gets the name of a parameter. - property `AlgoParameterType Type {get;}` | py `algoInstanceParameter.Type: AlgoParameterType` — Gets the ALgoParameterType of a parameter. - property `object Value {get; set;}` | py `algoInstanceParameter.Value: object` — Gets the value of a parameter. ## interface cAlgo.API.AlgoInstanceParameters — Represents the collection of all the parameters of an indicator or Robot. (https://help.ctrader.com/ctrader-algo/references/AlgoRegistry/AlgoInstanceParameters/index.md) - property `int Count {get;}` | py `algoInstanceParameters.Count: int` — Gets the number of parameters. - property `AlgoInstanceParameter Item {get;}` | py `algoInstanceParameters[index: int] -> AlgoInstanceParameter` — Gets a parameter by it is index. - property `AlgoInstanceParameter Item {get;}` | py `algoInstanceParameters[name: str] -> AlgoInstanceParameter` — Gets a parameter by it is name. ## enum cAlgo.API.AlgoKind — Represents the predefined kinds of algorithm types. (https://help.ctrader.com/ctrader-algo/references/AlgoRegistry/AlgoKind/index.md) - enum value `AlgoKind.CustomIndicator;` | py `AlgoKind.CustomIndicator` — Custom indicator - enum value `AlgoKind.StandardIndicator;` | py `AlgoKind.StandardIndicator` — Standard / built-in indicator - enum value `AlgoKind.Robot;` | py `AlgoKind.Robot` — Robot / cBot - enum value `AlgoKind.Plugin;` | py `AlgoKind.Plugin` — Plugin ## interface cAlgo.API.AlgoParameter — Represents an algorithm parameter. (https://help.ctrader.com/ctrader-algo/references/AlgoRegistry/AlgoParameter/index.md) - property `object DefaultValue {get;}` | py `algoParameter.DefaultValue: object` — Gets default value of the parameter. - property `string Name {get;}` | py `algoParameter.Name: str` — Gets Parameter name. - property `AlgoParameterType Type {get;}` | py `algoParameter.Type: AlgoParameterType` — Gets parameter type. ## enum cAlgo.API.AlgoParameterType — Represents the different types of algorithm parameters. (https://help.ctrader.com/ctrader-algo/references/AlgoRegistry/AlgoParameterType/index.md) - enum value `AlgoParameterType.Integer;` | py `AlgoParameterType.Integer` — Represents a parameter of type int . - enum value `AlgoParameterType.Double;` | py `AlgoParameterType.Double` — Represents a parameter of type double . - enum value `AlgoParameterType.Boolean;` | py `AlgoParameterType.Boolean` — Represents a parameter of type bool . - enum value `AlgoParameterType.String;` | py `AlgoParameterType.String` — Represents a parameter of type string . - enum value `AlgoParameterType.Enum;` | py `AlgoParameterType.Enum` — Represents a parameter of type enum . - enum value `AlgoParameterType.DataSeries;` | py `AlgoParameterType.DataSeries` — Represents a parameter of type DataSeries . - enum value `AlgoParameterType.Color;` | py `AlgoParameterType.Color` — Represents a parameter of type Color . - enum value `AlgoParameterType.TimeFrame;` | py `AlgoParameterType.TimeFrame` — Represents a parameter of type TimeFrame . - enum value `AlgoParameterType.Symbol;` | py `AlgoParameterType.Symbol` — Represents a parameter of type Symbol . - enum value `AlgoParameterType.DateTime;` | py `AlgoParameterType.DateTime` — Represents a parameter of type DateTime . - enum value `AlgoParameterType.DateOnly;` | py `AlgoParameterType.DateOnly` — Represents a parameter of type DateOnly . - enum value `AlgoParameterType.TimeSpan;` | py `AlgoParameterType.TimeSpan` — Represents a parameter of type TimeSpan . - enum value `AlgoParameterType.MultiEnum;` | py `AlgoParameterType.MultiEnum` — Represents a parameter of type Enum[] . - enum value `AlgoParameterType.MultiSymbol;` | py `AlgoParameterType.MultiSymbol` — Represents a parameter of type Symbol[] . - enum value `AlgoParameterType.MultiTimeFrame;` | py `AlgoParameterType.MultiTimeFrame` — Represents a parameter of type TimeFrame[] . - enum value `AlgoParameterType.File;` | py `AlgoParameterType.File` — Represents a parameter of type File . - enum value `AlgoParameterType.MultiFile;` | py `AlgoParameterType.MultiFile` — Represents a parameter of type MultiFile . ## interface cAlgo.API.AlgoRegistry — Provides all installed algorithms data [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/AlgoRegistry/AlgoRegistry/index.md) - method `bool Exists(string name)` | py `api.AlgoRegistry.Exists(name: str) -> bool` — Checks existence of an algorithm. [Cloud not supported] - method `bool Exists(string name, AlgoKind algoKind)` | py `api.AlgoRegistry.Exists(name: str, algoKind: AlgoKind) -> bool` — Checks existence of an algorithm. [Cloud not supported] - method `AlgoType Get(string name)` | py `api.AlgoRegistry.Get(name: str) -> AlgoType` — Returns an algorithm type by it is name. [Cloud not supported] - method `AlgoType Get(string name, AlgoKind algoKind)` | py `api.AlgoRegistry.Get(name: str, algoKind: AlgoKind) -> AlgoType` — Returns an algorithm type by it is name and kind. [Cloud not supported] - method `int GetCount(AlgoKind algoKind)` | py `api.AlgoRegistry.GetCount(algoKind: AlgoKind) -> int` — Returns number of specific kind of installed algorithms. [Cloud not supported] - method `InstallationResult Install(string filePath)` | py `api.AlgoRegistry.Install(filePath: str) -> InstallationResult` — Installs an algo file from provided file path. [Cloud not supported] - method `InstallationResult Install(Uri uri)` | py `api.AlgoRegistry.Install(uri: Uri) -> InstallationResult` — Installs an algo file from provided URI. [Cloud not supported] - method `InstallationOperation InstallAsync(string filePath)` | py `api.AlgoRegistry.InstallAsync(filePath: str) -> InstallationOperation` — Installs an algo file from provided URI asynchrounsly. [Cloud not supported] - method `InstallationOperation InstallAsync(string filePath, Action callback)` | py `api.AlgoRegistry.InstallAsync(filePath: str, callback: Callable[[InstallationResult], None]) -> InstallationOperation` — Installs an algo file from provided URI asynchrounsly. [Cloud not supported] - method `InstallationOperation InstallAsync(Uri uri)` | py `api.AlgoRegistry.InstallAsync(uri: Uri) -> InstallationOperation` — Installs an algo file from provided URI asynchrounsly. [Cloud not supported] - method `InstallationOperation InstallAsync(Uri uri, Action callback)` | py `api.AlgoRegistry.InstallAsync(uri: Uri, callback: Callable[[InstallationResult], None]) -> InstallationOperation` — Installs an algo file from provided URI asynchrounsly. [Cloud not supported] - property `int Count {get;}` | py `api.AlgoRegistry.Count: int` — Gets number of installed algorithms. [Cloud not supported] - property `IReadonlyList Indicators {get;}` | py `api.AlgoRegistry.Indicators: IReadonlyList[IndicatorType]` — Gets the list of all installed indicators. [Cloud not supported] - property `IReadonlyList Plugins {get;}` | py `api.AlgoRegistry.Plugins: IReadonlyList[PluginType]` — Gets the list of all installed plugins. [Cloud not supported] - property `IReadonlyList Robots {get;}` | py `api.AlgoRegistry.Robots: IReadonlyList[RobotType]` — Gets the list of all installed robots. [Cloud not supported] - event `event Action AlgoTypeChanged;` | py `api.AlgoRegistry.AlgoTypeChanged += handler # handler(obj: AlgoTypeChangedEventArgs)` — Occurs when an algorithm is changed. [Cloud not supported] - event `event Action AlgoTypeDeleted;` | py `api.AlgoRegistry.AlgoTypeDeleted += handler # handler(obj: AlgoTypeDeletedEventArgs)` — Occurs when an algorithm is deleted. [Cloud not supported] - event `event Action AlgoTypeInstalled;` | py `api.AlgoRegistry.AlgoTypeInstalled += handler # handler(obj: AlgoTypeInstalledEventArgs)` — Occurs when a new algorithm is installed. [Cloud not supported] ## interface cAlgo.API.AlgoType — Base type for representing an algorithm. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/AlgoRegistry/AlgoType/index.md) - property `AlgoKind AlgoKind {get;}` | py `algoType.AlgoKind: AlgoKind` — Gets algorithm kind. [Cloud not supported] - property `string Name {get;}` | py `algoType.Name: str` — Gets algorithm name. [Cloud not supported] - property `string ProjectFilePath {get;}` | py `algoType.ProjectFilePath: str` — Gets algorithm project file ".csproj" path if it has source code, otherwise null. [Cloud not supported] ## class cAlgo.API.AlgoTypeChangedEventArgs — Provides data for Algo type changed event. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/AlgoTypeChangedEventArgs/index.md) ## class cAlgo.API.AlgoTypeDeletedEventArgs — Provides data for Algo type deleted event. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/AlgoTypeDeletedEventArgs/index.md) ## class cAlgo.API.AlgoTypeEventArgs — Base structure that provides data for Algo registry events. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/AlgoTypeEventArgs/index.md) - property `public string AlgoTypeName {get;}` | py `algoTypeEventArgs.AlgoTypeName: str` — Algo Type Name [Cloud not supported] ## class cAlgo.API.AlgoTypeInstalledEventArgs — Provides data for Algo type installed event. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/AlgoTypeInstalledEventArgs/index.md) ## interface cAlgo.API.Indicators.Alligator — Legendary trader Bill Williams, an early pioneer of market psychology, developed the trend-following Alligator indicator, which follows the premise that financial markets and individual securities trend just 15% to 30% of the time while grinding through sideways ranges the other 70% to 85% of the time. (https://help.ctrader.com/ctrader-algo/references/Indicators/Alligator/index.md) - property `IndicatorDataSeries Jaws {get; set;}` | py `alligator.Jaws: IndicatorDataSeries` — The jaw is the x-period (13) smoothed moving average that is moved into the future by x (18) bars. - property `IndicatorDataSeries Lips {get; set;}` | py `alligator.Lips: IndicatorDataSeries` — The lips is the x-period (5) smoothed moving average that is moved by x (3) bars into the future - property `IndicatorDataSeries Teeth {get; set;}` | py `alligator.Teeth: IndicatorDataSeries` — The teeth is the x-period (8) smoothed moving average that is moved x (5) bars into the future. ## interface cAlgo.API.Application — Represents the application. (https://help.ctrader.com/ctrader-algo/references/Application/Application/index.md) - property `ColorTheme ColorTheme {get;}` | py `api.Application.ColorTheme: ColorTheme` — Gets the color theme. - property `ApplicationDraggables Draggables {get;}` | py `api.Application.Draggables: ApplicationDraggables` — Gets application draggables. - property `Color DrawingColor {get;}` | py `api.Application.DrawingColor: Color` — Gets current drawing color. - property `EnvironmentType EnvironmentType {get;}` | py `api.Application.EnvironmentType: EnvironmentType` — Gets the environment type. - property `Language Language {get;}` | py `api.Application.Language: Language` — Gets the current language. - property `TimeSpan UserTimeOffset {get;}` | py `api.Application.UserTimeOffset: TimeSpan` — Gets user time offset. - property `Version Version {get;}` | py `api.Application.Version: Version` — Gets the version. - event `event Action ColorThemeChanged;` | py `api.Application.ColorThemeChanged += handler # handler(obj: ColorThemeChangeEventArgs)` — Occurs when color theme has changed. - event `event Action DrawingColorChanged;` | py `api.Application.DrawingColorChanged += handler # handler(obj: DrawingColorChangedEventArgs)` — Occurs when DrawingColor has changed. - event `event Action LanguageChanged;` | py `api.Application.LanguageChanged += handler # handler(obj: LanguageChangedEventArgs)` — Occurs when Language has changed. - event `event Action UserTimeOffsetChanged;` | py `api.Application.UserTimeOffsetChanged += handler # handler(obj: UserTimeOffsetChangedEventArgs)` — Occurs when user time offset has changed. ## interface cAlgo.API.ApplicationDraggable — Represents a draggable box that can host a control and shown over application. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Application/ApplicationDraggable/index.md) - property `ControlBase Child {get; set;}` | py `applicationDraggable.Child: ControlBase` — Get / set the content control inside the draggable. [CLI not supported; Cloud not supported] - property `string Id {get;}` | py `applicationDraggable.Id: str` — Get unique ID of the Draggable. [CLI not supported; Cloud not supported] - property `bool IsVisible {get; set;}` | py `applicationDraggable.IsVisible: bool` — Get / set visibility of draggable. [CLI not supported; Cloud not supported] - property `bool ShowGrip {get; set;}` | py `applicationDraggable.ShowGrip: bool` — Get / set move grip visibility (default: true). [CLI not supported; Cloud not supported] - property `double X {get; set;}` | py `applicationDraggable.X: float` — Get / set X coordinate (default: 0). [CLI not supported; Cloud not supported] - property `double Y {get; set;}` | py `applicationDraggable.Y: float` — Get / set Y coordinate (default: 0). [CLI not supported; Cloud not supported] - event `event Action LocationChanged;` | py `applicationDraggable.LocationChanged += handler # handler(obj: ApplicationDraggableLocationChangedEventArgs)` — Occurs when the draggable's location is changed. [CLI not supported; Cloud not supported] ## class cAlgo.API.ApplicationDraggableLocationChangedEventArgs — Provides data for LocationChanged event of ApplicationDraggable. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ApplicationDraggableLocationChangedEventArgs/index.md) - property `public ApplicationDraggable Draggable {get;}` | py `applicationDraggableLocationChangedEventArgs.Draggable: ApplicationDraggable` — Gets the draggable. [CLI not supported; Cloud not supported] ## interface cAlgo.API.ApplicationDraggables — Represents collection of application draggables. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Application/ApplicationDraggables/index.md) - method `ApplicationDraggable Add()` | py `applicationDraggables.Add() -> ApplicationDraggable` — Adds a draggable to application. [CLI not supported; Cloud not supported] - method `void Remove(ApplicationDraggable draggable)` | py `applicationDraggables.Remove(draggable: ApplicationDraggable) -> None` — Removes a draggable from application. [CLI not supported; Cloud not supported] - property `int Count {get;}` | py `applicationDraggables.Count: int` — Gets count of draggables. [CLI not supported; Cloud not supported] ## interface cAlgo.API.Indicators.Aroon — An indicator for identifying trends in a currency pair, as well as for gauging the probability of a trend reversal. (https://help.ctrader.com/ctrader-algo/references/Indicators/Aroon/index.md) - property `IndicatorDataSeries Down {get;}` | py `aroon.Down: IndicatorDataSeries` — Aroon Down - property `IndicatorDataSeries Up {get;}` | py `aroon.Up: IndicatorDataSeries` — Aroon Up ## interface cAlgo.API.Asp — Represents the active symbol panel. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Asp/Asp/index.md) - method `AspTab AddTab(string title)` | py `api.Asp.AddTab(title: str) -> AspTab` — Adds a new tab to active symbol panel. [CLI not supported; Cloud not supported] - method `bool RemoveTab(string id)` | py `api.Asp.RemoveTab(id: str) -> bool` — Removes a tab from active symbol panel. [CLI not supported; Cloud not supported] - method `bool RemoveTab(AspTab tab)` | py `api.Asp.RemoveTab(tab: AspTab) -> bool` — Removes a tab from active symbol panel. [CLI not supported; Cloud not supported] - property `AspSymbolTab SymbolTab {get;}` | py `api.Asp.SymbolTab: AspSymbolTab` — Symbol tab in active symbol panel. [CLI not supported; Cloud not supported] ## interface cAlgo.API.AspBlock — Represents an active symbol panel block. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Asp/AspBlock/index.md) - property `ControlBase Child {get; set;}` | py `aspBlock.Child: ControlBase` — Get / set content of current block. [CLI not supported; Cloud not supported] - property `DetachedWindow DetachedWindow {get;}` | py `aspBlock.DetachedWindow: DetachedWindow` — Returns detached window properties. [CLI not supported; Cloud not supported] - property `double Height {get; set;}` | py `aspBlock.Height: float` — Get / set height of current block (default is 200). [CLI not supported; Cloud not supported] - property `string Id {get;}` | py `aspBlock.Id: str` — Returns unique ID of the current block. [CLI not supported; Cloud not supported] - property `int Index {get; set;}` | py `aspBlock.Index: int` — Get index of current block. [CLI not supported; Cloud not supported] - property `bool IsAttached {get; set;}` | py `aspBlock.IsAttached: bool` — Get / set block attached / detached state. [CLI not supported; Cloud not supported] - property `bool IsDetachable {get; set;}` | py `aspBlock.IsDetachable: bool` — Get / set block detachability, if True user can attach or detach the block. [CLI not supported; Cloud not supported] - property `bool IsExpanded {get; set;}` | py `aspBlock.IsExpanded: bool` — Get expanded state of current block. [CLI not supported; Cloud not supported] - property `string Title {get;}` | py `aspBlock.Title: str` — Returns title of the current block. [CLI not supported; Cloud not supported] - event `event Action Attached;` | py `aspBlock.Attached += handler # handler(obj: AspBlockAttachedEventArgs)` — Occurs when block attached. [CLI not supported; Cloud not supported] - event `event Action Detached;` | py `aspBlock.Detached += handler # handler(obj: AspBlockDetachedEventArgs)` — Occurs when block is detached. [CLI not supported; Cloud not supported] - event `event Action Updated;` | py `aspBlock.Updated += handler # handler(obj: AspBlockUpdatedEventArgs)` — Occurs when block is updated. [CLI not supported; Cloud not supported] ## class cAlgo.API.AspBlockAttachedEventArgs — Provides data for plugin ASP block attached event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/AspBlockAttachedEventArgs/index.md) - property `public AspBlock AspBlock {get;}` | py `aspBlockAttachedEventArgs.AspBlock: AspBlock` — Attached block. [CLI not supported; Cloud not supported] ## class cAlgo.API.AspBlockDetachedEventArgs — Provides data for plugin ASP block detached event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/AspBlockDetachedEventArgs/index.md) - property `public AspBlock AspBlock {get;}` | py `aspBlockDetachedEventArgs.AspBlock: AspBlock` — Detached block. [CLI not supported; Cloud not supported] ## class cAlgo.API.AspBlockUpdatedEventArgs — Provides data for plugin ASP block updated event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/AspBlockUpdatedEventArgs/index.md) - property `public AspBlock AspBlock {get;}` | py `aspBlockUpdatedEventArgs.AspBlock: AspBlock` — Updated block. [CLI not supported; Cloud not supported] ## class cAlgo.API.AspSymbolChangedEventArgs — Provides data for active symbol panel symbol changed event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/AspSymbolChangedEventArgs/index.md) - property `public Symbol NewSymbol {get;}` | py `aspSymbolChangedEventArgs.NewSymbol: Symbol` — New symbol of active symbol panel. [CLI not supported; Cloud not supported] - property `public Symbol OldSymbol {get;}` | py `aspSymbolChangedEventArgs.OldSymbol: Symbol` — Old symbol of active symbol panel. [CLI not supported; Cloud not supported] ## interface cAlgo.API.AspSymbolTab — Active symbol panel tab. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Asp/AspSymbolTab/index.md) - method `AspBlock AddBlock(string title)` | py `aspSymbolTab.AddBlock(title: str) -> AspBlock` — Adds a new section block to active symbol panel. [CLI not supported; Cloud not supported] - method `bool RemoveBlock(string id)` | py `aspSymbolTab.RemoveBlock(id: str) -> bool` — Removes a section block from active symbol panel. [CLI not supported; Cloud not supported] - method `bool RemoveBlock(AspBlock block)` | py `aspSymbolTab.RemoveBlock(block: AspBlock) -> bool` — Removes a section block from active symbol panel. [CLI not supported; Cloud not supported] - property `Symbol Symbol {get;}` | py `aspSymbolTab.Symbol: Symbol` — Current symbol of Active symbol panel. [CLI not supported; Cloud not supported] - event `event Action SymbolChanged;` | py `aspSymbolTab.SymbolChanged += handler # handler(obj: AspSymbolChangedEventArgs)` — Occurs when active symbol panel selected symbol changes. [CLI not supported; Cloud not supported] ## interface cAlgo.API.AspTab — Represents an active symbol panel tab. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Asp/AspTab/index.md) - property `ControlBase Child {get; set;}` | py `aspTab.Child: ControlBase` — Get / set content of current tab. [CLI not supported; Cloud not supported] - property `string Id {get;}` | py `aspTab.Id: str` — Returns unique ID of the current tab. [CLI not supported; Cloud not supported] - property `int Index {get; set;}` | py `aspTab.Index: int` — Get / set index of current tab (Must be greater than zero). [CLI not supported; Cloud not supported] - property `bool IsSelected {get; set;}` | py `aspTab.IsSelected: bool` — Get / set selected state of current tab. [CLI not supported; Cloud not supported] - property `string Title {get;}` | py `aspTab.Title: str` — Returns title of the current tab. [CLI not supported; Cloud not supported] - event `event Action IsSelectedChanged;` | py `aspTab.IsSelectedChanged += handler # handler(obj: AspTabIsSelectedChangedEventArgs)` — Occurs after tab IsSelected value change. [CLI not supported; Cloud not supported] ## class cAlgo.API.AspTabIsSelectedChangedEventArgs — Provides data for plugin ASP tab IsSelectedChanged event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/AspTabIsSelectedChangedEventArgs/index.md) - property `public AspTab AspTab {get;}` | py `aspTabIsSelectedChangedEventArgs.AspTab: AspTab` — ASP tab. [CLI not supported; Cloud not supported] ## interface cAlgo.API.Asset — The asset represents a currency. (https://help.ctrader.com/ctrader-algo/references/MarketData/Assets/Asset/index.md) - method `double Convert(Asset to, double value)` | py `asset.Convert(to: Asset, value: float) -> float` — Converts value to another asset. - method `double Convert(string to, double value)` | py `asset.Convert(to: str, value: float) -> float` — Converts value to another asset. - property `int Digits {get;}` | py `asset.Digits: int` — Number of asset digits - property `string Name {get;}` | py `asset.Name: str` — The asset Name ## interface cAlgo.API.Assets — Represents the list of all the assets with the asset names as string values. (https://help.ctrader.com/ctrader-algo/references/MarketData/Assets/Assets/index.md) - method `bool Exists(string assetName)` | py `api.Assets.Exists(assetName: str) -> bool` — Defines if the specific asset exists. - method `Asset GetAsset(string assetName)` | py `api.Assets.GetAsset(assetName: str) -> Asset` — Gets the asset. - method `Asset[] GetAssets(string[] assetNames)` | py `api.Assets.GetAssets(assetNames: list[str]) -> list[Asset]` — Get multiple assets on a single call. - property `int Count {get;}` | py `api.Assets.Count: int` — Gets the total number of the assets. - property `string Item {get;}` | py `api.Assets[index: int] -> str` — Gets the desired asset. ## interface cAlgo.API.Indicators.AverageDirectionalMovementIndexRating — The Average Directional Movement Index Rating (ADXR) measures the strength of the Average Directional Movement Index (ADX). It's calculated by taking the average of the current ADX and the ADX from one time period before. (https://help.ctrader.com/ctrader-algo/references/Indicators/AverageDirectionalMovementIndexRating/index.md) - property `IndicatorDataSeries ADX {get; set;}` | py `averageDirectionalMovementIndexRating.ADX: IndicatorDataSeries` — The Average Directional Movement Index (ADX) indicates whether the market is trending or ranging. - property `IndicatorDataSeries ADXR {get; set;}` | py `averageDirectionalMovementIndexRating.ADXR: IndicatorDataSeries` — The rating of Average Directional Movement Index (ADX) - property `IndicatorDataSeries DIMinus {get; set;}` | py `averageDirectionalMovementIndexRating.DIMinus: IndicatorDataSeries` — The Positive Direction Indicator (+DI) indicates upward trend movement. - property `IndicatorDataSeries DIPlus {get; set;}` | py `averageDirectionalMovementIndexRating.DIPlus: IndicatorDataSeries` — The Negative Direction Indicator (-DI) indicates downward trend movement. ## interface cAlgo.API.Indicators.AverageTrueRange — Average true range. An indicator providing the degree of price volatility. (https://help.ctrader.com/ctrader-algo/references/Indicators/AverageTrueRange/index.md) - property `IndicatorDataSeries Result {get; set;}` | py `averageTrueRange.Result: IndicatorDataSeries` — The resulting data series of Average True Range Indicator instance ## interface cAlgo.API.Indicators.AwesomeOscillator — Displays the market momentum as a histogram. (https://help.ctrader.com/ctrader-algo/references/Indicators/AwesomeOscillator/index.md) - property `IndicatorDataSeries Result {get;}` | py `awesomeOscillator.Result: IndicatorDataSeries` — Gets the Awesome Oscillator calculation result. ## interface cAlgo.API.Backtesting — Provides methods and events to manage and monitor backtesting processes. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Backtesting/Backtesting/index.md) - method `BacktestingProcess Start(RobotType robotType, string symbolName, TimeFrame timeFrame, BacktestingSettings settings, object[] parameterValues)` | py `api.Backtesting.Start(robotType: RobotType, symbolName: str, timeFrame: TimeFrame, settings: BacktestingSettings, parameterValues: list[object]) -> BacktestingProcess` — Starts the backtesting process. [CLI not supported; Cloud not supported] - property `BacktestingDataSources DataSources {get;}` | py `api.Backtesting.DataSources: BacktestingDataSources` — Provides access to backtesting data sources. [CLI not supported; Cloud not supported] - event `event Action Completed;` | py `api.Backtesting.Completed += handler # handler(obj: BacktestingCompletedEventArgs)` — Occurs when the backtesting process is completed. [CLI not supported; Cloud not supported] - event `event Action ProgressChanged;` | py `api.Backtesting.ProgressChanged += handler # handler(obj: BacktestingProgressChangedEventArgs)` — Occurs when the backtesting progress changes. [CLI not supported; Cloud not supported] ## struct cAlgo.API.BacktestingBar — Represents an OHLCV bar. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Backtesting/DataSource/BacktestingBar/index.md) - constructor `public BacktestingBar(DateTime Time, double Open, double High, double Low, double Close, long Volume)` | py `BacktestingBar(Time: DateTime, Open: float, High: float, Low: float, Close: float, Volume: int)` — Represents an OHLCV bar. [CLI not supported; Cloud not supported] - property `public double Close {get; set;}` | py `backtestingBar.Close: float` — Close Price [CLI not supported; Cloud not supported] - property `public double High {get; set;}` | py `backtestingBar.High: float` — High Price [CLI not supported; Cloud not supported] - property `public double Low {get; set;}` | py `backtestingBar.Low: float` — Low Price [CLI not supported; Cloud not supported] - property `public double Open {get; set;}` | py `backtestingBar.Open: float` — Open Price [CLI not supported; Cloud not supported] - property `public DateTime Time {get; set;}` | py `backtestingBar.Time: DateTime` — Open Time [CLI not supported; Cloud not supported] - property `public long Volume {get; set;}` | py `backtestingBar.Volume: int` — Volume Amount [CLI not supported; Cloud not supported] ## class cAlgo.API.BacktestingBarsData — Represents a collection of backtesting bars data. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Backtesting/DataSource/BacktestingBarsData/index.md) - constructor `public BacktestingBarsData(IEnumerable data)` | py `BacktestingBarsData(data: Iterable[BacktestingBar])` — Creates a new instance of BacktestingBarsData with passed data. [CLI not supported; Cloud not supported] ## class cAlgo.API.BacktestingCompletedEventArgs — Provides data for the backtesting completed event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Backtesting/BacktestingCompletedEventArgs/index.md) - property `public string HtmlReport {get;}` | py `backtestingCompletedEventArgs.HtmlReport: str` — Gets the HTML report of the backtesting results. [CLI not supported; Cloud not supported] - property `public string JsonReport {get;}` | py `backtestingCompletedEventArgs.JsonReport: str` — Gets the JSON report of the backtesting results. [CLI not supported; Cloud not supported] - property `public BacktestingProcess Process {get;}` | py `backtestingCompletedEventArgs.Process: BacktestingProcess` — Gets the backtesting process that has completed. [CLI not supported; Cloud not supported] ## interface cAlgo.API.BacktestingData — Base type for backtesting data used for backtesting data source. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Backtesting/DataSource/BacktestingData/index.md) ## enum cAlgo.API.BacktestingDataMode — Specifies the data mode used for backtesting. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Backtesting/BacktestingDataMode/index.md) - enum value `BacktestingDataMode.Ticks;` | py `BacktestingDataMode.Ticks` — Tick data mode. [CLI not supported; Cloud not supported] - enum value `BacktestingDataMode.M1;` | py `BacktestingDataMode.M1` — One-minute data mode. [CLI not supported; Cloud not supported] - enum value `BacktestingDataMode.M1Csv;` | py `BacktestingDataMode.M1Csv` — One-minute CSV data mode. [CLI not supported; Cloud not supported] - enum value `BacktestingDataMode.OpenPrices;` | py `BacktestingDataMode.OpenPrices` — Open prices data mode. [CLI not supported; Cloud not supported] - enum value `BacktestingDataMode.TickCsv;` | py `BacktestingDataMode.TickCsv` — Tick data from a CSV file. [CLI not supported; Cloud not supported] ## interface cAlgo.API.BacktestingDataRequest — Represents a backtesting data request for a backtesting data source. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Backtesting/DataSource/BacktestingDataRequest/index.md) - method `void Complete(BacktestingData data)` | py `backtestingDataRequest.Complete(data: BacktestingData) -> None` — Completes current request. [CLI not supported; Cloud not supported] - method `void Fail(string errorMessage)` | py `backtestingDataRequest.Fail(errorMessage: str) -> None` — Notifies current request failure if something went wrong. [CLI not supported; Cloud not supported] - property `BacktestingDataSourceDataType DataType {get;}` | py `backtestingDataRequest.DataType: BacktestingDataSourceDataType` — Gets request data type. [CLI not supported; Cloud not supported] - property `DateTime EndTime {get;}` | py `backtestingDataRequest.EndTime: DateTime` — Gets request end time. [CLI not supported; Cloud not supported] - property `PriceDataSourceId PriceDataSourceId {get;}` | py `backtestingDataRequest.PriceDataSourceId: PriceDataSourceId` — Gets request price data source Id (Symbol and TimeFrame). [CLI not supported; Cloud not supported] - property `DateTime StartTime {get;}` | py `backtestingDataRequest.StartTime: DateTime` — Gets request start time. [CLI not supported; Cloud not supported] - property `BacktestingDataRequestStatus Status {get;}` | py `backtestingDataRequest.Status: BacktestingDataRequestStatus` — Gets current status of request. [CLI not supported; Cloud not supported] - event `event Action StatusChanged;` | py `backtestingDataRequest.StatusChanged += handler # handler(obj: BacktestingDataRequestStatusChangedEventArgs)` — Occurs when request status is changed. [CLI not supported; Cloud not supported] ## enum cAlgo.API.BacktestingDataRequestStatus — Specifies the different status of a backtesting data request. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Backtesting/DataSource/BacktestingDataRequestStatus/index.md) - enum value `BacktestingDataRequestStatus.InProgress;` | py `BacktestingDataRequestStatus.InProgress` — Request is in progress. [CLI not supported; Cloud not supported] - enum value `BacktestingDataRequestStatus.Failed;` | py `BacktestingDataRequestStatus.Failed` — Request is failed by plugin. [CLI not supported; Cloud not supported] - enum value `BacktestingDataRequestStatus.Completed;` | py `BacktestingDataRequestStatus.Completed` — Request is completed by plugin. [CLI not supported; Cloud not supported] - enum value `BacktestingDataRequestStatus.Cancelled;` | py `BacktestingDataRequestStatus.Cancelled` — Request is cancelled. [CLI not supported; Cloud not supported] ## class cAlgo.API.BacktestingDataRequestStatusChangedEventArgs — Provides data for the backtesting data request status changed event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/BacktestingDataRequestStatusChangedEventArgs/index.md) - property `public BacktestingDataRequest DataRequest {get;}` | py `backtestingDataRequestStatusChangedEventArgs.DataRequest: BacktestingDataRequest` — Gets data request. [CLI not supported; Cloud not supported] ## interface cAlgo.API.BacktestingDataSource — Represents a backtesting data source. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Backtesting/DataSource/BacktestingDataSource/index.md) - method `bool ClearCache()` | py `backtestingDataSource.ClearCache() -> bool` — Clears cached price data of current data source if not being used. [CLI not supported; Cloud not supported] - property `string Name {get;}` | py `backtestingDataSource.Name: str` — Gets unique name of backtesting data source. [CLI not supported; Cloud not supported] - property `bool SupportOnlyOwnCustomTimeFrames {get; set;}` | py `backtestingDataSource.SupportOnlyOwnCustomTimeFrames: bool` — Gets / sets if current backtesting data source can be used only for owner plugin custom TimeFrames or for both owner plugin custom TimeFrames and built-in TimeFrames. If True current source will only appear if backtesting TimeFrame is owner plugin created custom TimeFrame. [CLI not supported; Cloud not supported] ## enum cAlgo.API.BacktestingDataSourceDataType — Specifies the different data types for backtesting data source. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Backtesting/DataSource/BacktestingDataSourceDataType/index.md) - enum value `BacktestingDataSourceDataType.Tick;` | py `BacktestingDataSourceDataType.Tick` — Tick data type. [CLI not supported; Cloud not supported] - enum value `BacktestingDataSourceDataType.M1OpenPrices;` | py `BacktestingDataSourceDataType.M1OpenPrices` — Minute OHLCV open prices. [CLI not supported; Cloud not supported] - enum value `BacktestingDataSourceDataType.OpenPrices;` | py `BacktestingDataSourceDataType.OpenPrices` — TimeFrame OHLCV open prices. [CLI not supported; Cloud not supported] ## class cAlgo.API.BacktestingDataSourceMinMaxTimeArgs — Provides data for the backtesting data source min / max time handler. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Backtesting/DataSource/BacktestingDataSourceMinMaxTimeArgs/index.md) - property `public BacktestingDataSourceDataType DataType {get;}` | py `backtestingDataSourceMinMaxTimeArgs.DataType: BacktestingDataSourceDataType` — Gets data type for the min / max time request. [CLI not supported; Cloud not supported] - property `public PriceDataSourceId PriceDataSourceId {get;}` | py `backtestingDataSourceMinMaxTimeArgs.PriceDataSourceId: PriceDataSourceId` — Gets price data source Id for the min / max time request. [CLI not supported; Cloud not supported] ## record cAlgo.API.BacktestingDataSourceOptions — Represents options of a backtesting data source, used for creating new data source. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Backtesting/DataSource/BacktestingDataSourceOptions/index.md) - constructor `public BacktestingDataSourceOptions(BacktestingDataSourceDataType SupportedDataTypes, Func MinMaxTimeHandler, Action DataRequestHandler)` | py `BacktestingDataSourceOptions(SupportedDataTypes: BacktestingDataSourceDataType, MinMaxTimeHandler: Callable[[BacktestingDataSourceMinMaxTimeArgs], BacktestingMinMaxTime], DataRequestHandler: Callable[[BacktestingDataRequest], None])` — Represents options of a backtesting data source, used for creating new data source. [CLI not supported; Cloud not supported] - constructor `public BacktestingDataSourceOptions(BacktestingDataSourceOptions original)` | py `BacktestingDataSourceOptions(original: BacktestingDataSourceOptions)` — [CLI not supported; Cloud not supported] - property `public Action DataRequestHandler {get; set;}` | py `backtestingDataSourceOptions.DataRequestHandler: Callable[[BacktestingDataRequest], None]` — Handler function for handling data requests. [CLI not supported; Cloud not supported] - property `public Func MinMaxTimeHandler {get; set;}` | py `backtestingDataSourceOptions.MinMaxTimeHandler: Callable[[BacktestingDataSourceMinMaxTimeArgs], BacktestingMinMaxTime]` — Handler function for getting minimum and maximum time. [CLI not supported; Cloud not supported] - property `public BacktestingDataSourceDataType SupportedDataTypes {get; set;}` | py `backtestingDataSourceOptions.SupportedDataTypes: BacktestingDataSourceDataType` — Supported data types (ex: BacktestingDataSourceDateType.Tick | BacktestingDataSourceDateType.M1OpenPrices) [CLI not supported; Cloud not supported] ## interface cAlgo.API.BacktestingDataSources — Provides access to backtesting data sources. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Backtesting/DataSource/BacktestingDataSources/index.md) - method `BacktestingDataSource Add(string name, BacktestingDataSourceOptions options)` | py `backtestingDataSources.Add(name: str, options: BacktestingDataSourceOptions) -> BacktestingDataSource` — Adds a new backtesting data source. [CLI not supported; Cloud not supported] - method `bool Remove(BacktestingDataSource dataSource)` | py `backtestingDataSources.Remove(dataSource: BacktestingDataSource) -> bool` — Removes a previously added backtesting data source. [CLI not supported; Cloud not supported] - method `void RemoveAllUnused()` | py `backtestingDataSources.RemoveAllUnused() -> None` — Removes all previously added backtesting data sources that are not being used. [CLI not supported; Cloud not supported] ## enum cAlgo.API.BacktestingError — Specifies the error that stopped a backtesting process, None if there was no error. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Backtesting/BacktestingError/index.md) - enum value `BacktestingError.None;` | py `BacktestingError.None` — %DOCUMENTATION% [CLI not supported; Cloud not supported] - enum value `BacktestingError.Other;` | py `BacktestingError.Other` — %DOCUMENTATION% [CLI not supported; Cloud not supported] - enum value `BacktestingError.Net4IsNotSupported;` | py `BacktestingError.Net4IsNotSupported` — %DOCUMENTATION% [CLI not supported; Cloud not supported] - enum value `BacktestingError.NoConnection;` | py `BacktestingError.NoConnection` — %DOCUMENTATION% [CLI not supported; Cloud not supported] - enum value `BacktestingError.NoHistoricalData;` | py `BacktestingError.NoHistoricalData` — %DOCUMENTATION% [CLI not supported; Cloud not supported] - enum value `BacktestingError.NotSupported;` | py `BacktestingError.NotSupported` — %DOCUMENTATION% [CLI not supported; Cloud not supported] - enum value `BacktestingError.InvalidSettings;` | py `BacktestingError.InvalidSettings` — %DOCUMENTATION% [CLI not supported; Cloud not supported] ## struct cAlgo.API.BacktestingMinMaxTime — Represents minimum and maximum time of available data for a TimeFrame Symbol on a back testing data source. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Backtesting/DataSource/BacktestingMinMaxTime/index.md) - constructor `public BacktestingMinMaxTime(DateTime MinTime, DateTime MaxTime)` | py `BacktestingMinMaxTime(MinTime: DateTime, MaxTime: DateTime)` — Represents minimum and maximum time of available data for a TimeFrame Symbol on a back testing data source. [CLI not supported; Cloud not supported] - property `public DateTime MaxTime {get; set;}` | py `backtestingMinMaxTime.MaxTime: DateTime` — Maximum Time [CLI not supported; Cloud not supported] - property `public DateTime MinTime {get; set;}` | py `backtestingMinMaxTime.MinTime: DateTime` — Minimum Time [CLI not supported; Cloud not supported] ## interface cAlgo.API.BacktestingProcess — Represents a backtesting process with methods and properties to monitor its status and results. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Backtesting/BacktestingProcess/index.md) - method `void Terminate()` | py `backtestingProcess.Terminate() -> None` — Terminates the backtesting process. [CLI not supported; Cloud not supported] - property `BacktestingError BacktestingError {get;}` | py `backtestingProcess.BacktestingError: BacktestingError` — Gets the error information if the backtesting process failed. [CLI not supported; Cloud not supported] - property `string HtmlReport {get;}` | py `backtestingProcess.HtmlReport: str` — Gets the HTML report of the backtesting results. Returns null if the backtesting is not finished or an error occurred. [CLI not supported; Cloud not supported] - property `bool IsCompleted {get;}` | py `backtestingProcess.IsCompleted: bool` — Gets a value indicating whether the backtesting process is completed. [CLI not supported; Cloud not supported] - property `string JsonReport {get;}` | py `backtestingProcess.JsonReport: str` — Gets the JSON report of the backtesting results. Returns null if the backtesting is not finished or an error occurred. [CLI not supported; Cloud not supported] - property `string MonteCarloJsonReport {get;}` | py `backtestingProcess.MonteCarloJsonReport: str` — Gets the Monte Carlo simulation result as JSON, which is the same snapshot that is written to the output file of the MonteCarlo settings. Returns null when no Monte Carlo simulation was configured, when the backtesting is not finished, when the backtest produced no trades, or when an error occurred. [CLI not supported; Cloud not supported] - event `event Action Completed;` | py `backtestingProcess.Completed += handler # handler(obj: BacktestingCompletedEventArgs)` — Occurs when the backtesting process is completed. [CLI not supported; Cloud not supported] - event `event Action ProgressChanged;` | py `backtestingProcess.ProgressChanged += handler # handler(obj: BacktestingProgressChangedEventArgs)` — Occurs when the backtesting progress changes. [CLI not supported; Cloud not supported] ## class cAlgo.API.BacktestingProgressChangedEventArgs — Provides data for the backtesting progress changed event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Backtesting/BacktestingProgressChangedEventArgs/index.md) - property `public string Operation {get;}` | py `backtestingProgressChangedEventArgs.Operation: str` — Gets the description of the current operation. [CLI not supported; Cloud not supported] - property `public BacktestingProcess Process {get;}` | py `backtestingProgressChangedEventArgs.Process: BacktestingProcess` — Gets the backtesting process that reported progress. [CLI not supported; Cloud not supported] - property `public double Progress {get;}` | py `backtestingProgressChangedEventArgs.Progress: float` — Gets the progress percentage of the backtesting process. [CLI not supported; Cloud not supported] ## class cAlgo.API.BacktestingSettings — Represents settings for configuring the backtesting process. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Backtesting/BacktestingSettings/index.md) - constructor `public BacktestingSettings()` | py `BacktestingSettings()` — Represents settings for configuring the backtesting process. [CLI not supported; Cloud not supported] - property `public bool ApplyCommissionAutomatically {get; set;}` | py `backtestingSettings.ApplyCommissionAutomatically: bool` — Gets or sets a value that indicates whether the commission type and value of the backtested symbol are applied automatically. When it is set to true the Commission and CommissionType properties are ignored. The default value is false. [CLI not supported; Cloud not supported] - property `public double Balance {get; set;}` | py `backtestingSettings.Balance: float` — Gets or sets the initial balance for the backtesting. [CLI not supported; Cloud not supported] - property `public double Commission {get; set;}` | py `backtestingSettings.Commission: float` — Gets or sets the commission value, it is interpreted based on the CommissionType property value. It is ignored when ApplyCommissionAutomatically is set to true. The default value is 0. [CLI not supported; Cloud not supported] - property `public SymbolCommissionType CommissionType {get; set;}` | py `backtestingSettings.CommissionType: SymbolCommissionType` — Gets or sets the commission type that defines how the Commission property value is interpreted. It is ignored when ApplyCommissionAutomatically is set to true. The default value is SymbolCommissionType.UsdPerMillionUsdVolume. [CLI not supported; Cloud not supported] - property `public string DataFile {get; set;}` | py `backtestingSettings.DataFile: str` — Gets or sets the path to the data file used for backtesting. [CLI not supported; Cloud not supported] - property `public BacktestingDataMode DataMode {get; set;}` | py `backtestingSettings.DataMode: BacktestingDataMode` — Gets or sets the data mode used for backtesting. [CLI not supported; Cloud not supported] - property `public DateTime EndTimeUtc {get; set;}` | py `backtestingSettings.EndTimeUtc: DateTime` — Gets or sets the end time in UTC for the backtesting period. [CLI not supported; Cloud not supported] - property `public MonteCarloSettings MonteCarlo {get; set;}` | py `backtestingSettings.MonteCarlo: MonteCarloSettings` — Gets or sets the optional Monte Carlo simulation that runs on the completed backtest. When it is null, the default, no Monte Carlo simulation is performed and the backtest behaves exactly as before. When it is set, the simulation runs on the completed backtest and its result is written to the configured output file. [CLI not supported; Cloud not supported] - property `public bool PreciseConversion {get; set;}` | py `backtestingSettings.PreciseConversion: bool` — Gets or sets a value indicating whether historical data for additional symbols is downloaded to convert profit and margin into the account deposit currency precisely. When true, real historical exchange rates of the additional symbols are used; when false, the default, approximated rates are used. Enabling it can increase the run time and the amount of downloaded data. [CLI not supported; Cloud not supported] - property `public double SpreadPips {get; set;}` | py `backtestingSettings.SpreadPips: float` — Gets or sets the spread in pips. [CLI not supported; Cloud not supported] - property `public DateTime StartTimeUtc {get; set;}` | py `backtestingSettings.StartTimeUtc: DateTime` — Gets or sets the start time in UTC for the backtesting period. [CLI not supported; Cloud not supported] ## struct cAlgo.API.BacktestingTick — Represents a tick, used for backtesting data source tick data. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Backtesting/DataSource/BacktestingTick/index.md) - constructor `public BacktestingTick(DateTime Time, double Bid, double Ask)` | py `BacktestingTick(Time: DateTime, Bid: float, Ask: float)` — Represents a tick, used for backtesting data source tick data. [CLI not supported; Cloud not supported] - property `public double Ask {get; set;}` | py `backtestingTick.Ask: float` — Ask Price [CLI not supported; Cloud not supported] - property `public double Bid {get; set;}` | py `backtestingTick.Bid: float` — Bid Price [CLI not supported; Cloud not supported] - property `public DateTime Time {get; set;}` | py `backtestingTick.Time: DateTime` — Timestamp [CLI not supported; Cloud not supported] ## class cAlgo.API.BacktestingTickData — Represents a collection of backtesting tick data. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Backtesting/DataSource/BacktestingTickData/index.md) - constructor `public BacktestingTickData(IEnumerable data)` | py `BacktestingTickData(data: Iterable[BacktestingTick])` — Creates a new instance of BacktestingTickData with passed data. [CLI not supported; Cloud not supported] ## struct cAlgo.API.Bar — Represents the Bar object. (https://help.ctrader.com/ctrader-algo/references/MarketData/Bars/Bar/index.md) - property `public double Close {get;}` | py `bar.Close: float` — Gets the Close price. - property `public double High {get;}` | py `bar.High: float` — Gets the High price. - property `public double Low {get;}` | py `bar.Low: float` — Gets the Low price. - property `public double Open {get;}` | py `bar.Open: float` — Gets the open price. - property `public DateTime OpenTime {get;}` | py `bar.OpenTime: DateTime` — Gets the bar open time. - property `public long TickVolume {get;}` | py `bar.TickVolume: int` — Gets the Tick volume. ## class cAlgo.API.BarClosedEventArgs — Provides data for the event when a bar closed on the chart. (https://help.ctrader.com/ctrader-algo/references/EventArgs/BarClosedEventArgs/index.md) - property `public Bars Bars {get;}` | py `barClosedEventArgs.Bars: Bars` — Gets the bar data. ## class cAlgo.API.BarOpenedEventArgs — Provides data for the event when a new bar opened on the chart. (https://help.ctrader.com/ctrader-algo/references/EventArgs/BarOpenedEventArgs/index.md) - property `public Bars Bars {get;}` | py `barOpenedEventArgs.Bars: Bars` — Gets the bar data. ## class cAlgo.API.BarOutputAttribute — This attribute is used for marking an indicator IndicatorBars property as a bar Output. (https://help.ctrader.com/ctrader-algo/references/Attributes/BarOutputAttribute/index.md) - constructor `public BarOutputAttribute(string name)` | py `BarOutputAttribute(name: str)` — Initializes a new instance of the BarOutputAttribute and sets the name. - property `public string AreaChartFillColor {get; set;}` | py `barOutputAttribute.AreaChartFillColor: str` — Gets or sets the color of the area chart. - property `public string BearFillColor {get; set;}` | py `barOutputAttribute.BearFillColor: str` — Gets or sets the color of the bear candle fill. - property `public string BearOutlineColor {get; set;}` | py `barOutputAttribute.BearOutlineColor: str` — Gets or sets the color of the bear candle or bar outline. - property `public string BullFillColor {get; set;}` | py `barOutputAttribute.BullFillColor: str` — Gets or sets the color of the bull candle fill. - property `public string BullOutlineColor {get; set;}` | py `barOutputAttribute.BullOutlineColor: str` — Gets or sets the color of the bull candle or bar outline. - property `public ChartType ChartType {get; set;}` | py `barOutputAttribute.ChartType: ChartType` — Gets or sets the type of the chart - Bar, Candlesticks, Line or Dots chart. - property `public string Description {get; set;}` | py `barOutputAttribute.Description: str` — Gets or sets description for output that will be shown in UI. - property `public string DotChartColor {get; set;}` | py `barOutputAttribute.DotChartColor: str` — Gets or sets the color of the dot chart. - property `public bool IsColorCustomizable {get; set;}` | py `barOutputAttribute.IsColorCustomizable: bool` — Gets or sets if Output line color is customizable or not. - property `public bool IsLastValueVisibleInTitle {get; set;}` | py `barOutputAttribute.IsLastValueVisibleInTitle: bool` — Gets or sets if output last value should be visible or not in instance title (default: true). - property `public bool IsVisible {get; set;}` | py `barOutputAttribute.IsVisible: bool` — Gets or sets default visibility of output. - property `public string Name {get;}` | py `barOutputAttribute.Name: str` — The output name - property `public string TickVolumeColor {get; set;}` | py `barOutputAttribute.TickVolumeColor: str` — Gets or sets the color of the tick volume bars. ## interface cAlgo.API.Bars — Represents the Bars interface - the collection of Bar objects. (https://help.ctrader.com/ctrader-algo/references/MarketData/Bars/Bars/index.md) - method `DataSeries GetSeries(StandardSeriesType standardSeriesType)` | py `api.Bars.GetSeries(standardSeriesType: StandardSeriesType) -> DataSeries` — Returns a data series from current Bars based on the passed StandardSeriesType. - method `DateTime GetServerFirstBarOpenTime()` | py `api.Bars.GetServerFirstBarOpenTime() -> DateTime` — Returns the first available server bar open time. - method `Bar Last(int index)` | py `api.Bars.Last(index: int) -> Bar` — Gets the bar from the end of the collection. - method `int LoadMoreHistory()` | py `api.Bars.LoadMoreHistory() -> int` — Loads more historical bars. Method returns the number of loaded bars that were added to the beginning of the collection. - method `void LoadMoreHistoryAsync()` | py `api.Bars.LoadMoreHistoryAsync() -> None` — Loads more historical bars asynchronously. - method `void LoadMoreHistoryAsync(Action callback)` | py `api.Bars.LoadMoreHistoryAsync(callback: Callable[[BarsHistoryLoadedEventArgs], None]) -> None` — Loads more historical bars asynchronously. - property `DataSeries AveragePrices {get;}` | py `api.Bars.AveragePrices: DataSeries` — Gets the average prices data (Open + High + Low + Close) / 4. - property `DataSeries ClosePrices {get;}` | py `api.Bars.ClosePrices: DataSeries` — Gets the Close price bars data. - property `int Count {get;}` | py `api.Bars.Count: int` — Gets the number of bars. - property `DataSeries HighPrices {get;}` | py `api.Bars.HighPrices: DataSeries` — Gets the High price bars data. - property `Bar Item {get;}` | py `api.Bars[index: int] -> Bar` — Returns a bar based on it is index - property `Bar LastBar {get;}` | py `api.Bars.LastBar: Bar` — Gets the last bar in the chart. - property `DataSeries LowPrices {get;}` | py `api.Bars.LowPrices: DataSeries` — Gets the Low price bars data. - property `DataSeries MedianPrices {get;}` | py `api.Bars.MedianPrices: DataSeries` — Gets the Median prices data (High + Low) / 2. - property `DataSeries OpenPrices {get;}` | py `api.Bars.OpenPrices: DataSeries` — Gets the Open price bars data. - property `TimeSeries OpenTimes {get;}` | py `api.Bars.OpenTimes: TimeSeries` — Gets the open bar time data. - property `string SymbolName {get;}` | py `api.Bars.SymbolName: str` — Gets the symbol name. - property `DataSeries TickVolumes {get;}` | py `api.Bars.TickVolumes: DataSeries` — Gets the Tick volumes data. - property `TimeFrame TimeFrame {get;}` | py `api.Bars.TimeFrame: TimeFrame` — Get the timeframe. - property `DataSeries TypicalPrices {get;}` | py `api.Bars.TypicalPrices: DataSeries` — Gets the Typical prices data (High + Low + Close) / 3. - property `DataSeries WeightedPrices {get;}` | py `api.Bars.WeightedPrices: DataSeries` — Gets the Weighted prices data (High + Low + 2 * Close) / 4. - event `event Action BarClosed;` | py `api.Bars.BarClosed += handler # handler(obj: BarClosedEventArgs)` — Occurs when a new bar is opened; the event is called for the previous (closed) bar. - event `event Action BarOpened;` | py `api.Bars.BarOpened += handler # handler(obj: BarOpenedEventArgs)` — Occurs when the last bar is closed and a new bar is opened. - event `event Action HistoryLoaded;` | py `api.Bars.HistoryLoaded += handler # handler(obj: BarsHistoryLoadedEventArgs)` — Occurs when more history is loaded due to chart scroll on the left or due to API call. - event `event Action Reloaded;` | py `api.Bars.Reloaded += handler # handler(obj: BarsHistoryLoadedEventArgs)` — Occurs when bars are refreshed due to reconnect. - event `event Action Tick;` | py `api.Bars.Tick += handler # handler(obj: BarsTickEventArgs)` — Occurs when a new Tick arrives. ## class cAlgo.API.BarsHistoryLoadedEventArgs — Provides data for the history loaded event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/BarsHistoryLoadedEventArgs/index.md) - property `public Bars Bars {get;}` | py `barsHistoryLoadedEventArgs.Bars: Bars` — Gets the bar objects data. - property `public int Count {get;}` | py `barsHistoryLoadedEventArgs.Count: int` — Gets the number of bars. ## class cAlgo.API.BarsTickEventArgs — Provides data for the tick bar event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/BarsTickEventArgs/index.md) - property `public Bars Bars {get;}` | py `barsTickEventArgs.Bars: Bars` — Gets the Bar objects data. - property `public bool IsBarOpened {get;}` | py `barsTickEventArgs.IsBarOpened: bool` — Defines if current tick is the first tick of a new bar. ## interface cAlgo.API.Indicators.BearsPower — The calculation of the Bears Power. (https://help.ctrader.com/ctrader-algo/references/Indicators/BearsPower/index.md) - property `IndicatorDataSeries Result {get;}` | py `bearsPower.Result: IndicatorDataSeries` — The histogram (bar graph). It shows the maximum bearish strength during the time period. ## interface cAlgo.API.Indicators.BollingerBands — Bollinger Bands are used to confirm signals. The bands indicate overbought and oversold levels relative to a moving average. (https://help.ctrader.com/ctrader-algo/references/Indicators/BollingerBands/index.md) - property `IndicatorDataSeries Bottom {get;}` | py `bollingerBands.Bottom: IndicatorDataSeries` — Lower Bollinger Band. - property `IndicatorDataSeries Main {get;}` | py `bollingerBands.Main: IndicatorDataSeries` — Moving Average (Middle Bollinger Band). - property `IndicatorDataSeries Top {get;}` | py `bollingerBands.Top: IndicatorDataSeries` — Upper Bollinger Band. ## class cAlgo.API.Border — Represents the border. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/Border/index.md) - constructor `public Border()` | py `Border()` — Initializes a new instance of the Border class. [CLI not supported; Cloud not supported] - property `public Color BackgroundColor {get; set;}` | py `border.BackgroundColor: Color` — Gets or sets the color of the border background. Check the Color class for the ARGB (alpha, red, green, blue) color values, or use the strings Color.Red, Color.FromName("Red"), Color.FromArgb(255, 0, 0), Color.FromHex("#ff0000"), "Red", "#ff0000". [CLI not supported; Cloud not supported] - property `public Color BorderColor {get; set;}` | py `border.BorderColor: Color` — Gets or sets the border line color. Check the Color class for the ARGB (alpha, red, green, blue) color values, or use the strings Color.Red, Color.FromName("Red"), Color.FromArgb(255, 0, 0), Color.FromHex("#ff0000"), "Red", "#ff0000". [CLI not supported; Cloud not supported] - property `public Thickness BorderThickness {get; set;}` | py `border.BorderThickness: Thickness` — Gets or sets the border thickness. Property value can be set using Thickness, number, or a string new Thickness(5), new Thickness(1, 2, 3, 4), 5, "5", "1 2 3 4". [CLI not supported; Cloud not supported] - property `public ControlBase Child {get; set;}` | py `border.Child: ControlBase` — Gets or sets the border child object. [CLI not supported; Cloud not supported] - property `public CornerRadius CornerRadius {get; set;}` | py `border.CornerRadius: CornerRadius` — Gets or sets the border corner radius. Property value can be set using CornerRadius, number, or a string: new CornerRadius(5), new CornerRadius(1, 2, 3, 4). [CLI not supported; Cloud not supported] - property `public Thickness Padding {get; set;}` | py `border.Padding: Thickness` — Gets or sets the border padding thickness. Property value can be set using Thickness, number, or a string new Thickness(5), new Thickness(1, 2, 3, 4), 5, "5", "1 2 3 4". [CLI not supported; Cloud not supported] ## interface cAlgo.API.Indicators.BullsPower — The calculation of the Bulls Power. (https://help.ctrader.com/ctrader-algo/references/Indicators/BullsPower/index.md) - property `IndicatorDataSeries Result {get;}` | py `bullsPower.Result: IndicatorDataSeries` — The histogram (bar graph). It shows the maximum bullish strength during the time period. ## class cAlgo.API.Button — Represents the button. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/Button/index.md) - constructor `public Button()` | py `Button()` — Initializes a new instance of the Button class. [CLI not supported; Cloud not supported] - property `public Color BorderColor {get; set;}` | py `button.BorderColor: Color` — Gets or sets the border line color. Check the Color class for the ARGB (alpha, red, green, blue) color values, or use the strings Color.Red, Color.FromName("Red"), Color.FromArgb(255, 0, 0), Color.FromHex("#ff0000"), "Red", "#ff0000". [CLI not supported; Cloud not supported] - property `public Thickness BorderThickness {get; set;}` | py `button.BorderThickness: Thickness` — Gets or sets the border thickness. [CLI not supported; Cloud not supported] - property `public ControlBase Content {get; set;}` | py `button.Content: ControlBase` — Gets or sets the content. [CLI not supported; Cloud not supported] - property `public CornerRadius CornerRadius {get; set;}` | py `button.CornerRadius: CornerRadius` — Gets or sets the border corner radius. Property value can be set using CornerRadius, number, or a string: new CornerRadius(5), new CornerRadius(1, 2, 3, 4). [CLI not supported; Cloud not supported] - property `public string Text {get; set;}` | py `button.Text: str` — Gets or sets the text. [CLI not supported; Cloud not supported] - event `public event Action Click;` | py `button.Click += handler # handler(obj: ButtonClickEventArgs)` — Occurs when the button is clicked. [CLI not supported; Cloud not supported] ## class cAlgo.API.ButtonClickEventArgs — Represents the button click event data. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ButtonClickEventArgs/index.md) - property `public Button Button {get;}` | py `buttonClickEventArgs.Button: Button` — Gets the button data. [CLI not supported; Cloud not supported] ## class cAlgo.API.Canvas — Defines an area to position child elements by coordinates relative to the Canvas area. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/Layout/Canvas/index.md) - constructor `public Canvas()` | py `Canvas()` — Initializes a new instance of the Canvas class. [CLI not supported; Cloud not supported] ## interface cAlgo.API.Indicators.CenterOfGravity — The Center of Gravity (COG) indicator is a technical indicator developed by John Ehlers in 2002, used to identify potential turning points in the price as early as possible. (https://help.ctrader.com/ctrader-algo/references/Indicators/CenterOfGravity/index.md) - property `IndicatorDataSeries Lag {get; set;}` | py `centerOfGravity.Lag: IndicatorDataSeries` — The lag/signal/trigger line of COG - property `IndicatorDataSeries Result {get; set;}` | py `centerOfGravity.Result: IndicatorDataSeries` — The COG line, by using it you can identify the support and resistance levels and have a more or less clear idea when the price starts moving in a different direction. ## interface cAlgo.API.Indicators.ChaikinMoneyFlow — The Chaikin Money Flow Indicator measures the amount of Money Flow Volume over a specific period. The resulting indicator fluctuates above/below the zero line. (https://help.ctrader.com/ctrader-algo/references/Indicators/ChaikinMoneyFlow/index.md) - property `IndicatorDataSeries Result {get; set;}` | py `chaikinMoneyFlow.Result: IndicatorDataSeries` — The time series of the Chaikin Money Flow Indicator. ## interface cAlgo.API.Indicators.ChaikinOscillator — The Chaikin Oscillator Indicator interface. (https://help.ctrader.com/ctrader-algo/references/Indicators/ChaikinOscillator/index.md) - property `IndicatorDataSeries Result {get;}` | py `chaikinOscillator.Result: IndicatorDataSeries` — The resulting time series of Chaikin Oscillator calculation. ## interface cAlgo.API.Indicators.ChaikinVolatility — The Chaikin Volatility Indicator interface. (https://help.ctrader.com/ctrader-algo/references/Indicators/ChaikinVolatility/index.md) - property `IndicatorDataSeries Result {get;}` | py `chaikinVolatility.Result: IndicatorDataSeries` — Chaikin Volatility Result Series. ## interface cAlgo.API.Indicators.ChandeMomentumOscillator — The calculation of the Chande Momentum Oscillator indicator. (https://help.ctrader.com/ctrader-algo/references/Indicators/ChandeMomentumOscillator/index.md) - property `IndicatorDataSeries Result {get;}` | py `chandeMomentumOscillator.Result: IndicatorDataSeries` — Gets the resulting series of the Chande Momentum Oscillator indicator calculation. ## enum cAlgo.API.CharacterCasing — Specifies the case of characters typed manually into a TextBox control. (https://help.ctrader.com/ctrader-algo/references/Controls/CharacterCasing/index.md) - enum value `CharacterCasing.Normal;` | py `CharacterCasing.Normal` — Characters typed into a TextBox are not converted. - enum value `CharacterCasing.Lower;` | py `CharacterCasing.Lower` — Characters typed into a TextBox are converted to lowercase. - enum value `CharacterCasing.Upper;` | py `CharacterCasing.Upper` — Characters typed into a TextBox are converted to uppercase. ## interface cAlgo.API.Chart — Represents the Chart Interface. (https://help.ctrader.com/ctrader-algo/references/Chart/Chart/index.md) - method `bool AddHotkey(Action hotkeyHandler, Key key, ModifierKeys modifiers)` | py `api.Chart.AddHotkey(hotkeyHandler: Callable[[ChartKeyboardEventArgs], None], key: Key, modifiers: ModifierKeys) -> bool` — Adds an hotkey to the chart that will call the handler when pressed [CLI not supported; Cloud not supported] - method `bool AddHotkey(Action hotkeyHandler, string hotkey)` | py `api.Chart.AddHotkey(hotkeyHandler: Callable[[ChartKeyboardEventArgs], None], hotkey: str) -> bool` — Adds an hotkey to the chart that will call the handler when pressed [CLI not supported; Cloud not supported] - method `bool AddHotkey(Action hotkeyHandler, Key key, ModifierKeys modifiers)` | py `api.Chart.AddHotkey(hotkeyHandler: Action, key: Key, modifiers: ModifierKeys) -> bool` — Adds an hotkey to the chart that will call the handler when pressed [CLI not supported; Cloud not supported] - method `bool AddHotkey(Action hotkeyHandler, string hotkey)` | py `api.Chart.AddHotkey(hotkeyHandler: Action, hotkey: str) -> bool` — Adds an hotkey to the chart that will call the handler when pressed [CLI not supported; Cloud not supported] - method `ChartRiskReward DrawRiskReward(string name, int barIndex1, int barIndex2, double entryPrice, OrderType orderType, TradeType tradeType, ChartRiskRewardType type)` | py `api.Chart.DrawRiskReward(name: str, barIndex1: int, barIndex2: int, entryPrice: float, orderType: OrderType, tradeType: TradeType, type: ChartRiskRewardType) -> ChartRiskReward` — Draws a risk reward. [CLI works differently; Cloud works differently] - method `ChartRiskReward DrawRiskReward(string name, DateTime time1, DateTime time2, double entryPrice, OrderType orderType, TradeType tradeType, ChartRiskRewardType type)` | py `api.Chart.DrawRiskReward(name: str, time1: DateTime, time2: DateTime, entryPrice: float, orderType: OrderType, tradeType: TradeType, type: ChartRiskRewardType) -> ChartRiskReward` — Draws a risk reward. [CLI works differently; Cloud works differently] - method `void ResetBarColor(long barIndex)` | py `api.Chart.ResetBarColor(barIndex: int) -> None` — Resets the color of the bar to the default. [CLI works differently; Cloud not supported] - method `void ResetBarColors()` | py `api.Chart.ResetBarColors() -> None` — Resets the colors of all the bars. [CLI works differently; Cloud not supported] - method `void ResetTickVolumeColor(long barIndex)` | py `api.Chart.ResetTickVolumeColor(barIndex: int) -> None` — Resets the color of the tick volume line to the default at the specified bar index. [CLI works differently; Cloud not supported] - method `void ResetTickVolumeColors()` | py `api.Chart.ResetTickVolumeColors() -> None` — Resets the color of all the tick volume bars. [CLI works differently; Cloud not supported] - method `void ScrollXBy(int bars)` | py `api.Chart.ScrollXBy(bars: int) -> None` — Scrolls the chart by the X-axis for the specified number of bars. [CLI works differently; Cloud not supported] - method `void ScrollXTo(int barIndex)` | py `api.Chart.ScrollXTo(barIndex: int) -> None` — Scrolls the chart by the X-axis to the bar with the specified index. [CLI works differently; Cloud not supported] - method `void ScrollXTo(DateTime time)` | py `api.Chart.ScrollXTo(time: DateTime) -> None` — Scrolls the chart by the X-axis to the specified date time. [CLI works differently; Cloud not supported] - method `void SetBarColor(long barIndex, Color color)` | py `api.Chart.SetBarColor(barIndex: int, color: Color) -> None` — Sets the color of the bar at the specified bar index. It will change the bar fill color and the outline color. [CLI works differently; Cloud not supported] - method `void SetBarFillColor(long barIndex, Color color)` | py `api.Chart.SetBarFillColor(barIndex: int, color: Color) -> None` — Sets the fill color of the bar at the specified bar index. [CLI works differently; Cloud not supported] - method `void SetBarOutlineColor(long barIndex, Color color)` | py `api.Chart.SetBarOutlineColor(barIndex: int, color: Color) -> None` — Sets the outline color of the bar at the specified bar index. [CLI works differently; Cloud not supported] - method `void SetTickVolumeColor(long barIndex, Color color)` | py `api.Chart.SetTickVolumeColor(barIndex: int, color: Color) -> None` — Sets the color of tick volume line at the specified bar index. [CLI works differently; Cloud not supported] - method `byte[] TakeChartshot()` | py `api.Chart.TakeChartshot() -> list[int] | None` — Takes a chartshot from the chart that indicator / cBot runs on. [CLI not supported; Cloud not supported] - method `bool TryChangeTimeFrame(TimeFrame timeFrame)` | py `api.Chart.TryChangeTimeFrame(timeFrame: TimeFrame) -> bool` — Changes the time frame on the chart. - method `bool TryChangeTimeFrameAndSymbol(TimeFrame timeFrame, string symbolName)` | py `api.Chart.TryChangeTimeFrameAndSymbol(timeFrame: TimeFrame, symbolName: str) -> bool` — Changes the time frame and the symbol on the chart. - property `Bars Bars {get;}` | py `api.Chart.Bars: Bars` — Gets the chart Bar objects. - property `int BarsTotal {get;}` | py `api.Chart.BarsTotal: int` — Gets the total number of the bars on the chart. - property `ChartType ChartType {get; set;}` | py `api.Chart.ChartType: ChartType` — Gets or sets the type of the chart - Bar, Candlesticks, Line or Dots chart. [CLI works differently; Cloud works differently] - property `ChartColorSettings ColorSettings {get;}` | py `api.Chart.ColorSettings: ChartColorSettings` — Gets the chart color settings. [CLI works differently; Cloud works differently] - property `ChartDisplaySettings DisplaySettings {get;}` | py `api.Chart.DisplaySettings: ChartDisplaySettings` — Gets the chart display settings. [CLI works differently; Cloud works differently] - property `int FirstVisibleBarIndex {get;}` | py `api.Chart.FirstVisibleBarIndex: int` — Gets the index of the first visible bar on the chart. [Cloud not supported] - property `Guid Id {get;}` | py `api.Chart.Id: Guid` — Gets the unique Id of Chart. - property `IReadonlyList IndicatorAreas {get;}` | py `api.Chart.IndicatorAreas: IReadonlyList[IndicatorArea]` — Gets the read only list of the indicator areas. - property `ChartIndicators Indicators {get;}` | py `api.Chart.Indicators: ChartIndicators` — Gets the ChartIndicators operating on a chart. - property `bool IsActive {get;}` | py `api.Chart.IsActive: bool` — True if Chart is active otherwise False - property `bool IsPriceScaleInverted {get; set;}` | py `api.Chart.IsPriceScaleInverted: bool` — Gets or sets the value indicating whether the price scale of the chart main area is inverted, so the higher prices are displayed lower. BottomY is still the lowest visible price and TopY the highest. In the silent backtesting, the CLI and the cloud the value is only stored and has no visual effect. - property `bool IsPriceToBarRatioLocked {get; set;}` | py `api.Chart.IsPriceToBarRatioLocked: bool` — Gets or sets the value indicating whether the price to bar ratio of the chart main area is locked. While locked, zooming keeps the same price distance per bar, the auto scale of the main area is disabled and the price scale mode is Regular. Locking switches Percent, IndexedTo100 and Logarithmic modes to Regular. In the silent backtesting, the CLI and the cloud the value is only stored and has no visual effect. - property `bool IsScalePriceChartOnly {get; set;}` | py `api.Chart.IsScalePriceChartOnly: bool` — Gets or sets the value indicating whether the auto scale of the chart main area fits only the bars, ignoring the overlay indicator outputs and the chart objects. In the silent backtesting, the CLI and the cloud the value is only stored and has no visual effect. - property `bool IsScrollingEnabled {get; set;}` | py `api.Chart.IsScrollingEnabled: bool` — Gets or sets the value indicating whether the scrolling is enabled or disabled for the chart. If disabled, then the chart is not affected by scrolling, dragging, scaling, or pressing any keyboard keys, but is still affected by resizing, zooming, and API calls for changing X or Y-axis positions on the chart. [CLI works differently; Cloud works differently] - property `bool IsVisible {get;}` | py `api.Chart.IsVisible: bool` — True if Chart is visible otherwise False. - property `int LastVisibleBarIndex {get;}` | py `api.Chart.LastVisibleBarIndex: int` — Gets the index of the last visible bar on the chart. [Cloud not supported] - property `int MaxBarWidth {get; set;}` | py `api.Chart.MaxBarWidth: int` — Gets or sets the maximum width of a single bar (the candle body) in pixels. When the chart is zoomed in, the bar body is never drawn wider than this value and the extra horizontal space is added to the gap between the bars. This is useful for footprint-style rendering where additional text must fit next to each bar. [CLI works differently; Cloud works differently] - property `int MaxVisibleBars {get;}` | py `api.Chart.MaxVisibleBars: int` — Gets the maximum number of the visible bars on the chart. [Cloud not supported] - property `ChartPriceAxisPosition PriceAxisPosition {get; set;}` | py `api.Chart.PriceAxisPosition: ChartPriceAxisPosition` — Gets or sets the side of the chart where the price axis of the main area and of all the indicator areas is displayed. In the silent backtesting, the CLI and the cloud the value is only stored and has no visual effect. - property `double PriceScaleBasePrice {get;}` | py `api.Chart.PriceScaleBasePrice: float` — Gets the base price used by the Percent and IndexedTo100 price scale modes, which is the close price of the first visible bar. Returns NaN in the Regular and Logarithmic modes, and in the silent backtesting, the CLI and the cloud. - property `ChartPriceScaleMode PriceScaleMode {get; set;}` | py `api.Chart.PriceScaleMode: ChartPriceScaleMode` — Gets or sets the price scale mode of the chart main area. Percent and IndexedTo100 enable the auto scale of the main area. While the price to bar ratio is locked only Regular can be set, and setting any other mode is ignored. Logarithmic works for every price, zero and negative prices are drawn on a logarithmic scale mirrored below zero. The Y-axis values used by the API stay in price units in every mode. In the silent backtesting, the CLI and the cloud the value is only stored and has no visual effect. - property `double PriceToBarRatio {get; set;}` | py `api.Chart.PriceToBarRatio: float` — Gets or sets the price to bar ratio of the chart main area: the price distance displayed per one bar width. Used while the price to bar ratio is locked. Values that are not greater than zero, NaN or infinite are ignored. Setting this value does not lock the ratio. - property `ChartRobots Robots {get;}` | py `api.Chart.Robots: ChartRobots` — Gets the ChartRobots operating on a chart. - property `Symbol Symbol {get;}` | py `api.Chart.Symbol: Symbol` — Gets the chart symbol. - property `string SymbolName {get;}` | py `api.Chart.SymbolName: str` — Gets the symbol name. - property `TimeFrame TimeFrame {get;}` | py `api.Chart.TimeFrame: TimeFrame` — Gets the time frame of the chart from 1 minute to 1 month. - property `int ZoomLevel {get; set;}` | py `api.Chart.ZoomLevel: int` — Gets or sets the zoom percent values. Valid values are from 5 to 500 with a step of 5, as can be seen on UI in the charts Zoom control. [CLI works differently; Cloud works differently] - event `event Action Activated;` | py `api.Chart.Activated += handler # handler(obj: ChartActivationChangedEventArgs)` — Occurs when chart is activated [CLI not supported; Cloud not supported] - event `event Action ChartTypeChanged;` | py `api.Chart.ChartTypeChanged += handler # handler(obj: ChartTypeEventArgs)` — Occurs when the chart type changes. [CLI works differently; Cloud not supported] - event `event Action ColorsChanged;` | py `api.Chart.ColorsChanged += handler # handler(obj: ChartColorEventArgs)` — Occurs when the chart color settings change. [CLI works differently; Cloud not supported] - event `event Action Deactivated;` | py `api.Chart.Deactivated += handler # handler(obj: ChartActivationChangedEventArgs)` — Occurs when chart is deactivated [CLI not supported; Cloud not supported] - event `event Action DisplaySettingsChanged;` | py `api.Chart.DisplaySettingsChanged += handler # handler(obj: ChartDisplaySettingsEventArgs)` — Occurs when one or several charts display settings change. [CLI works differently; Cloud not supported] - event `event Action IndicatorAreaAdded;` | py `api.Chart.IndicatorAreaAdded += handler # handler(obj: IndicatorAreaAddedEventArgs)` — Occurs when the indicator area is added. - event `event Action IndicatorAreaRemoved;` | py `api.Chart.IndicatorAreaRemoved += handler # handler(obj: IndicatorAreaRemovedEventArgs)` — Occurs when the indicator area is removed. - event `event Action KeyDown;` | py `api.Chart.KeyDown += handler # handler(obj: ChartKeyboardEventArgs)` — Occurs when a keyboard key pressed while the mouse cursor is over the chart [CLI not supported; Cloud not supported] - event `event Action VisibilityChanged;` | py `api.Chart.VisibilityChanged += handler # handler(obj: ChartVisibilityChangedEventArgs)` — Occurs when chart visibility changes. [CLI not supported; Cloud not supported] - event `event Action ZoomChanged;` | py `api.Chart.ZoomChanged += handler # handler(obj: ChartZoomEventArgs)` — Occurs when the chart zoom options change. [CLI works differently; Cloud not supported] ## class cAlgo.API.ChartActivationChangedEventArgs — Provides data for chart activated/deactivated events [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartActivationChangedEventArgs/index.md) - property `public Chart Chart {get;}` | py `chartActivationChangedEventArgs.Chart: Chart` — The chart that event belongs to [CLI not supported; Cloud not supported] ## interface cAlgo.API.ChartAndrewsPitchfork — Represents the Andrew's Pitchfork chart object. A tool that helps to identify possible support and resistance levels with the three parallel lines. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartAndrewsPitchfork/index.md) - method `double CalculateY(int barIndex)` | py `chartAndrewsPitchfork.CalculateY(barIndex: int) -> float` — Calculates Y-axis value corresponding the specified bar index. [CLI works differently; Cloud works differently] - method `double CalculateY(DateTime time)` | py `chartAndrewsPitchfork.CalculateY(time: DateTime) -> float` — Calculates Y-axis value corresponding the specified time value. [CLI works differently; Cloud works differently] - property `Color Color {get; set;}` | py `chartAndrewsPitchfork.Color: Color` — Gets or sets the chart object lines color. [CLI works differently; Cloud works differently] - property `LineStyle LineStyle {get; set;}` | py `chartAndrewsPitchfork.LineStyle: LineStyle` — Gets or sets the chart object lines style. [CLI works differently; Cloud works differently] - property `int Thickness {get; set;}` | py `chartAndrewsPitchfork.Thickness: int` — Gets or sets the chart object lines thickness. [CLI works differently; Cloud works differently] - property `DateTime Time1 {get; set;}` | py `chartAndrewsPitchfork.Time1: DateTime` — Gets or sets the time value for the Andrew's Pitchfork point 1. [CLI works differently; Cloud works differently] - property `DateTime Time2 {get; set;}` | py `chartAndrewsPitchfork.Time2: DateTime` — Gets or sets the time value for the Andrew's Pitchfork point 2. [CLI works differently; Cloud works differently] - property `DateTime Time3 {get; set;}` | py `chartAndrewsPitchfork.Time3: DateTime` — Gets or sets the time value for the Andrew's Pitchfork point 3. [CLI works differently; Cloud works differently] - property `double Y1 {get; set;}` | py `chartAndrewsPitchfork.Y1: float` — Gets or sets the Y-axis value for the Andrew's Pitchfork point 1. [CLI works differently; Cloud works differently] - property `double Y2 {get; set;}` | py `chartAndrewsPitchfork.Y2: float` — Gets or sets the Y-axis value for the Andrew's Pitchfork point 2. [CLI works differently; Cloud works differently] - property `double Y3 {get; set;}` | py `chartAndrewsPitchfork.Y3: float` — Gets or sets the Y-axis value for the Andrew's Pitchfork point 3. [CLI works differently; Cloud works differently] ## interface cAlgo.API.ChartArea — The Chart Area Interface. (https://help.ctrader.com/ctrader-algo/references/Chart/ChartArea/index.md) - method `void AddControl(ControlBase control)` | py `chartArea.AddControl(control: ControlBase) -> None` — Adds a chart control from the Control Base to the main chart area or to the indicator area. [CLI not supported; Cloud not supported] - method `void AddControl(ControlBase control, int barIndex, double y)` | py `chartArea.AddControl(control: ControlBase, barIndex: int, y: float) -> None` — Adds a chart control to chart / indicator area on absolute bar index and price (x,y) coordinates. [CLI not supported; Cloud not supported] - method `void AddControl(ControlBase control, DateTime time, double y)` | py `chartArea.AddControl(control: ControlBase, time: DateTime, y: float) -> None` — Adds a chart control to chart / indicator area on absolute time and price (x,y) coordinates. [CLI not supported; Cloud not supported] - method `void AddControl(ControlBase control, DateTime time)` | py `chartArea.AddControl(control: ControlBase, time: DateTime) -> None` — Adds a chart control to chart / indicator area on absolute time (x) coordinate. [CLI not supported; Cloud not supported] - method `void AddControl(ControlBase control, int barIndex)` | py `chartArea.AddControl(control: ControlBase, barIndex: int) -> None` — Adds a chart control to chart / indicator area on absolute bar index (x) coordinate. [CLI not supported; Cloud not supported] - method `void AddControl(ControlBase control, double y)` | py `chartArea.AddControl(control: ControlBase, y: float) -> None` — Adds a chart control to chart / indicator area on absolute price (y) coordinate. [CLI not supported; Cloud not supported] - method `double BarIndexToX(double barIndex)` | py `chartArea.BarIndexToX(barIndex: float) -> float` — Converts Bar Index to X coordinate. [CLI not supported; Cloud not supported] - method `ChartAndrewsPitchfork DrawAndrewsPitchfork(string name, DateTime time1, double y1, DateTime time2, double y2, DateTime time3, double y3, Color color)` | py `chartArea.DrawAndrewsPitchfork(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, time3: DateTime, y3: float, color: Color) -> ChartAndrewsPitchfork` — Draws an Andrew's pitchfork. [CLI works differently; Cloud works differently] - method `ChartAndrewsPitchfork DrawAndrewsPitchfork(string name, DateTime time1, double y1, DateTime time2, double y2, DateTime time3, double y3, Color color, int thickness)` | py `chartArea.DrawAndrewsPitchfork(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, time3: DateTime, y3: float, color: Color, thickness: int) -> ChartAndrewsPitchfork` — Draws an Andrew's pitchfork. [CLI works differently; Cloud works differently] - method `ChartAndrewsPitchfork DrawAndrewsPitchfork(string name, DateTime time1, double y1, DateTime time2, double y2, DateTime time3, double y3, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawAndrewsPitchfork(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, time3: DateTime, y3: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartAndrewsPitchfork` — Draws an Andrew's pitchfork. [CLI works differently; Cloud works differently] - method `ChartAndrewsPitchfork DrawAndrewsPitchfork(string name, int barIndex1, double y1, int barIndex2, double y2, int barIndex3, double y3, Color color)` | py `chartArea.DrawAndrewsPitchfork(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, barIndex3: int, y3: float, color: Color) -> ChartAndrewsPitchfork` — Draws an Andrew's pitchfork. [CLI works differently; Cloud works differently] - method `ChartAndrewsPitchfork DrawAndrewsPitchfork(string name, int barIndex1, double y1, int barIndex2, double y2, int barIndex3, double y3, Color color, int thickness)` | py `chartArea.DrawAndrewsPitchfork(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, barIndex3: int, y3: float, color: Color, thickness: int) -> ChartAndrewsPitchfork` — Draws an Andrews pitchfork. [CLI works differently; Cloud works differently] - method `ChartAndrewsPitchfork DrawAndrewsPitchfork(string name, int barIndex1, double y1, int barIndex2, double y2, int barIndex3, double y3, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawAndrewsPitchfork(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, barIndex3: int, y3: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartAndrewsPitchfork` — Draws an Andrew's pitchfork. [CLI works differently; Cloud works differently] - method `ChartArrow DrawArrow(string name, DateTime time1, double y1, DateTime time2, double y2, Color color)` | py `chartArea.DrawArrow(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color) -> ChartArrow` — Draws an arrow. [CLI works differently; Cloud works differently] - method `ChartArrow DrawArrow(string name, DateTime time1, double y1, DateTime time2, double y2, Color color, int thickness)` | py `chartArea.DrawArrow(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color, thickness: int) -> ChartArrow` — Draws an arrow. [CLI works differently; Cloud works differently] - method `ChartArrow DrawArrow(string name, DateTime time1, double y1, DateTime time2, double y2, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawArrow(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartArrow` — Draws an arrow. [CLI works differently; Cloud works differently] - method `ChartArrow DrawArrow(string name, int barIndex1, double y1, int barIndex2, double y2, Color color)` | py `chartArea.DrawArrow(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color) -> ChartArrow` — Draws an arrow. [CLI works differently; Cloud works differently] - method `ChartArrow DrawArrow(string name, int barIndex1, double y1, int barIndex2, double y2, Color color, int thickness)` | py `chartArea.DrawArrow(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color, thickness: int) -> ChartArrow` — Draws an arrow. [CLI works differently; Cloud works differently] - method `ChartArrow DrawArrow(string name, int barIndex1, double y1, int barIndex2, double y2, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawArrow(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartArrow` — Draws an arrow. [CLI works differently; Cloud works differently] - method `ChartElliottCorrection DrawElliottCorrection(string name, ChartPoint origin, ChartPoint waveA, ChartPoint waveB, ChartPoint waveC, Color color)` | py `chartArea.DrawElliottCorrection(name: str, origin: ChartPoint, waveA: ChartPoint, waveB: ChartPoint, waveC: ChartPoint, color: Color) -> ChartElliottCorrection` — Draws an Elliott Correction Wave (A-B-C). [CLI works differently; Cloud works differently] - method `ChartElliottCorrection DrawElliottCorrection(string name, ChartPoint origin, ChartPoint waveA, ChartPoint waveB, ChartPoint waveC, Color color, int thickness)` | py `chartArea.DrawElliottCorrection(name: str, origin: ChartPoint, waveA: ChartPoint, waveB: ChartPoint, waveC: ChartPoint, color: Color, thickness: int) -> ChartElliottCorrection` — Draws an Elliott Correction Wave (A-B-C). [CLI works differently; Cloud works differently] - method `ChartElliottCorrection DrawElliottCorrection(string name, ChartPoint origin, ChartPoint waveA, ChartPoint waveB, ChartPoint waveC, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawElliottCorrection(name: str, origin: ChartPoint, waveA: ChartPoint, waveB: ChartPoint, waveC: ChartPoint, color: Color, thickness: int, lineStyle: LineStyle) -> ChartElliottCorrection` — Draws an Elliott Correction Wave (A-B-C). [CLI works differently; Cloud works differently] - method `ChartElliottDoubleCombo DrawElliottDoubleCombo(string name, ChartPoint origin, ChartPoint waveW, ChartPoint waveX, ChartPoint waveY, Color color)` | py `chartArea.DrawElliottDoubleCombo(name: str, origin: ChartPoint, waveW: ChartPoint, waveX: ChartPoint, waveY: ChartPoint, color: Color) -> ChartElliottDoubleCombo` — Draws an Elliott Double Combo Wave (W-X-Y). [CLI works differently; Cloud works differently] - method `ChartElliottDoubleCombo DrawElliottDoubleCombo(string name, ChartPoint origin, ChartPoint waveW, ChartPoint waveX, ChartPoint waveY, Color color, int thickness)` | py `chartArea.DrawElliottDoubleCombo(name: str, origin: ChartPoint, waveW: ChartPoint, waveX: ChartPoint, waveY: ChartPoint, color: Color, thickness: int) -> ChartElliottDoubleCombo` — Draws an Elliott Double Combo Wave (W-X-Y). [CLI works differently; Cloud works differently] - method `ChartElliottDoubleCombo DrawElliottDoubleCombo(string name, ChartPoint origin, ChartPoint waveW, ChartPoint waveX, ChartPoint waveY, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawElliottDoubleCombo(name: str, origin: ChartPoint, waveW: ChartPoint, waveX: ChartPoint, waveY: ChartPoint, color: Color, thickness: int, lineStyle: LineStyle) -> ChartElliottDoubleCombo` — Draws an Elliott Double Combo Wave (W-X-Y). [CLI works differently; Cloud works differently] - method `ChartElliottImpulse DrawElliottImpulse(string name, ChartPoint origin, ChartPoint wave1, ChartPoint wave2, ChartPoint wave3, ChartPoint wave4, ChartPoint wave5, Color color)` | py `chartArea.DrawElliottImpulse(name: str, origin: ChartPoint, wave1: ChartPoint, wave2: ChartPoint, wave3: ChartPoint, wave4: ChartPoint, wave5: ChartPoint, color: Color) -> ChartElliottImpulse` — Draws an Elliott Impulse Wave (1-2-3-4-5). [CLI works differently; Cloud works differently] - method `ChartElliottImpulse DrawElliottImpulse(string name, ChartPoint origin, ChartPoint wave1, ChartPoint wave2, ChartPoint wave3, ChartPoint wave4, ChartPoint wave5, Color color, int thickness)` | py `chartArea.DrawElliottImpulse(name: str, origin: ChartPoint, wave1: ChartPoint, wave2: ChartPoint, wave3: ChartPoint, wave4: ChartPoint, wave5: ChartPoint, color: Color, thickness: int) -> ChartElliottImpulse` — Draws an Elliott Impulse Wave (1-2-3-4-5). [CLI works differently; Cloud works differently] - method `ChartElliottImpulse DrawElliottImpulse(string name, ChartPoint origin, ChartPoint wave1, ChartPoint wave2, ChartPoint wave3, ChartPoint wave4, ChartPoint wave5, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawElliottImpulse(name: str, origin: ChartPoint, wave1: ChartPoint, wave2: ChartPoint, wave3: ChartPoint, wave4: ChartPoint, wave5: ChartPoint, color: Color, thickness: int, lineStyle: LineStyle) -> ChartElliottImpulse` — Draws an Elliott Impulse Wave (1-2-3-4-5). [CLI works differently; Cloud works differently] - method `ChartElliottTriangle DrawElliottTriangle(string name, ChartPoint origin, ChartPoint waveA, ChartPoint waveB, ChartPoint waveC, ChartPoint waveD, ChartPoint waveE, Color color)` | py `chartArea.DrawElliottTriangle(name: str, origin: ChartPoint, waveA: ChartPoint, waveB: ChartPoint, waveC: ChartPoint, waveD: ChartPoint, waveE: ChartPoint, color: Color) -> ChartElliottTriangle` — Draws an Elliott Triangle Wave (A-B-C-D-E). [CLI works differently; Cloud works differently] - method `ChartElliottTriangle DrawElliottTriangle(string name, ChartPoint origin, ChartPoint waveA, ChartPoint waveB, ChartPoint waveC, ChartPoint waveD, ChartPoint waveE, Color color, int thickness)` | py `chartArea.DrawElliottTriangle(name: str, origin: ChartPoint, waveA: ChartPoint, waveB: ChartPoint, waveC: ChartPoint, waveD: ChartPoint, waveE: ChartPoint, color: Color, thickness: int) -> ChartElliottTriangle` — Draws an Elliott Triangle Wave (A-B-C-D-E). [CLI works differently; Cloud works differently] - method `ChartElliottTriangle DrawElliottTriangle(string name, ChartPoint origin, ChartPoint waveA, ChartPoint waveB, ChartPoint waveC, ChartPoint waveD, ChartPoint waveE, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawElliottTriangle(name: str, origin: ChartPoint, waveA: ChartPoint, waveB: ChartPoint, waveC: ChartPoint, waveD: ChartPoint, waveE: ChartPoint, color: Color, thickness: int, lineStyle: LineStyle) -> ChartElliottTriangle` — Draws an Elliott Triangle Wave (A-B-C-D-E). [CLI works differently; Cloud works differently] - method `ChartElliottTripleCombo DrawElliottTripleCombo(string name, ChartPoint origin, ChartPoint waveW, ChartPoint waveX1, ChartPoint waveY, ChartPoint waveX2, ChartPoint waveZ, Color color)` | py `chartArea.DrawElliottTripleCombo(name: str, origin: ChartPoint, waveW: ChartPoint, waveX1: ChartPoint, waveY: ChartPoint, waveX2: ChartPoint, waveZ: ChartPoint, color: Color) -> ChartElliottTripleCombo` — Draws an Elliott Triple Combo Wave (W-X-Y-X-Z). [CLI works differently; Cloud works differently] - method `ChartElliottTripleCombo DrawElliottTripleCombo(string name, ChartPoint origin, ChartPoint waveW, ChartPoint waveX1, ChartPoint waveY, ChartPoint waveX2, ChartPoint waveZ, Color color, int thickness)` | py `chartArea.DrawElliottTripleCombo(name: str, origin: ChartPoint, waveW: ChartPoint, waveX1: ChartPoint, waveY: ChartPoint, waveX2: ChartPoint, waveZ: ChartPoint, color: Color, thickness: int) -> ChartElliottTripleCombo` — Draws an Elliott Triple Combo Wave (W-X-Y-X-Z). [CLI works differently; Cloud works differently] - method `ChartElliottTripleCombo DrawElliottTripleCombo(string name, ChartPoint origin, ChartPoint waveW, ChartPoint waveX1, ChartPoint waveY, ChartPoint waveX2, ChartPoint waveZ, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawElliottTripleCombo(name: str, origin: ChartPoint, waveW: ChartPoint, waveX1: ChartPoint, waveY: ChartPoint, waveX2: ChartPoint, waveZ: ChartPoint, color: Color, thickness: int, lineStyle: LineStyle) -> ChartElliottTripleCombo` — Draws an Elliott Triple Combo Wave (W-X-Y-X-Z). [CLI works differently; Cloud works differently] - method `ChartEllipse DrawEllipse(string name, DateTime time1, double y1, DateTime time2, double y2, Color color)` | py `chartArea.DrawEllipse(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color) -> ChartEllipse` — Draws an ellipse. [CLI works differently; Cloud works differently] - method `ChartEllipse DrawEllipse(string name, DateTime time1, double y1, DateTime time2, double y2, Color color, int thickness)` | py `chartArea.DrawEllipse(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color, thickness: int) -> ChartEllipse` — Draws an ellipse. [CLI works differently; Cloud works differently] - method `ChartEllipse DrawEllipse(string name, DateTime time1, double y1, DateTime time2, double y2, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawEllipse(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartEllipse` — Draws an ellipse. [CLI works differently; Cloud works differently] - method `ChartEllipse DrawEllipse(string name, int barIndex1, double y1, int barIndex2, double y2, Color color)` | py `chartArea.DrawEllipse(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color) -> ChartEllipse` — Draws an ellipse. [CLI works differently; Cloud works differently] - method `ChartEllipse DrawEllipse(string name, int barIndex1, double y1, int barIndex2, double y2, Color color, int thickness)` | py `chartArea.DrawEllipse(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color, thickness: int) -> ChartEllipse` — Draws an ellipse. [CLI works differently; Cloud works differently] - method `ChartEllipse DrawEllipse(string name, int barIndex1, double y1, int barIndex2, double y2, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawEllipse(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartEllipse` — Draws an ellipse. [CLI works differently; Cloud works differently] - method `ChartEquidistantChannel DrawEquidistantChannel(string name, DateTime time1, double y1, DateTime time2, double y2, double channelHeight, Color color)` | py `chartArea.DrawEquidistantChannel(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, channelHeight: float, color: Color) -> ChartEquidistantChannel` — Draws an equidistant channel. [CLI works differently; Cloud works differently] - method `ChartEquidistantChannel DrawEquidistantChannel(string name, DateTime time1, double y1, DateTime time2, double y2, double channelHeight, Color color, int thickness)` | py `chartArea.DrawEquidistantChannel(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, channelHeight: float, color: Color, thickness: int) -> ChartEquidistantChannel` — Draws an equidistant channel. [CLI works differently; Cloud works differently] - method `ChartEquidistantChannel DrawEquidistantChannel(string name, DateTime time1, double y1, DateTime time2, double y2, double channelHeight, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawEquidistantChannel(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, channelHeight: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartEquidistantChannel` — Draws an equidistant channel. [CLI works differently; Cloud works differently] - method `ChartEquidistantChannel DrawEquidistantChannel(string name, int barIndex1, double y1, int barIndex2, double y2, double channelHeight, Color color)` | py `chartArea.DrawEquidistantChannel(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, channelHeight: float, color: Color) -> ChartEquidistantChannel` — Draws an equidistant channel. [CLI works differently; Cloud works differently] - method `ChartEquidistantChannel DrawEquidistantChannel(string name, int barIndex1, double y1, int barIndex2, double y2, double channelHeight, Color color, int thickness)` | py `chartArea.DrawEquidistantChannel(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, channelHeight: float, color: Color, thickness: int) -> ChartEquidistantChannel` — Draws an equidistant channel. [CLI works differently; Cloud works differently] - method `ChartEquidistantChannel DrawEquidistantChannel(string name, int barIndex1, double y1, int barIndex2, double y2, double channelHeight, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawEquidistantChannel(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, channelHeight: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartEquidistantChannel` — Draws an equidistant channel. [CLI works differently; Cloud works differently] - method `ChartFibonacciArc DrawFibonacciArc(string name, DateTime time1, double y1, DateTime time2, double y2, Color color)` | py `chartArea.DrawFibonacciArc(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color) -> ChartFibonacciArc` — Draws a Fibonacci arc. [CLI works differently; Cloud works differently] - method `ChartFibonacciArc DrawFibonacciArc(string name, DateTime time1, double y1, DateTime time2, double y2, Color color, int thickness)` | py `chartArea.DrawFibonacciArc(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color, thickness: int) -> ChartFibonacciArc` — Draws a Fibonacci arc. [CLI works differently; Cloud works differently] - method `ChartFibonacciArc DrawFibonacciArc(string name, DateTime time1, double y1, DateTime time2, double y2, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawFibonacciArc(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartFibonacciArc` — Draws a Fibonacci arc. [CLI works differently; Cloud works differently] - method `ChartFibonacciArc DrawFibonacciArc(string name, int barIndex1, double y1, int barIndex2, double y2, Color color)` | py `chartArea.DrawFibonacciArc(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color) -> ChartFibonacciArc` — Draws a Fibonacci arc. [CLI works differently; Cloud works differently] - method `ChartFibonacciArc DrawFibonacciArc(string name, int barIndex1, double y1, int barIndex2, double y2, Color color, int thickness)` | py `chartArea.DrawFibonacciArc(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color, thickness: int) -> ChartFibonacciArc` — Draws a Fibonacci arc. [CLI works differently; Cloud works differently] - method `ChartFibonacciArc DrawFibonacciArc(string name, int barIndex1, double y1, int barIndex2, double y2, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawFibonacciArc(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartFibonacciArc` — Draws a Fibonacci arc. [CLI works differently; Cloud works differently] - method `ChartFibonacciExpansion DrawFibonacciExpansion(string name, DateTime time1, double y1, DateTime time2, double y2, DateTime time3, double y3, Color color)` | py `chartArea.DrawFibonacciExpansion(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, time3: DateTime, y3: float, color: Color) -> ChartFibonacciExpansion` — Draws a Fibonacci expansion. [CLI works differently; Cloud works differently] - method `ChartFibonacciExpansion DrawFibonacciExpansion(string name, DateTime time1, double y1, DateTime time2, double y2, DateTime time3, double y3, Color color, int thickness)` | py `chartArea.DrawFibonacciExpansion(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, time3: DateTime, y3: float, color: Color, thickness: int) -> ChartFibonacciExpansion` — Draws a Fibonacci expansion. [CLI works differently; Cloud works differently] - method `ChartFibonacciExpansion DrawFibonacciExpansion(string name, DateTime time1, double y1, DateTime time2, double y2, DateTime time3, double y3, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawFibonacciExpansion(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, time3: DateTime, y3: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartFibonacciExpansion` — Draws a Fibonacci expansion. [CLI works differently; Cloud works differently] - method `ChartFibonacciExpansion DrawFibonacciExpansion(string name, int barIndex1, double y1, int barIndex2, double y2, int barIndex3, double y3, Color color)` | py `chartArea.DrawFibonacciExpansion(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, barIndex3: int, y3: float, color: Color) -> ChartFibonacciExpansion` — Draws a Fibonacci expansion. [CLI works differently; Cloud works differently] - method `ChartFibonacciExpansion DrawFibonacciExpansion(string name, int barIndex1, double y1, int barIndex2, double y2, int barIndex3, double y3, Color color, int thickness)` | py `chartArea.DrawFibonacciExpansion(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, barIndex3: int, y3: float, color: Color, thickness: int) -> ChartFibonacciExpansion` — Draws a Fibonacci expansion. [CLI works differently; Cloud works differently] - method `ChartFibonacciExpansion DrawFibonacciExpansion(string name, int barIndex1, double y1, int barIndex2, double y2, int barIndex3, double y3, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawFibonacciExpansion(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, barIndex3: int, y3: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartFibonacciExpansion` — Draws a Fibonacci expansion. [CLI works differently; Cloud works differently] - method `ChartFibonacciFan DrawFibonacciFan(string name, DateTime time1, double y1, DateTime time2, double y2, Color color)` | py `chartArea.DrawFibonacciFan(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color) -> ChartFibonacciFan` — Draws a Fibonacci fan. [CLI works differently; Cloud works differently] - method `ChartFibonacciFan DrawFibonacciFan(string name, DateTime time1, double y1, DateTime time2, double y2, Color color, int thickness)` | py `chartArea.DrawFibonacciFan(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color, thickness: int) -> ChartFibonacciFan` — Draws a Fibonacci fan. [CLI works differently; Cloud works differently] - method `ChartFibonacciFan DrawFibonacciFan(string name, DateTime time1, double y1, DateTime time2, double y2, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawFibonacciFan(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartFibonacciFan` — Draws a Fibonacci fan. [CLI works differently; Cloud works differently] - method `ChartFibonacciFan DrawFibonacciFan(string name, int barIndex1, double y1, int barIndex2, double y2, Color color)` | py `chartArea.DrawFibonacciFan(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color) -> ChartFibonacciFan` — Draws a Fibonacci fan. [CLI works differently; Cloud works differently] - method `ChartFibonacciFan DrawFibonacciFan(string name, int barIndex1, double y1, int barIndex2, double y2, Color color, int thickness)` | py `chartArea.DrawFibonacciFan(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color, thickness: int) -> ChartFibonacciFan` — Draws a Fibonacci fan. [CLI works differently; Cloud works differently] - method `ChartFibonacciFan DrawFibonacciFan(string name, int barIndex1, double y1, int barIndex2, double y2, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawFibonacciFan(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartFibonacciFan` — Draws a Fibonacci fan. [CLI works differently; Cloud works differently] - method `ChartFibonacciRetracement DrawFibonacciRetracement(string name, DateTime time1, double y1, DateTime time2, double y2, Color color)` | py `chartArea.DrawFibonacciRetracement(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color) -> ChartFibonacciRetracement` — Draws a Fibonacci retracement. [CLI works differently; Cloud works differently] - method `ChartFibonacciRetracement DrawFibonacciRetracement(string name, DateTime time1, double y1, DateTime time2, double y2, Color color, int thickness)` | py `chartArea.DrawFibonacciRetracement(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color, thickness: int) -> ChartFibonacciRetracement` — Draws a Fibonacci retracement. [CLI works differently; Cloud works differently] - method `ChartFibonacciRetracement DrawFibonacciRetracement(string name, DateTime time1, double y1, DateTime time2, double y2, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawFibonacciRetracement(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartFibonacciRetracement` — Draws a Fibonacci retracement. [CLI works differently; Cloud works differently] - method `ChartFibonacciRetracement DrawFibonacciRetracement(string name, int barIndex1, double y1, int barIndex2, double y2, Color color)` | py `chartArea.DrawFibonacciRetracement(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color) -> ChartFibonacciRetracement` — Draws a Fibonacci retracement. [CLI works differently; Cloud works differently] - method `ChartFibonacciRetracement DrawFibonacciRetracement(string name, int barIndex1, double y1, int barIndex2, double y2, Color color, int thickness)` | py `chartArea.DrawFibonacciRetracement(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color, thickness: int) -> ChartFibonacciRetracement` — Draws a Fibonacci retracement. [CLI works differently; Cloud works differently] - method `ChartFibonacciRetracement DrawFibonacciRetracement(string name, int barIndex1, double y1, int barIndex2, double y2, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawFibonacciRetracement(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartFibonacciRetracement` — Draws a Fibonacci retracement. [CLI works differently; Cloud works differently] - method `ChartFibonacciTimezones DrawFibonacciTimezones(string name, DateTime time1, double y1, DateTime time2, double y2, Color color)` | py `chartArea.DrawFibonacciTimezones(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color) -> ChartFibonacciTimezones` — Draws a Fibonacci timezones. [CLI works differently; Cloud works differently] - method `ChartFibonacciTimezones DrawFibonacciTimezones(string name, DateTime time1, double y1, DateTime time2, double y2, Color color, int thickness)` | py `chartArea.DrawFibonacciTimezones(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color, thickness: int) -> ChartFibonacciTimezones` — Draws a Fibonacci timezones. [CLI works differently; Cloud works differently] - method `ChartFibonacciTimezones DrawFibonacciTimezones(string name, DateTime time1, double y1, DateTime time2, double y2, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawFibonacciTimezones(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartFibonacciTimezones` — Draws a Fibonacci timezones. [CLI works differently; Cloud works differently] - method `ChartFibonacciTimezones DrawFibonacciTimezones(string name, int barIndex1, double y1, int barIndex2, double y2, Color color)` | py `chartArea.DrawFibonacciTimezones(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color) -> ChartFibonacciTimezones` — Draws a Fibonacci timezones. [CLI works differently; Cloud works differently] - method `ChartFibonacciTimezones DrawFibonacciTimezones(string name, int barIndex1, double y1, int barIndex2, double y2, Color color, int thickness)` | py `chartArea.DrawFibonacciTimezones(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color, thickness: int) -> ChartFibonacciTimezones` — Draws a Fibonacci timezones. [CLI works differently; Cloud works differently] - method `ChartFibonacciTimezones DrawFibonacciTimezones(string name, int barIndex1, double y1, int barIndex2, double y2, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawFibonacciTimezones(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartFibonacciTimezones` — Draws a Fibonacci timezones. [CLI works differently; Cloud works differently] - method `ChartGannBox DrawGannBox(string name, DateTime time1, double y1, DateTime time2, double y2, Color color)` | py `chartArea.DrawGannBox(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color) -> ChartGannBox` — Draws a Gann box. [CLI works differently; Cloud works differently] - method `ChartGannBox DrawGannBox(string name, DateTime time1, double y1, DateTime time2, double y2, Color color, int thickness)` | py `chartArea.DrawGannBox(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color, thickness: int) -> ChartGannBox` — Draws a Gann box. [CLI works differently; Cloud works differently] - method `ChartGannBox DrawGannBox(string name, DateTime time1, double y1, DateTime time2, double y2, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawGannBox(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartGannBox` — Draws a Gann box. [CLI works differently; Cloud works differently] - method `ChartGannBox DrawGannBox(string name, int barIndex1, double y1, int barIndex2, double y2, Color color)` | py `chartArea.DrawGannBox(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color) -> ChartGannBox` — Draws a Gann box. [CLI works differently; Cloud works differently] - method `ChartGannBox DrawGannBox(string name, int barIndex1, double y1, int barIndex2, double y2, Color color, int thickness)` | py `chartArea.DrawGannBox(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color, thickness: int) -> ChartGannBox` — Draws a Gann box. [CLI works differently; Cloud works differently] - method `ChartGannBox DrawGannBox(string name, int barIndex1, double y1, int barIndex2, double y2, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawGannBox(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartGannBox` — Draws a Gann box. [CLI works differently; Cloud works differently] - method `ChartGannFan DrawGannFan(string name, DateTime time1, double y1, DateTime time2, double y2, Color color)` | py `chartArea.DrawGannFan(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color) -> ChartGannFan` — Draws a Gann fan. [CLI works differently; Cloud works differently] - method `ChartGannFan DrawGannFan(string name, DateTime time1, double y1, DateTime time2, double y2, Color color, int thickness)` | py `chartArea.DrawGannFan(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color, thickness: int) -> ChartGannFan` — Draws a Gann fan. [CLI works differently; Cloud works differently] - method `ChartGannFan DrawGannFan(string name, DateTime time1, double y1, DateTime time2, double y2, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawGannFan(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartGannFan` — Draws a Gann fan. [CLI works differently; Cloud works differently] - method `ChartGannFan DrawGannFan(string name, int barIndex1, double y1, int barIndex2, double y2, Color color)` | py `chartArea.DrawGannFan(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color) -> ChartGannFan` — Draws a Gann fan. [CLI works differently; Cloud works differently] - method `ChartGannFan DrawGannFan(string name, int barIndex1, double y1, int barIndex2, double y2, Color color, int thickness)` | py `chartArea.DrawGannFan(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color, thickness: int) -> ChartGannFan` — Draws a Gann fan. [CLI works differently; Cloud works differently] - method `ChartGannFan DrawGannFan(string name, int barIndex1, double y1, int barIndex2, double y2, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawGannFan(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartGannFan` — Draws a Gann fan. [CLI works differently; Cloud works differently] - method `ChartGannSquare DrawGannSquare(string name, DateTime time1, double y1, DateTime time2, double y2, Color color)` | py `chartArea.DrawGannSquare(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color) -> ChartGannSquare` — Draws a Gann square. [CLI works differently; Cloud works differently] - method `ChartGannSquare DrawGannSquare(string name, DateTime time1, double y1, DateTime time2, double y2, Color color, int thickness)` | py `chartArea.DrawGannSquare(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color, thickness: int) -> ChartGannSquare` — Draws a Gann square. [CLI works differently; Cloud works differently] - method `ChartGannSquare DrawGannSquare(string name, DateTime time1, double y1, DateTime time2, double y2, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawGannSquare(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartGannSquare` — Draws a Gann square. [CLI works differently; Cloud works differently] - method `ChartGannSquare DrawGannSquare(string name, int barIndex1, double y1, int barIndex2, double y2, Color color)` | py `chartArea.DrawGannSquare(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color) -> ChartGannSquare` — Draws a Gann square. [CLI works differently; Cloud works differently] - method `ChartGannSquare DrawGannSquare(string name, int barIndex1, double y1, int barIndex2, double y2, Color color, int thickness)` | py `chartArea.DrawGannSquare(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color, thickness: int) -> ChartGannSquare` — Draws a Gann square. [CLI works differently; Cloud works differently] - method `ChartGannSquare DrawGannSquare(string name, int barIndex1, double y1, int barIndex2, double y2, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawGannSquare(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartGannSquare` — Draws a Gann square. [CLI works differently; Cloud works differently] - method `ChartGannSquareFixed DrawGannSquareFixed(string name, DateTime time1, double y1, DateTime time2, double y2, Color color)` | py `chartArea.DrawGannSquareFixed(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color) -> ChartGannSquareFixed` — Draws a Gann square fixed. [CLI works differently; Cloud works differently] - method `ChartGannSquareFixed DrawGannSquareFixed(string name, DateTime time1, double y1, DateTime time2, double y2, Color color, int thickness)` | py `chartArea.DrawGannSquareFixed(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color, thickness: int) -> ChartGannSquareFixed` — Draws a Gann square fixed. [CLI works differently; Cloud works differently] - method `ChartGannSquareFixed DrawGannSquareFixed(string name, DateTime time1, double y1, DateTime time2, double y2, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawGannSquareFixed(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartGannSquareFixed` — Draws a Gann square fixed. [CLI works differently; Cloud works differently] - method `ChartGannSquareFixed DrawGannSquareFixed(string name, int barIndex1, double y1, int barIndex2, double y2, Color color)` | py `chartArea.DrawGannSquareFixed(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color) -> ChartGannSquareFixed` — Draws a Gann square fixed. [CLI works differently; Cloud works differently] - method `ChartGannSquareFixed DrawGannSquareFixed(string name, int barIndex1, double y1, int barIndex2, double y2, Color color, int thickness)` | py `chartArea.DrawGannSquareFixed(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color, thickness: int) -> ChartGannSquareFixed` — Draws a Gann square fixed. [CLI works differently; Cloud works differently] - method `ChartGannSquareFixed DrawGannSquareFixed(string name, int barIndex1, double y1, int barIndex2, double y2, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawGannSquareFixed(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartGannSquareFixed` — Draws a Gann square fixed. [CLI works differently; Cloud works differently] - method `ChartHorizontalLine DrawHorizontalLine(string name, double y, Color color)` | py `chartArea.DrawHorizontalLine(name: str, y: float, color: Color) -> ChartHorizontalLine` — Draws a horizontal line. [CLI works differently; Cloud works differently] - method `ChartHorizontalLine DrawHorizontalLine(string name, double y, Color color, int thickness)` | py `chartArea.DrawHorizontalLine(name: str, y: float, color: Color, thickness: int) -> ChartHorizontalLine` — Draws a horizontal line. [CLI works differently; Cloud works differently] - method `ChartHorizontalLine DrawHorizontalLine(string name, double y, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawHorizontalLine(name: str, y: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartHorizontalLine` — Draws a horizontal line. [CLI works differently; Cloud works differently] - method `ChartIcon DrawIcon(string name, ChartIconType iconType, DateTime time, double y, Color color)` | py `chartArea.DrawIcon(name: str, iconType: ChartIconType, time: DateTime, y: float, color: Color) -> ChartIcon` — Draws an icon. [CLI works differently; Cloud works differently] - method `ChartIcon DrawIcon(string name, ChartIconType iconType, int barIndex, double y, Color color)` | py `chartArea.DrawIcon(name: str, iconType: ChartIconType, barIndex: int, y: float, color: Color) -> ChartIcon` — Draws an icon. [CLI works differently; Cloud works differently] - method `ChartRectangle DrawRectangle(string name, DateTime time1, double y1, DateTime time2, double y2, Color color)` | py `chartArea.DrawRectangle(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color) -> ChartRectangle` — Draws a rectangle. [CLI works differently; Cloud works differently] - method `ChartRectangle DrawRectangle(string name, DateTime time1, double y1, DateTime time2, double y2, Color color, int thickness)` | py `chartArea.DrawRectangle(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color, thickness: int) -> ChartRectangle` — Draws a rectangle. [CLI works differently; Cloud works differently] - method `ChartRectangle DrawRectangle(string name, DateTime time1, double y1, DateTime time2, double y2, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawRectangle(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartRectangle` — Draws a rectangle. [CLI works differently; Cloud works differently] - method `ChartRectangle DrawRectangle(string name, int barIndex1, double y1, int barIndex2, double y2, Color color)` | py `chartArea.DrawRectangle(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color) -> ChartRectangle` — Draws a rectangle. [CLI works differently; Cloud works differently] - method `ChartRectangle DrawRectangle(string name, int barIndex1, double y1, int barIndex2, double y2, Color color, int thickness)` | py `chartArea.DrawRectangle(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color, thickness: int) -> ChartRectangle` — Draws a rectangle. [CLI works differently; Cloud works differently] - method `ChartRectangle DrawRectangle(string name, int barIndex1, double y1, int barIndex2, double y2, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawRectangle(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartRectangle` — Draws a rectangle. [CLI works differently; Cloud works differently] - method `ChartStaticText DrawStaticText(string name, string text, VerticalAlignment verticalAlignment, HorizontalAlignment horizontalAlignment, Color color)` | py `chartArea.DrawStaticText(name: str, text: str, verticalAlignment: VerticalAlignment, horizontalAlignment: HorizontalAlignment, color: Color) -> ChartStaticText` — Draws the static text. [CLI works differently; Cloud works differently] - method `ChartText DrawText(string name, string text, DateTime time, double y, Color color)` | py `chartArea.DrawText(name: str, text: str, time: DateTime, y: float, color: Color) -> ChartText` — Draws the text. [CLI works differently; Cloud works differently] - method `ChartText DrawText(string name, string text, int barIndex, double y, Color color)` | py `chartArea.DrawText(name: str, text: str, barIndex: int, y: float, color: Color) -> ChartText` — Draws the text. [CLI works differently; Cloud works differently] - method `ChartTrendLine DrawTrendLine(string name, DateTime time1, double y1, DateTime time2, double y2, Color color)` | py `chartArea.DrawTrendLine(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color) -> ChartTrendLine` — Draws a trend line. [CLI works differently; Cloud works differently] - method `ChartTrendLine DrawTrendLine(string name, DateTime time1, double y1, DateTime time2, double y2, Color color, int thickness)` | py `chartArea.DrawTrendLine(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color, thickness: int) -> ChartTrendLine` — Draws a trend line. [CLI works differently; Cloud works differently] - method `ChartTrendLine DrawTrendLine(string name, DateTime time1, double y1, DateTime time2, double y2, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawTrendLine(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartTrendLine` — Draws a trend line. [CLI works differently; Cloud works differently] - method `ChartTrendLine DrawTrendLine(string name, int barIndex1, double y1, int barIndex2, double y2, Color color)` | py `chartArea.DrawTrendLine(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color) -> ChartTrendLine` — Draws a trend line. [CLI works differently; Cloud works differently] - method `ChartTrendLine DrawTrendLine(string name, int barIndex1, double y1, int barIndex2, double y2, Color color, int thickness)` | py `chartArea.DrawTrendLine(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color, thickness: int) -> ChartTrendLine` — Draws a trend line. [CLI works differently; Cloud works differently] - method `ChartTrendLine DrawTrendLine(string name, int barIndex1, double y1, int barIndex2, double y2, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawTrendLine(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartTrendLine` — Draws a trend line. [CLI works differently; Cloud works differently] - method `ChartTriangle DrawTriangle(string name, DateTime time1, double y1, DateTime time2, double y2, DateTime time3, double y3, Color color)` | py `chartArea.DrawTriangle(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, time3: DateTime, y3: float, color: Color) -> ChartTriangle` — Draws a triangle. [CLI works differently; Cloud works differently] - method `ChartTriangle DrawTriangle(string name, DateTime time1, double y1, DateTime time2, double y2, DateTime time3, double y3, Color color, int thickness)` | py `chartArea.DrawTriangle(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, time3: DateTime, y3: float, color: Color, thickness: int) -> ChartTriangle` — Draws a triangle. [CLI works differently; Cloud works differently] - method `ChartTriangle DrawTriangle(string name, DateTime time1, double y1, DateTime time2, double y2, DateTime time3, double y3, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawTriangle(name: str, time1: DateTime, y1: float, time2: DateTime, y2: float, time3: DateTime, y3: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartTriangle` — Draws a triangle. [CLI works differently; Cloud works differently] - method `ChartTriangle DrawTriangle(string name, int barIndex1, double y1, int barIndex2, double y2, int barIndex3, double y3, Color color)` | py `chartArea.DrawTriangle(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, barIndex3: int, y3: float, color: Color) -> ChartTriangle` — Draws a triangle. [CLI works differently; Cloud works differently] - method `ChartTriangle DrawTriangle(string name, int barIndex1, double y1, int barIndex2, double y2, int barIndex3, double y3, Color color, int thickness)` | py `chartArea.DrawTriangle(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, barIndex3: int, y3: float, color: Color, thickness: int) -> ChartTriangle` — Draws a triangle. [CLI works differently; Cloud works differently] - method `ChartTriangle DrawTriangle(string name, int barIndex1, double y1, int barIndex2, double y2, int barIndex3, double y3, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawTriangle(name: str, barIndex1: int, y1: float, barIndex2: int, y2: float, barIndex3: int, y3: float, color: Color, thickness: int, lineStyle: LineStyle) -> ChartTriangle` — Draws a triangle. [CLI works differently; Cloud works differently] - method `ChartVerticalLine DrawVerticalLine(string name, DateTime time, Color color)` | py `chartArea.DrawVerticalLine(name: str, time: DateTime, color: Color) -> ChartVerticalLine` — Draws a vertical line. [CLI works differently; Cloud works differently] - method `ChartVerticalLine DrawVerticalLine(string name, DateTime time, Color color, int thickness)` | py `chartArea.DrawVerticalLine(name: str, time: DateTime, color: Color, thickness: int) -> ChartVerticalLine` — Draws a vertical line. [CLI works differently; Cloud works differently] - method `ChartVerticalLine DrawVerticalLine(string name, DateTime time, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawVerticalLine(name: str, time: DateTime, color: Color, thickness: int, lineStyle: LineStyle) -> ChartVerticalLine` — Draws a vertical line. [CLI works differently; Cloud works differently] - method `ChartVerticalLine DrawVerticalLine(string name, int barIndex, Color color)` | py `chartArea.DrawVerticalLine(name: str, barIndex: int, color: Color) -> ChartVerticalLine` — Draws a vertical line. [CLI works differently; Cloud works differently] - method `ChartVerticalLine DrawVerticalLine(string name, int barIndex, Color color, int thickness)` | py `chartArea.DrawVerticalLine(name: str, barIndex: int, color: Color, thickness: int) -> ChartVerticalLine` — Draws a vertical line. [CLI works differently; Cloud works differently] - method `ChartVerticalLine DrawVerticalLine(string name, int barIndex, Color color, int thickness, LineStyle lineStyle)` | py `chartArea.DrawVerticalLine(name: str, barIndex: int, color: Color, thickness: int, lineStyle: LineStyle) -> ChartVerticalLine` — Draws a vertical line. [CLI works differently; Cloud works differently] - method `T[] FindAllObjects()` | py `chartArea.FindAllObjects() -> list[T]` — Finds all the chart objects of the specified type. - method `ChartObject[] FindAllObjects(ChartObjectType objectType)` | py `chartArea.FindAllObjects(objectType: ChartObjectType) -> list[ChartObject]` — Finds all the chart objects of the specified type. - method `ChartObject FindObject(string objectName)` | py `chartArea.FindObject(objectName: str) -> ChartObject` — Finds the chart object of the specified name. - method `void MoveControl(ControlBase control, int barIndex, double y)` | py `chartArea.MoveControl(control: ControlBase, barIndex: int, y: float) -> None` — Moves a chart control to chart / indicator area on absolute bar index and price (x,y) coordinates. - method `void MoveControl(ControlBase control, DateTime time, double y)` | py `chartArea.MoveControl(control: ControlBase, time: DateTime, y: float) -> None` — Moves a chart control to chart / indicator area on absolute time and price (x,y) coordinates. - method `void MoveControl(ControlBase control, DateTime time)` | py `chartArea.MoveControl(control: ControlBase, time: DateTime) -> None` — Moves a chart control to chart / indicator area on absolute time (x) coordinate. - method `void MoveControl(ControlBase control, int barIndex)` | py `chartArea.MoveControl(control: ControlBase, barIndex: int) -> None` — Moves a chart control to chart / indicator area on absolute bar index (x) coordinate. - method `void MoveControl(ControlBase control, double y)` | py `chartArea.MoveControl(control: ControlBase, y: float) -> None` — Moves a chart control to chart / indicator area on absolute price (y) coordinate. - method `void RemoveAllObjects()` | py `chartArea.RemoveAllObjects() -> None` — Removes all interactive and non-interactive objects available for the cBot or Indicator. - method `void RemoveControl(ControlBase control)` | py `chartArea.RemoveControl(control: ControlBase) -> None` — Remove a chart control from the chart area. [CLI not supported; Cloud not supported] - method `void RemoveObject(string objectName)` | py `chartArea.RemoveObject(objectName: str) -> None` — Removes the chart object of the specified name. - method `void ResetPriceScale()` | py `chartArea.ResetPriceScale() -> None` — Resets the price scale of the chart area to its default state: enables the auto scale and fits the Y-axis range to the visible bars and outputs. Does not change the price scale mode, the inversion or the price axis position. Ignored on the main chart area while the price to bar ratio is locked. Does nothing in the silent backtesting, the CLI and the cloud. - method `void SetYRange(double bottomY, double topY)` | py `chartArea.SetYRange(bottomY: float, topY: float) -> None` — Sets the Y-axis lowest and highest values range. Allows scrolling the chart by the Y-axis. If only one of the values is set, then the chart will be expanded regarding the lowest or highest value respectively. A range whose lowest value is not lower than its highest value is ignored, and so is any range on the main chart area while the price scale mode is Percent or IndexedTo100. - method `double TimeToX(DateTime time)` | py `chartArea.TimeToX(time: DateTime) -> float` — Converts area Time coordinate to Mouse X coordinate value. [CLI not supported; Cloud not supported] - method `double XToBarIndex(double x)` | py `chartArea.XToBarIndex(x: float) -> float` — Converts X coordinate to bar index. [CLI not supported; Cloud not supported] - method `DateTime XToTime(double x)` | py `chartArea.XToTime(x: float) -> DateTime` — Converts Mouse X coordinate to area Time coordinate value. [CLI not supported; Cloud not supported] - method `double YToYValue(double y)` | py `chartArea.YToYValue(y: float) -> float` — Converts Mouse Y coordinate to area Y axis coordinate value. [CLI not supported; Cloud not supported] - method `double YValueToY(double yValue)` | py `chartArea.YValueToY(yValue: float) -> float` — Converts Area Y axis coordinate value to mouse Y coordinate. [CLI not supported; Cloud not supported] - property `double BottomY {get;}` | py `chartArea.BottomY: float` — Gets the lowest visible Y-axis value. - property `ChartDraggables Draggables {get;}` | py `chartArea.Draggables: ChartDraggables` — Gets chart area draggables. - property `double Height {get;}` | py `chartArea.Height: float` — Gets the hight of the chart area. - property `bool IsAlive {get;}` | py `chartArea.IsAlive: bool` — Checks whether the instance is still on the chart area. - property `bool IsAutoScaleEnabled {get; set;}` | py `chartArea.IsAutoScaleEnabled: bool` — Gets or sets the value indicating whether the auto scale is enabled for the chart area. When enabled, the Y-axis range is fitted automatically to the visible bars and outputs while the chart scrolls. Setting the Y-axis range with SetYRange, or dragging the price axis, disables the auto scale. On the main chart area the auto scale is always enabled while the price scale mode is Percent or IndexedTo100, and is always disabled while the price to bar ratio is locked; setting it to a conflicting value in these states is ignored. In the silent backtesting, the CLI and the cloud the value is only stored and has no visual effect. - property `IReadonlyList Objects {get;}` | py `chartArea.Objects: IReadonlyList[ChartObject]` — Gets the chart objects collection. - property `IReadonlyList SelectedObjects {get;}` | py `chartArea.SelectedObjects: IReadonlyList[ChartObject]` — Gets the list of currently selected objects if any. [CLI not supported; Cloud not supported] - property `double TopY {get;}` | py `chartArea.TopY: float` — Gets the highest visible Y-axis value. - property `double Width {get;}` | py `chartArea.Width: float` — Gets the width of the chart area. - event `event Action Drag;` | py `chartArea.Drag += handler # handler(obj: ChartDragEventArgs)` — Occurs when dragging a chart area. [CLI not supported; Cloud not supported] - event `event Action DragEnd;` | py `chartArea.DragEnd += handler # handler(obj: ChartDragEventArgs)` — Occurs when mouse button is released while dragging a chart area or a chart area loses mouse capture. [CLI not supported; Cloud not supported] - event `event Action DragStart;` | py `chartArea.DragStart += handler # handler(obj: ChartDragEventArgs)` — Occurs when MouseDown event is happening on a chart area and a mouse is captured for dragging. [CLI not supported; Cloud not supported] - event `event Action MouseDown;` | py `chartArea.MouseDown += handler # handler(obj: ChartMouseEventArgs)` — Occurs when the left mouse button is pressed down. [CLI not supported; Cloud not supported] - event `event Action MouseEnter;` | py `chartArea.MouseEnter += handler # handler(obj: ChartMouseEventArgs)` — Occurs when the cursor hover over the chart area. [CLI not supported; Cloud not supported] - event `event Action MouseLeave;` | py `chartArea.MouseLeave += handler # handler(obj: ChartMouseEventArgs)` — Occurs when the cursor leaves the chart area [CLI not supported; Cloud not supported] - event `event Action MouseMove;` | py `chartArea.MouseMove += handler # handler(obj: ChartMouseEventArgs)` — Occurs when the cursor moves over the chart area. [CLI not supported; Cloud not supported] - event `event Action MouseUp;` | py `chartArea.MouseUp += handler # handler(obj: ChartMouseEventArgs)` — Occurs when the left mouse button is released. [CLI not supported; Cloud not supported] - event `event Action MouseWheel;` | py `chartArea.MouseWheel += handler # handler(obj: ChartMouseWheelEventArgs)` — Occurs when the mouse wheel button is rotated. [CLI not supported; Cloud not supported] - event `event Action ObjectHoverChanged;` | py `chartArea.ObjectHoverChanged += handler # handler(obj: ChartObjectHoverChangedEventArgs)` — Occurs when the cursor hovers over or leaves the object. [CLI not supported; Cloud not supported] - event `event Action ObjectsAdded;` | py `chartArea.ObjectsAdded += handler # handler(obj: ChartObjectsAddedEventArgs)` — Occurs when one or several chart objects are added to the chart area. - event `event Action ObjectsMoveEnded;` | py `chartArea.ObjectsMoveEnded += handler # handler(obj: ChartObjectsMoveEndedEventArgs)` — Occurs when one or several chart objects are moved. [CLI not supported; Cloud not supported] - event `event Action ObjectsMoveStarted;` | py `chartArea.ObjectsMoveStarted += handler # handler(obj: ChartObjectsMoveStartedEventArgs)` — Occurs when one or several chart objects move started. [CLI not supported; Cloud not supported] - event `event Action ObjectsMoving;` | py `chartArea.ObjectsMoving += handler # handler(obj: ChartObjectsMovingEventArgs)` — Occurs when one or several chart objects are moving. [CLI not supported; Cloud not supported] - event `event Action ObjectsRemoved;` | py `chartArea.ObjectsRemoved += handler # handler(obj: ChartObjectsRemovedEventArgs)` — Occurs when one or several chart object are removed from the chart area. - event `event Action ObjectsSelectionChanged;` | py `chartArea.ObjectsSelectionChanged += handler # handler(obj: ChartObjectsSelectionChangedEventArgs)` — Occurs when chart objects are selected or deselected. [CLI not supported; Cloud not supported] - event `event Action ObjectsUpdated;` | py `chartArea.ObjectsUpdated += handler # handler(obj: ChartObjectsUpdatedEventArgs)` — Occurs when one or several chart objects are updated. - event `event Action PriceScaleChanged;` | py `chartArea.PriceScaleChanged += handler # handler(obj: ChartPriceScaleEventArgs)` — Occurs when the price scale state of the chart area changes: the auto scale is enabled or disabled, or the price scale is reset. On the main chart area it also occurs when any chart level price scale setting changes: the price scale mode, the inversion, the price to bar ratio lock or value, the scale price chart only option or the price axis position. Not raised in the silent backtesting, the CLI and the cloud. - event `event Action ScrollChanged;` | py `chartArea.ScrollChanged += handler # handler(obj: ChartScrollEventArgs)` — Occurs when the X-axis position value or the Y-axis position value changes while scrolling. [CLI works differently; Cloud not supported] - event `event Action SizeChanged;` | py `chartArea.SizeChanged += handler # handler(obj: ChartSizeEventArgs)` — Occurs when the chart area size has changed. ## interface cAlgo.API.ChartArrow — Represents the arrow chart object. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartArrow/index.md) - method `double CalculateY(int barIndex)` | py `chartArrow.CalculateY(barIndex: int) -> float` — Calculates Y-axis value corresponding the specified bar index. [CLI works differently; Cloud works differently] - method `double CalculateY(DateTime time)` | py `chartArrow.CalculateY(time: DateTime) -> float` — Calculates Y-axis value corresponding the specified time value. [CLI works differently; Cloud works differently] - property `Color Color {get; set;}` | py `chartArrow.Color: Color` — Gets or sets the color of the Trend Line. [CLI works differently; Cloud works differently] - property `bool ExtendToInfinity {get; set;}` | py `chartArrow.ExtendToInfinity: bool` — Defines if the Arrow extends to infinity. [CLI works differently; Cloud works differently] - property `LineStyle LineStyle {get; set;}` | py `chartArrow.LineStyle: LineStyle` — Gets or sets the Arrow style. [CLI works differently; Cloud works differently] - property `bool ShowAngle {get; set;}` | py `chartArrow.ShowAngle: bool` — Defines the arrow angle. [CLI works differently; Cloud works differently] - property `int Thickness {get; set;}` | py `chartArrow.Thickness: int` — Gets or sets the thickness of the Arrow. [CLI works differently; Cloud works differently] - property `DateTime Time1 {get; set;}` | py `chartArrow.Time1: DateTime` — Gets or sets the value 1 on the Time line. [CLI works differently; Cloud works differently] - property `DateTime Time2 {get; set;}` | py `chartArrow.Time2: DateTime` — Gets or sets the value 2 on the Time line. [CLI works differently; Cloud works differently] - property `double Y1 {get; set;}` | py `chartArrow.Y1: float` — Gets or sets the value 1 on the Y-axis. [CLI works differently; Cloud works differently] - property `double Y2 {get; set;}` | py `chartArrow.Y2: float` — Gets or sets the value 2 on the Y-axis. [CLI works differently; Cloud works differently] ## class cAlgo.API.ChartColorEventArgs — Provides data for the chart color event. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartColorEventArgs/index.md) - property `public Chart Chart {get;}` | py `chartColorEventArgs.Chart: Chart` — Gets the chart. [Cloud not supported] ## interface cAlgo.API.ChartColorSettings — Represents the charts Color Settings. (https://help.ctrader.com/ctrader-algo/references/Chart/ChartColorSettings/index.md) - property `Color AreaFillColor {get; set;}` | py `chartColorSettings.AreaFillColor: Color` — Gets or sets the color of area chart fill. - property `Color AskPriceLineColor {get; set;}` | py `chartColorSettings.AskPriceLineColor: Color` — Gets or sets the color of the ask price line. - property `Color BackgroundColor {get; set;}` | py `chartColorSettings.BackgroundColor: Color` — Gets or sets the color of the chart background. - property `Color BearFillColor {get; set;}` | py `chartColorSettings.BearFillColor: Color` — Gets or sets the color of the bear candle fill. - property `Color BearOutlineColor {get; set;}` | py `chartColorSettings.BearOutlineColor: Color` — Gets or sets the color of the bear candle or bar outline. - property `Color BidPriceLineColor {get; set;}` | py `chartColorSettings.BidPriceLineColor: Color` — Gets or sets the color of the bid price line. - property `Color BullFillColor {get; set;}` | py `chartColorSettings.BullFillColor: Color` — Gets or sets the color of the bull candle fill. - property `Color BullOutlineColor {get; set;}` | py `chartColorSettings.BullOutlineColor: Color` — Gets or sets the color of the bull candle or bar outline. - property `Color BuyColor {get; set;}` | py `chartColorSettings.BuyColor: Color` — Gets or sets the color of Buy positions and orders. - property `Color ForegroundColor {get; set;}` | py `chartColorSettings.ForegroundColor: Color` — Gets or sets the color of the chart foreground. - property `Color GridLinesColor {get; set;}` | py `chartColorSettings.GridLinesColor: Color` — Gets or sets the color of the grid lines. - property `Color LosingDealColor {get; set;}` | py `chartColorSettings.LosingDealColor: Color` — Gets or sets the color of the losing deal. - property `Color PeriodSeparatorColor {get; set;}` | py `chartColorSettings.PeriodSeparatorColor: Color` — Gets or sets the color of the period separator. - property `Color SellColor {get; set;}` | py `chartColorSettings.SellColor: Color` — Gets or sets the color of Sell order positions and orders. - property `Color TickVolumeColor {get; set;}` | py `chartColorSettings.TickVolumeColor: Color` — Gets or sets the color of the tick volume. - property `Color WinningDealColor {get; set;}` | py `chartColorSettings.WinningDealColor: Color` — Gets or sets the color of the winning deal. ## interface cAlgo.API.ChartContainer — Represents a chart frames container. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Chart/ChartContainer/index.md) - method `bool Close()` | py `chartContainer.Close() -> bool` — Closes current chart container window. [CLI not supported; Cloud not supported] - property `int Count {get;}` | py `chartContainer.Count: int` — Returns number of frames existing in chart container. [CLI not supported; Cloud not supported] - property `DetachedWindow DetachedWindow {get;}` | py `chartContainer.DetachedWindow: DetachedWindow` — Returns detached window properties of chart container. [CLI not supported; Cloud not supported] - property `string Id {get;}` | py `chartContainer.Id: str` — Returns container Id. [CLI not supported; Cloud not supported] - property `Frame Item {get;}` | py `chartContainer[index: int] -> Frame` — Returns a frame by it is index inside chart container. [CLI not supported; Cloud not supported] - property `ChartMode Mode {get; set;}` | py `chartContainer.Mode: ChartMode` — Get / set chart mode of chart container. [CLI not supported; Cloud not supported] - property `Frame SelectedFrame {get; set;}` | py `chartContainer.SelectedFrame: Frame` — Gets or sets the selected frame in the chart container. [CLI not supported; Cloud not supported] ## interface cAlgo.API.ChartContainers — Represents the list of all the chart containers. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Chart/ChartContainers/index.md) - method `ChartContainer Get(string id)` | py `chartContainers.Get(id: str) -> ChartContainer | None` — Returns a chart container by it is ID. [CLI not supported; Cloud not supported] - property `int Count {get;}` | py `chartContainers.Count: int` — Returns number of all chart containers. [CLI not supported; Cloud not supported] - property `ChartContainer MainChartContainer {get;}` | py `chartContainers.MainChartContainer: ChartContainer` — Returns main chart container. [CLI not supported; Cloud not supported] - event `event Action ContainersAdded;` | py `chartContainers.ContainersAdded += handler # handler(obj: ChartContainersAddedEventArgs)` — Occurs when new containers are added. [CLI not supported; Cloud not supported] - event `event Action ContainersRemoved;` | py `chartContainers.ContainersRemoved += handler # handler(obj: ChartContainersRemovedEventArgs)` — Occurs when containers are removed. [CLI not supported; Cloud not supported] ## class cAlgo.API.ChartContainersAddedEventArgs — Provides data for the containers added event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartContainersAddedEventArgs/index.md) - property `public ChartContainer[] AddedChartContainers {get;}` | py `chartContainersAddedEventArgs.AddedChartContainers: list[ChartContainer]` — Returns the added containers. [CLI not supported; Cloud not supported] ## class cAlgo.API.ChartContainersRemovedEventArgs — Provides data for the containers removed event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartContainersRemovedEventArgs/index.md) - property `public ChartContainer[] RemovedChartContainers {get;}` | py `chartContainersRemovedEventArgs.RemovedChartContainers: list[ChartContainer]` — Returns the removed containers. [CLI not supported; Cloud not supported] ## interface cAlgo.API.ChartDisplaySettings — Represents the chart display settings. (https://help.ctrader.com/ctrader-algo/references/Chart/ChartDisplaySettings/index.md) - property `bool AddRobotButton {get; set;}` | py `chartDisplaySettings.AddRobotButton: bool` — Defines if the Add cBot button is displayed on the chart. - property `bool AskPriceLine {get; set;}` | py `chartDisplaySettings.AskPriceLine: bool` — Defines if the Ask Price Line is displayed on the chart. - property `bool Bars {get; set;}` | py `chartDisplaySettings.Bars: bool` — Defines if the Bars is displayed on the chart. - property `bool BidPriceLine {get; set;}` | py `chartDisplaySettings.BidPriceLine: bool` — Defines if the Bid Price Line is displayed on the chart. - property `bool ChartScale {get; set;}` | py `chartDisplaySettings.ChartScale: bool` — Defines if the Chart Scale is displayed on the chart. - property `bool DealMap {get; set;}` | py `chartDisplaySettings.DealMap: bool` — Defines if the Deal Map is displayed on the chart. - property `bool Grid {get; set;}` | py `chartDisplaySettings.Grid: bool` — Defines if the Grid is displayed on the chart background. - property `bool IndicatorTitles {get; set;}` | py `chartDisplaySettings.IndicatorTitles: bool` — Defines if the Indicator Titles are displayed on the chart. - property `bool MarketSentiment {get; set;}` | py `chartDisplaySettings.MarketSentiment: bool` — Defines if the Market Sentiment is visible on the chart. - property `bool Orders {get; set;}` | py `chartDisplaySettings.Orders: bool` — Defines if the Orders are displayed on the chart. - property `bool PeriodSeparators {get; set;}` | py `chartDisplaySettings.PeriodSeparators: bool` — Defines if the Period Separators are displayed on the chart. - property `bool Positions {get; set;}` | py `chartDisplaySettings.Positions: bool` — Defines if the Positions are displayed on the chart. - property `bool PriceAlerts {get; set;}` | py `chartDisplaySettings.PriceAlerts: bool` — Defines if the Price Alerts are visible on the chart. - property `bool PriceAxisOverlayButtons {get; set;}` | py `chartDisplaySettings.PriceAxisOverlayButtons: bool` — Defines if the price axis overlays buttons are visible on the chart. - property `bool QuickTradeButtons {get; set;}` | py `chartDisplaySettings.QuickTradeButtons: bool` — Defines if the QuickTrade buttons are visible on the chart. - property `bool Targets {get; set;}` | py `chartDisplaySettings.Targets: bool` — Defines if the Target is visible on the chart. - property `bool TickVolume {get; set;}` | py `chartDisplaySettings.TickVolume: bool` — Defines if the Tick Volume is displayed on the chart. ## class cAlgo.API.ChartDisplaySettingsEventArgs — Provides data for the chart display settings event. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartDisplaySettingsEventArgs/index.md) - property `public Chart Chart {get;}` | py `chartDisplaySettingsEventArgs.Chart: Chart` — Gets the chart. [Cloud not supported] ## class cAlgo.API.ChartDragEventArgs — Provides data for the chart dragging event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartDragEventArgs/index.md) ## interface cAlgo.API.ChartDraggable — Represents a draggable box that can host a control and shown over a chart. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Chart/Draggables/ChartDraggable/index.md) - property `ControlBase Child {get; set;}` | py `chartDraggable.Child: ControlBase` — Get / set the content control inside the draggable. [CLI not supported; Cloud not supported] - property `string Id {get;}` | py `chartDraggable.Id: str` — Get unique ID of the Draggable. [CLI not supported; Cloud not supported] - property `bool IsVisible {get; set;}` | py `chartDraggable.IsVisible: bool` — Get / set visibility of draggable. [CLI not supported; Cloud not supported] - property `bool ShowGrip {get; set;}` | py `chartDraggable.ShowGrip: bool` — Get / set move grip visibility (default: true). [CLI not supported; Cloud not supported] - property `double X {get; set;}` | py `chartDraggable.X: float` — Get / set X coordinate (default: 0). [CLI not supported; Cloud not supported] - property `double Y {get; set;}` | py `chartDraggable.Y: float` — Get / set Y coordinate (default: 0). [CLI not supported; Cloud not supported] - event `event Action LocationChanged;` | py `chartDraggable.LocationChanged += handler # handler(obj: ChartDraggableLocationChangedEventArgs)` — Occurs when the draggable's location is changed. [CLI not supported; Cloud not supported] ## class cAlgo.API.ChartDraggableLocationChangedEventArgs — Provides data for LocationChanged event of ChartDraggable. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartDraggableLocationChangedEventArgs/index.md) - property `public ChartDraggable Draggable {get;}` | py `chartDraggableLocationChangedEventArgs.Draggable: ChartDraggable` — Gets the draggable. [CLI not supported; Cloud not supported] ## interface cAlgo.API.ChartDraggables — Represents collection of a chart area draggables. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Chart/Draggables/ChartDraggables/index.md) - method `ChartDraggable Add()` | py `chartDraggables.Add() -> ChartDraggable` — Adds a draggable to chart area. [CLI not supported; Cloud not supported] - method `void Remove(ChartDraggable draggable)` | py `chartDraggables.Remove(draggable: ChartDraggable) -> None` — Removes a draggable from chart area. [CLI not supported; Cloud not supported] - property `int Count {get;}` | py `chartDraggables.Count: int` — Gets count of draggables. [CLI not supported; Cloud not supported] ## interface cAlgo.API.ChartDrawing — Represents the Drawing chart object. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartDrawing/index.md) ## interface cAlgo.API.ChartElliottCorrection — Represents the Elliott Correction Wave (A-B-C) chart object - a three-wave corrective pattern over four pivots (origin and A, B, C). [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartElliottCorrection/index.md) - property `ChartPoint Origin {get; set;}` | py `chartElliottCorrection.Origin: ChartPoint` — Gets or sets the origin (wave 0) anchor point. [CLI works differently; Cloud works differently] - property `ChartPoint WaveA {get; set;}` | py `chartElliottCorrection.WaveA: ChartPoint` — Gets or sets the wave A anchor point. [CLI works differently; Cloud works differently] - property `ChartPoint WaveB {get; set;}` | py `chartElliottCorrection.WaveB: ChartPoint` — Gets or sets the wave B anchor point. [CLI works differently; Cloud works differently] - property `ChartPoint WaveC {get; set;}` | py `chartElliottCorrection.WaveC: ChartPoint` — Gets or sets the wave C anchor point. [CLI works differently; Cloud works differently] ## interface cAlgo.API.ChartElliottDoubleCombo — Represents the Elliott Double Combo Wave (W-X-Y) chart object - a complex correction over four pivots (origin and W, X, Y). [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartElliottDoubleCombo/index.md) - property `ChartPoint Origin {get; set;}` | py `chartElliottDoubleCombo.Origin: ChartPoint` — Gets or sets the origin (wave 0) anchor point. [CLI works differently; Cloud works differently] - property `ChartPoint WaveW {get; set;}` | py `chartElliottDoubleCombo.WaveW: ChartPoint` — Gets or sets the wave W anchor point. [CLI works differently; Cloud works differently] - property `ChartPoint WaveX {get; set;}` | py `chartElliottDoubleCombo.WaveX: ChartPoint` — Gets or sets the wave X anchor point. [CLI works differently; Cloud works differently] - property `ChartPoint WaveY {get; set;}` | py `chartElliottDoubleCombo.WaveY: ChartPoint` — Gets or sets the wave Y anchor point. [CLI works differently; Cloud works differently] ## interface cAlgo.API.ChartElliottImpulse — Represents the Elliott Impulse Wave (1-2-3-4-5) chart object - a five-wave motive pattern over six pivots (origin and 1 to 5). [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartElliottImpulse/index.md) - property `ChartPoint Origin {get; set;}` | py `chartElliottImpulse.Origin: ChartPoint` — Gets or sets the origin (wave 0) anchor point. [CLI works differently; Cloud works differently] - property `ChartPoint Wave1 {get; set;}` | py `chartElliottImpulse.Wave1: ChartPoint` — Gets or sets the wave 1 anchor point. [CLI works differently; Cloud works differently] - property `ChartPoint Wave2 {get; set;}` | py `chartElliottImpulse.Wave2: ChartPoint` — Gets or sets the wave 2 anchor point. [CLI works differently; Cloud works differently] - property `ChartPoint Wave3 {get; set;}` | py `chartElliottImpulse.Wave3: ChartPoint` — Gets or sets the wave 3 anchor point. [CLI works differently; Cloud works differently] - property `ChartPoint Wave4 {get; set;}` | py `chartElliottImpulse.Wave4: ChartPoint` — Gets or sets the wave 4 anchor point. [CLI works differently; Cloud works differently] - property `ChartPoint Wave5 {get; set;}` | py `chartElliottImpulse.Wave5: ChartPoint` — Gets or sets the wave 5 anchor point. [CLI works differently; Cloud works differently] ## interface cAlgo.API.ChartElliottTriangle — Represents the Elliott Triangle Wave (A-B-C-D-E) chart object - a five-leg triangle over six pivots (origin and A to E). [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartElliottTriangle/index.md) - property `ChartPoint Origin {get; set;}` | py `chartElliottTriangle.Origin: ChartPoint` — Gets or sets the origin (wave 0) anchor point. [CLI works differently; Cloud works differently] - property `ChartPoint WaveA {get; set;}` | py `chartElliottTriangle.WaveA: ChartPoint` — Gets or sets the wave A anchor point. [CLI works differently; Cloud works differently] - property `ChartPoint WaveB {get; set;}` | py `chartElliottTriangle.WaveB: ChartPoint` — Gets or sets the wave B anchor point. [CLI works differently; Cloud works differently] - property `ChartPoint WaveC {get; set;}` | py `chartElliottTriangle.WaveC: ChartPoint` — Gets or sets the wave C anchor point. [CLI works differently; Cloud works differently] - property `ChartPoint WaveD {get; set;}` | py `chartElliottTriangle.WaveD: ChartPoint` — Gets or sets the wave D anchor point. [CLI works differently; Cloud works differently] - property `ChartPoint WaveE {get; set;}` | py `chartElliottTriangle.WaveE: ChartPoint` — Gets or sets the wave E anchor point. [CLI works differently; Cloud works differently] ## interface cAlgo.API.ChartElliottTripleCombo — Represents the Elliott Triple Combo Wave (W-X-Y-X-Z) chart object - an extended complex correction over six pivots (origin and W, X, Y, X, Z). The two X legs are named X1 and X2. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartElliottTripleCombo/index.md) - property `ChartPoint Origin {get; set;}` | py `chartElliottTripleCombo.Origin: ChartPoint` — Gets or sets the origin (wave 0) anchor point. [CLI works differently; Cloud works differently] - property `ChartPoint WaveW {get; set;}` | py `chartElliottTripleCombo.WaveW: ChartPoint` — Gets or sets the wave W anchor point. [CLI works differently; Cloud works differently] - property `ChartPoint WaveX1 {get; set;}` | py `chartElliottTripleCombo.WaveX1: ChartPoint` — Gets or sets the first wave X (X1) anchor point. [CLI works differently; Cloud works differently] - property `ChartPoint WaveX2 {get; set;}` | py `chartElliottTripleCombo.WaveX2: ChartPoint` — Gets or sets the second wave X (X2) anchor point. [CLI works differently; Cloud works differently] - property `ChartPoint WaveY {get; set;}` | py `chartElliottTripleCombo.WaveY: ChartPoint` — Gets or sets the wave Y anchor point. [CLI works differently; Cloud works differently] - property `ChartPoint WaveZ {get; set;}` | py `chartElliottTripleCombo.WaveZ: ChartPoint` — Gets or sets the wave Z anchor point. [CLI works differently; Cloud works differently] ## interface cAlgo.API.ChartElliottWaveBase — Represents the shared options of the Elliott Wave chart objects. An Elliott Wave is an ordered list of labelled pivots joined by a polyline; the wave degree drives the label notation. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartElliottWaveBase/index.md) - property `Color Color {get; set;}` | py `chartElliottWaveBase.Color: Color` — Gets or sets the chart object lines color. [CLI works differently; Cloud works differently] - property `ChartElliottWaveDegree Degree {get; set;}` | py `chartElliottWaveBase.Degree: ChartElliottWaveDegree` — Gets or sets the wave degree that drives the label notation and default color. [CLI works differently; Cloud works differently] - property `LineStyle LineStyle {get; set;}` | py `chartElliottWaveBase.LineStyle: LineStyle` — Gets or sets the chart object lines style. [CLI works differently; Cloud works differently] - property `bool ShowLabels {get; set;}` | py `chartElliottWaveBase.ShowLabels: bool` — Gets or sets a value indicating whether the wave labels are displayed. Default is true. [CLI works differently; Cloud works differently] - property `int Thickness {get; set;}` | py `chartElliottWaveBase.Thickness: int` — Gets or sets the chart object lines thickness. [CLI works differently; Cloud works differently] ## enum cAlgo.API.ChartElliottWaveDegree — The Elliott Wave degree. Determines the wave-label notation (numerals, roman or letters and the enclosure style) and the default color of an Elliott Wave chart object. (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartElliottWaveDegree/index.md) - enum value `ChartElliottWaveDegree.GrandSupercycle;` | py `ChartElliottWaveDegree.GrandSupercycle` — The Grand Supercycle degree (largest). - enum value `ChartElliottWaveDegree.Supercycle;` | py `ChartElliottWaveDegree.Supercycle` — The Supercycle degree. - enum value `ChartElliottWaveDegree.Cycle;` | py `ChartElliottWaveDegree.Cycle` — The Cycle degree. - enum value `ChartElliottWaveDegree.Primary;` | py `ChartElliottWaveDegree.Primary` — The Primary degree. - enum value `ChartElliottWaveDegree.Intermediate;` | py `ChartElliottWaveDegree.Intermediate` — The Intermediate degree. - enum value `ChartElliottWaveDegree.Minor;` | py `ChartElliottWaveDegree.Minor` — The Minor degree (default). - enum value `ChartElliottWaveDegree.Minute;` | py `ChartElliottWaveDegree.Minute` — The Minute degree. - enum value `ChartElliottWaveDegree.Minuette;` | py `ChartElliottWaveDegree.Minuette` — The Minuette degree. - enum value `ChartElliottWaveDegree.Subminuette;` | py `ChartElliottWaveDegree.Subminuette` — The Subminuette degree (smallest). ## interface cAlgo.API.ChartEllipse — Represent the Ellipse chart object. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/Shapes/ChartEllipse/index.md) - property `DateTime Time1 {get; set;}` | py `chartEllipse.Time1: DateTime` — Gets or sets the value 1 on the Time line. [CLI works differently; Cloud works differently] - property `DateTime Time2 {get; set;}` | py `chartEllipse.Time2: DateTime` — Gets or sets the value 2 on the Time line. [CLI works differently; Cloud works differently] - property `double Y1 {get; set;}` | py `chartEllipse.Y1: float` — Gets or sets the value 1 on the Y-axis. [CLI works differently; Cloud works differently] - property `double Y2 {get; set;}` | py `chartEllipse.Y2: float` — Gets or sets the value 2 on the Y-axis. [CLI works differently; Cloud works differently] ## interface cAlgo.API.ChartEquidistantChannel — Represents the Equidistant Channel chart object. The tool that allows drawing two precisely parallel lines in any direction on the chart. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartEquidistantChannel/index.md) - method `double CalculateY(int barIndex)` | py `chartEquidistantChannel.CalculateY(barIndex: int) -> float` — Calculates Y-axis value corresponding the specified bar index. [CLI works differently; Cloud works differently] - method `double CalculateY(DateTime time)` | py `chartEquidistantChannel.CalculateY(time: DateTime) -> float` — Calculates Y-axis value corresponding the specified time value. [CLI works differently; Cloud works differently] - property `double ChannelHeight {get; set;}` | py `chartEquidistantChannel.ChannelHeight: float` — Gets or sets the height of the Equidistant Channel. [CLI works differently; Cloud works differently] - property `Color Color {get; set;}` | py `chartEquidistantChannel.Color: Color` — Gets or sets the Equidistant Channel line color. [CLI works differently; Cloud works differently] - property `bool ExtendToInfinity {get; set;}` | py `chartEquidistantChannel.ExtendToInfinity: bool` — Defines if the Equidistant channel extends to infinity. [CLI works differently; Cloud works differently] - property `LineStyle LineStyle {get; set;}` | py `chartEquidistantChannel.LineStyle: LineStyle` — Gets or sets the Equidistant channel line style. [CLI works differently; Cloud works differently] - property `bool ShowAngle {get; set;}` | py `chartEquidistantChannel.ShowAngle: bool` — Gets or sets the Equidistant Channel angle. [CLI works differently; Cloud works differently] - property `int Thickness {get; set;}` | py `chartEquidistantChannel.Thickness: int` — Gets or sets the Equidistant Channel line thickness. [CLI works differently; Cloud works differently] - property `DateTime Time1 {get; set;}` | py `chartEquidistantChannel.Time1: DateTime` — Gets or sets the value 1 on the Time line. [CLI works differently; Cloud works differently] - property `DateTime Time2 {get; set;}` | py `chartEquidistantChannel.Time2: DateTime` — Gets or sets the value 2 on the Time line. [CLI works differently; Cloud works differently] - property `double Y1 {get; set;}` | py `chartEquidistantChannel.Y1: float` — Gets or sets the value 1 on the Y-axis. [CLI works differently; Cloud works differently] - property `double Y2 {get; set;}` | py `chartEquidistantChannel.Y2: float` — Gets or sets the value 2 on the Y-axis. [CLI works differently; Cloud works differently] ## interface cAlgo.API.ChartFibonacciArc — Represents the Fibonacci Arc chart object. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/Fibonacci/ChartFibonacciArc/index.md) - property `DateTime Time1 {get; set;}` | py `chartFibonacciArc.Time1: DateTime` — Gets or sets the value 1 on the Time line. [CLI works differently; Cloud works differently] - property `DateTime Time2 {get; set;}` | py `chartFibonacciArc.Time2: DateTime` — Gets or sets the value 2 on the Time line. [CLI works differently; Cloud works differently] - property `double Y1 {get; set;}` | py `chartFibonacciArc.Y1: float` — Gets or sets the value 1 on the Y-axis. [CLI works differently; Cloud works differently] - property `double Y2 {get; set;}` | py `chartFibonacciArc.Y2: float` — Gets or sets the value 2 on the Y-axis. [CLI works differently; Cloud works differently] ## interface cAlgo.API.ChartFibonacciBase — Represents the Fibonacci tools options. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/Fibonacci/ChartFibonacciBase/index.md) - property `Color Color {get; set;}` | py `chartFibonacciBase.Color: Color` — Gets or sets the lines color. [CLI works differently; Cloud works differently] - property `bool DisplayPrices {get; set;}` | py `chartFibonacciBase.DisplayPrices: bool` — Defines if the Fibonacci levels display the prices [CLI works differently; Cloud works differently] - property `IReadonlyList FibonacciLevels {get;}` | py `chartFibonacciBase.FibonacciLevels: IReadonlyList[FibonacciLevel]` — Gets the Fibonacci levels. [CLI works differently; Cloud works differently] - property `LineStyle LineStyle {get; set;}` | py `chartFibonacciBase.LineStyle: LineStyle` — Gets or sets the lines style. [CLI works differently; Cloud works differently] - property `int Thickness {get; set;}` | py `chartFibonacciBase.Thickness: int` — Gets or sets the lines thickness. [CLI works differently; Cloud works differently] ## interface cAlgo.API.ChartFibonacciExpansion — Represents the Fibonacci Expansion chart object. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/Fibonacci/ChartFibonacciExpansion/index.md) - property `DateTime Time1 {get; set;}` | py `chartFibonacciExpansion.Time1: DateTime` — Gets or sets the value 1 on the Time line. [CLI works differently; Cloud works differently] - property `DateTime Time2 {get; set;}` | py `chartFibonacciExpansion.Time2: DateTime` — Gets or sets the value 2 on the Time line. [CLI works differently; Cloud works differently] - property `DateTime Time3 {get; set;}` | py `chartFibonacciExpansion.Time3: DateTime` — Gets or sets the value 3 on the Time line. [CLI works differently; Cloud works differently] - property `double Y1 {get; set;}` | py `chartFibonacciExpansion.Y1: float` — Gets or sets the value 1 on the Y-axis. [CLI works differently; Cloud works differently] - property `double Y2 {get; set;}` | py `chartFibonacciExpansion.Y2: float` — Gets or sets the value 2 on the Y-axis. [CLI works differently; Cloud works differently] - property `double Y3 {get; set;}` | py `chartFibonacciExpansion.Y3: float` — Gets or sets the value 3 on the Y-axis. [CLI works differently; Cloud works differently] ## interface cAlgo.API.ChartFibonacciFan — Represents the Fibonacci Fan chart object. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/Fibonacci/ChartFibonacciFan/index.md) - method `double CalculateY(int barIndex, FibonacciLevel level)` | py `chartFibonacciFan.CalculateY(barIndex: int, level: FibonacciLevel) -> float` — Calculates Y-axis value corresponding the specified bar index. [CLI works differently; Cloud works differently] - method `double CalculateY(DateTime time, FibonacciLevel level)` | py `chartFibonacciFan.CalculateY(time: DateTime, level: FibonacciLevel) -> float` — Calculates Y-axis value corresponding the specified time value. [CLI works differently; Cloud works differently] - property `DateTime Time1 {get; set;}` | py `chartFibonacciFan.Time1: DateTime` — Gets or sets the value 1 on the Time line. [CLI works differently; Cloud works differently] - property `DateTime Time2 {get; set;}` | py `chartFibonacciFan.Time2: DateTime` — Gets or sets the value 2 on the Time line. [CLI works differently; Cloud works differently] - property `double Y1 {get; set;}` | py `chartFibonacciFan.Y1: float` — Gets or sets the value 1 on the Y-axis. [CLI works differently; Cloud works differently] - property `double Y2 {get; set;}` | py `chartFibonacciFan.Y2: float` — Gets or sets the value 2 on the Y-axis. [CLI works differently; Cloud works differently] ## interface cAlgo.API.ChartFibonacciRetracement — Represents the Fibonacci Retracement chart object. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/Fibonacci/ChartFibonacciRetracement/index.md) - method `double CalculateY(int barIndex)` | py `chartFibonacciRetracement.CalculateY(barIndex: int) -> float` — Calculates Y-axis value corresponding the specified bar index. [CLI works differently; Cloud works differently] - method `double CalculateY(DateTime time)` | py `chartFibonacciRetracement.CalculateY(time: DateTime) -> float` — Calculates Y-axis value corresponding the specified time value. [CLI works differently; Cloud works differently] - property `DateTime Time1 {get; set;}` | py `chartFibonacciRetracement.Time1: DateTime` — Gets or sets the value 1 on the Time line. [CLI works differently; Cloud works differently] - property `DateTime Time2 {get; set;}` | py `chartFibonacciRetracement.Time2: DateTime` — Gets or sets the value 2 on the Time line. [CLI works differently; Cloud works differently] - property `double Y1 {get; set;}` | py `chartFibonacciRetracement.Y1: float` — Gets or sets the value 1 on the Y-axis. [CLI works differently; Cloud works differently] - property `double Y2 {get; set;}` | py `chartFibonacciRetracement.Y2: float` — Gets or sets the value 2 on the Y-axis. [CLI works differently; Cloud works differently] ## interface cAlgo.API.ChartFibonacciTimezones — Represents the Fibonacci Timezones chart object. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/Fibonacci/ChartFibonacciTimezones/index.md) - property `DateTime Time1 {get; set;}` | py `chartFibonacciTimezones.Time1: DateTime` — Gets or sets the value 1 on the Time line. [CLI works differently; Cloud works differently] - property `DateTime Time2 {get; set;}` | py `chartFibonacciTimezones.Time2: DateTime` — Gets or sets the value 2 on the Time line. [CLI works differently; Cloud works differently] - property `double Y1 {get; set;}` | py `chartFibonacciTimezones.Y1: float` — Gets or sets the value 1 on the Y-axis. [CLI works differently; Cloud works differently] - property `double Y2 {get; set;}` | py `chartFibonacciTimezones.Y2: float` — Gets or sets the value 2 on the Y-axis. [CLI works differently; Cloud works differently] ## interface cAlgo.API.ChartFrame — Represents a chart frame. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Chart/ChartFrame/index.md) - method `bool TryChangeTimeFrame(TimeFrame timeFrame)` | py `chartFrame.TryChangeTimeFrame(timeFrame: TimeFrame) -> bool` — Changes the time frame on the chart. [CLI not supported; Cloud not supported] - method `bool TryChangeTimeFrameAndSymbol(TimeFrame timeFrame, string symbolName)` | py `chartFrame.TryChangeTimeFrameAndSymbol(timeFrame: TimeFrame, symbolName: str) -> bool` — Changes the time frame and the symbol on the chart. [CLI not supported; Cloud not supported] - property `Chart Chart {get;}` | py `chartFrame.Chart: Chart` — Returns frame chart. [CLI not supported; Cloud not supported] - property `LinkedChartGroup LinkedChartGroup {get; set;}` | py `chartFrame.LinkedChartGroup: LinkedChartGroup` — Get / set linked group of frame. [CLI not supported; Cloud not supported] - property `Symbol Symbol {get; set;}` | py `chartFrame.Symbol: Symbol` — Get / set frame chart symbol. [CLI not supported; Cloud not supported] - property `TimeFrame TimeFrame {get; set;}` | py `chartFrame.TimeFrame: TimeFrame` — Get / set frame chart timeframe. [CLI not supported; Cloud not supported] - event `event Action LinkedChartGroupChanged;` | py `chartFrame.LinkedChartGroupChanged += handler # handler(obj: ChartFrameLinkedChartGroupChangedEventArgs)` — Occurs when frame LinkedChartGroup is changed. [CLI not supported; Cloud not supported] ## class cAlgo.API.ChartFrameLinkedChartGroupChangedEventArgs — Provides data for the chart frame LinkedChartGroup changed event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartFrameLinkedChartGroupChangedEventArgs/index.md) - property `public ChartFrame ChartFrame {get;}` | py `chartFrameLinkedChartGroupChangedEventArgs.ChartFrame: ChartFrame` — Returns the chart frame. [CLI not supported; Cloud not supported] ## interface cAlgo.API.ChartGannBase — Represents the Gann tools options. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/Gann/ChartGannBase/index.md) - property `Color Color {get; set;}` | py `chartGannBase.Color: Color` — Gets or sets the lines color. [CLI works differently; Cloud works differently] - property `bool DisplayPrices {get; set;}` | py `chartGannBase.DisplayPrices: bool` — Defines if the Gann levels display the prices [CLI works differently; Cloud works differently] - property `IReadonlyList GannLevels {get;}` | py `chartGannBase.GannLevels: IReadonlyList[GannLevel]` — Gets the Gann levels. [CLI works differently; Cloud works differently] - property `LineStyle LineStyle {get; set;}` | py `chartGannBase.LineStyle: LineStyle` — Gets or sets the lines style. [CLI works differently; Cloud works differently] - property `int Thickness {get; set;}` | py `chartGannBase.Thickness: int` — Gets or sets the lines thickness. [CLI works differently; Cloud works differently] - property `DateTime Time1 {get; set;}` | py `chartGannBase.Time1: DateTime` — Gets or sets the first point time value on the Time line. [CLI works differently; Cloud works differently] - property `DateTime Time2 {get; set;}` | py `chartGannBase.Time2: DateTime` — Gets or sets the second point time value on the Time line. [CLI works differently; Cloud works differently] - property `double Y1 {get; set;}` | py `chartGannBase.Y1: float` — Gets or sets the first point value on the Y-axis. [CLI works differently; Cloud works differently] - property `double Y2 {get; set;}` | py `chartGannBase.Y2: float` — Gets or sets the second point value on the Y-axis. [CLI works differently; Cloud works differently] ## interface cAlgo.API.ChartGannBox — Represents the Gann Box chart object. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/Gann/ChartGannBox/index.md) ## interface cAlgo.API.ChartGannFan — Represents the Gann Fan chart object. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/Gann/ChartGannFan/index.md) - method `double CalculateY(int barIndex, GannLevel level)` | py `chartGannFan.CalculateY(barIndex: int, level: GannLevel) -> float` — Calculates Y-axis value corresponding the specified bar index. [CLI works differently; Cloud works differently] - method `double CalculateY(DateTime time, GannLevel level)` | py `chartGannFan.CalculateY(time: DateTime, level: GannLevel) -> float` — Calculates Y-axis value corresponding the specified time value. [CLI works differently; Cloud works differently] ## interface cAlgo.API.ChartGannSquare — Represents the Gann Square chart object. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/Gann/ChartGannSquare/index.md) - method `double CalculateY(int barIndex, GannLevel level)` | py `chartGannSquare.CalculateY(barIndex: int, level: GannLevel) -> float` — Calculates Y-axis value corresponding the specified bar index. [CLI works differently; Cloud works differently] - method `double CalculateY(DateTime time, GannLevel level)` | py `chartGannSquare.CalculateY(time: DateTime, level: GannLevel) -> float` — Calculates Y-axis value corresponding the specified time value. [CLI works differently; Cloud works differently] ## interface cAlgo.API.ChartGannSquareFixed — Represents the Gann Square Fixed chart object with screen-space rendering. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/Gann/ChartGannSquareFixed/index.md) - method `double CalculateY(int barIndex, GannLevel level)` | py `chartGannSquareFixed.CalculateY(barIndex: int, level: GannLevel) -> float` — Calculates Y-axis value corresponding the specified bar index. [CLI works differently; Cloud works differently] - method `double CalculateY(DateTime time, GannLevel level)` | py `chartGannSquareFixed.CalculateY(time: DateTime, level: GannLevel) -> float` — Calculates Y-axis value corresponding the specified time value. [CLI works differently; Cloud works differently] ## interface cAlgo.API.ChartHorizontalLine — Represents the Horizontal Line chart object. Used to mark a certain value on the Y-axis throughout the whole chart. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartHorizontalLine/index.md) - property `Color Color {get; set;}` | py `chartHorizontalLine.Color: Color` — Gets or sets the line color. [CLI works differently; Cloud works differently] - property `LineStyle LineStyle {get; set;}` | py `chartHorizontalLine.LineStyle: LineStyle` — Gets or sets the line style. [CLI works differently; Cloud works differently] - property `int Thickness {get; set;}` | py `chartHorizontalLine.Thickness: int` — Gets or sets the line thickness. [CLI works differently; Cloud works differently] - property `double Y {get; set;}` | py `chartHorizontalLine.Y: float` — Gets or sets the Y-axis value of the line location. [CLI works differently; Cloud works differently] ## interface cAlgo.API.ChartIcon — Represents the Icon chart object. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartIcon/index.md) - property `Color Color {get; set;}` | py `chartIcon.Color: Color` — Gets or sets the color of the icon. [CLI works differently; Cloud works differently] - property `ChartIconType IconType {get; set;}` | py `chartIcon.IconType: ChartIconType` — Gets or sets the type of the icon. [CLI works differently; Cloud works differently] - property `DateTime Time {get; set;}` | py `chartIcon.Time: DateTime` — Gets or sets the Time value of the icon location. [CLI works differently; Cloud works differently] - property `double Y {get; set;}` | py `chartIcon.Y: float` — Gets or sets the Y-axis value of the icon location. [CLI works differently; Cloud works differently] ## enum cAlgo.API.ChartIconType — Represents the type of the Icon. (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartIconType/index.md) - enum value `ChartIconType.UpArrow;` | py `ChartIconType.UpArrow` — The Up Arrow icon. - enum value `ChartIconType.DownArrow;` | py `ChartIconType.DownArrow` — The Down Arrow icon. - enum value `ChartIconType.Circle;` | py `ChartIconType.Circle` — The Circle icon. - enum value `ChartIconType.Square;` | py `ChartIconType.Square` — The Square icon. - enum value `ChartIconType.Diamond;` | py `ChartIconType.Diamond` — The Diamond icon. - enum value `ChartIconType.Star;` | py `ChartIconType.Star` — The Star icon. - enum value `ChartIconType.UpTriangle;` | py `ChartIconType.UpTriangle` — The Up Triangle icon. - enum value `ChartIconType.DownTriangle;` | py `ChartIconType.DownTriangle` — The Down Triangle icon. ## interface cAlgo.API.ChartIndicator — The interface representing an indicator attached to a chart. Provides properties that allow for accessing various information about an indicator. (https://help.ctrader.com/ctrader-algo/references/Chart/Indicators/ChartIndicator/index.md) - property `IReadonlyList BarOutputs {get;}` | py `chartIndicator.BarOutputs: IReadonlyList[IndicatorBarOutput]` — Gets the IReadonlyList of indicator bar outputs. - property `string InstanceId {get;}` | py `chartIndicator.InstanceId: str` — Gets the ID of a specific indicator instance. - property `IReadonlyList LineOutputs {get;}` | py `chartIndicator.LineOutputs: IReadonlyList[IndicatorLineOutput]` — Gets the IReadonlyList of indicator output lines. - property `string Name {get;}` | py `chartIndicator.Name: str` — Gets the name of an indicator. - property `int PanelIndex {get; set;}` | py `chartIndicator.PanelIndex: int` — Gets or sets the index of the panel on which an indicator is displayed. - property `AlgoInstanceParameters Parameters {get;}` | py `chartIndicator.Parameters: AlgoInstanceParameters` — Gets the collection of indicator parameters. - property `IndicatorType Type {get;}` | py `chartIndicator.Type: IndicatorType` — Gets the IndicatorType of an indicator. ## class cAlgo.API.ChartIndicatorAddedEventArgs — The class representing AddedEventArgs for a ChildIndicator . [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartIndicatorAddedEventArgs/index.md) ## class cAlgo.API.ChartIndicatorEventArgs — The base class representing event args for a ChartIndicator . [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartIndicatorEventArgs/index.md) - property `public ChartIndicator Indicator {get;}` | py `chartIndicatorEventArgs.Indicator: ChartIndicator` — Gets the ChartIndicator that raised an event. [Cloud not supported] ## class cAlgo.API.ChartIndicatorModifiedEventArgs — The class representing ModifiedEventArgs for a ChartIndicator . [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartIndicatorModifiedEventArgs/index.md) ## class cAlgo.API.ChartIndicatorRemovedEventArgs — The class representing RemovedEventArgs for a ChartIndicator . [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartIndicatorRemovedEventArgs/index.md) ## interface cAlgo.API.ChartIndicators — The interface representing a chart indicator instances collection. Provides properties and events that allow for accessing various information about indicators attached to a chart. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Chart/Indicators/ChartIndicators/index.md) - method `ChartIndicator Add(string name, object[] parameterValues)` | py `api.ChartIndicators.Add(name: str, parameterValues: list[object]) -> ChartIndicator` — Adds a new indicator to a chart. [Cloud not supported] - method `ChartIndicator Add(IndicatorType type, object[] parameterValues)` | py `api.ChartIndicators.Add(type: IndicatorType, parameterValues: list[object]) -> ChartIndicator` — Adds a new indicator to a chart. [Cloud not supported] - method `bool Remove(ChartIndicator indicator)` | py `api.ChartIndicators.Remove(indicator: ChartIndicator) -> bool` — Removes an indicator from a chart. [Cloud not supported] - property `int Count {get;}` | py `api.ChartIndicators.Count: int` — Gets the number of all indicators attached to a chart. [Cloud not supported] - property `IReadonlyList Custom {get;}` | py `api.ChartIndicators.Custom: IReadonlyList[ChartIndicator]` — Gets the list of chart custom indicators. [Cloud not supported] - property `ChartIndicator Item {get;}` | py `api.ChartIndicators[instanceId: str] -> ChartIndicator` — Gets an indicator attached to a chart by its instance ID. [Cloud not supported] - property `IReadonlyList Standard {get;}` | py `api.ChartIndicators.Standard: IReadonlyList[ChartIndicator]` — Gets the list of chart standard indicators. [Cloud not supported] - event `event Action IndicatorAdded;` | py `api.ChartIndicators.IndicatorAdded += handler # handler(obj: ChartIndicatorAddedEventArgs)` — Occurs when a new indicator is added to a chart. [Cloud not supported] - event `event Action IndicatorModified;` | py `api.ChartIndicators.IndicatorModified += handler # handler(obj: ChartIndicatorModifiedEventArgs)` — Occurs when an indicator attached to a chart is modified. [Cloud not supported] - event `event Action IndicatorRemoved;` | py `api.ChartIndicators.IndicatorRemoved += handler # handler(obj: ChartIndicatorRemovedEventArgs)` — Occurs when an indicator is removed from a chart. [Cloud not supported] ## class cAlgo.API.ChartKeyboardEventArgs — Provides data for chart keyboard related events and callbacks [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartKeyboardEventArgs/index.md) - property `public bool AltKey {get;}` | py `chartKeyboardEventArgs.AltKey: bool` — True if Alt key was pressed otherwise False [CLI not supported; Cloud not supported] - property `public Chart Chart {get;}` | py `chartKeyboardEventArgs.Chart: Chart` — The chart that the event/callback occurred [CLI not supported; Cloud not supported] - property `public bool CtrlKey {get;}` | py `chartKeyboardEventArgs.CtrlKey: bool` — True if Ctrl key was pressed otherwise False [CLI not supported; Cloud not supported] - property `public Key Key {get;}` | py `chartKeyboardEventArgs.Key: Key` — Keyboard key [CLI not supported; Cloud not supported] - property `public ModifierKeys Modifiers {get;}` | py `chartKeyboardEventArgs.Modifiers: ModifierKeys` — Modifiers key that was used with the Key [CLI not supported; Cloud not supported] - property `public bool ShiftKey {get;}` | py `chartKeyboardEventArgs.ShiftKey: bool` — True if Shift key was pressed otherwise False [CLI not supported; Cloud not supported] ## interface cAlgo.API.ChartManager — Represents the list of all the chart frames. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Chart/ChartManager/index.md) - method `ChartFrame AddChartFrame(string symbolName, TimeFrame timeFrame)` | py `api.ChartManager.AddChartFrame(symbolName: str, timeFrame: TimeFrame) -> ChartFrame` — Adds a new chart frame to main chart container. [CLI not supported; Cloud not supported] - method `ChartFrame AddChartFrame(string symbolName, TimeFrame timeFrame, ChartContainer targetChartContainer)` | py `api.ChartManager.AddChartFrame(symbolName: str, timeFrame: TimeFrame, targetChartContainer: ChartContainer) -> ChartFrame` — Adds a new chart frame to target chart container. [CLI not supported; Cloud not supported] - method `CustomFrame AddCustomFrame(string title)` | py `api.ChartManager.AddCustomFrame(title: str) -> CustomFrame` — Adds a new custom frame to main chart container. [CLI not supported; Cloud not supported] - method `CustomFrame AddCustomFrame(string title, ChartContainer targetChartContainer)` | py `api.ChartManager.AddCustomFrame(title: str, targetChartContainer: ChartContainer) -> CustomFrame` — Adds a new custom frame to target chart container. [CLI not supported; Cloud not supported] - method `ChartFrame GetChartFrame(string frameId)` | py `api.ChartManager.GetChartFrame(frameId: str) -> ChartFrame` — Gets a chart frame by it is Id. [CLI not supported; Cloud not supported] - method `CustomFrame GetCustomFrame(string frameId)` | py `api.ChartManager.GetCustomFrame(frameId: str) -> CustomFrame` — Gets a custom frame by it is Id. [CLI not supported; Cloud not supported] - method `bool RemoveFrame(string frameId)` | py `api.ChartManager.RemoveFrame(frameId: str) -> bool` — Removes a frame by it is Id. [CLI not supported; Cloud not supported] - property `ChartContainer ActiveChartContainer {get;}` | py `api.ChartManager.ActiveChartContainer: ChartContainer` — Returns current active chart container if any otherwise null. [CLI not supported; Cloud not supported] - property `Frame ActiveFrame {get;}` | py `api.ChartManager.ActiveFrame: Frame` — Returns current active frame if any otherwise null. [CLI not supported; Cloud not supported] - property `ChartContainers ChartContainers {get;}` | py `api.ChartManager.ChartContainers: ChartContainers` — Returns chart containers. [CLI not supported; Cloud not supported] - property `int Count {get;}` | py `api.ChartManager.Count: int` — Returns number of all frames. [CLI not supported; Cloud not supported] - event `event Action ActiveFrameChanged;` | py `api.ChartManager.ActiveFrameChanged += handler # handler(obj: ActiveFrameChangedEventArgs)` — Occurs when active frame is changed. [CLI not supported; Cloud not supported] - event `event Action FramesAdded;` | py `api.ChartManager.FramesAdded += handler # handler(obj: FramesAddedEventArgs)` — Occurs when new frames are added. [CLI not supported; Cloud not supported] - event `event Action FramesRemoved;` | py `api.ChartManager.FramesRemoved += handler # handler(obj: FramesRemovedEventArgs)` — Occurs when frames are removed. [CLI not supported; Cloud not supported] ## enum cAlgo.API.ChartMode — Represents the predefined chart container modes. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Chart/ChartMode/index.md) - enum value `ChartMode.Single;` | py `ChartMode.Single` — Single chart mode. [CLI not supported; Cloud not supported] - enum value `ChartMode.Multi;` | py `ChartMode.Multi` — Multiple chart mode. [CLI not supported; Cloud not supported] - enum value `ChartMode.Free;` | py `ChartMode.Free` — Free chart mode. [CLI not supported; Cloud not supported] - enum value `ChartMode.Floating;` | py `ChartMode.Floating` — Floating chart mode. [CLI not supported; Cloud not supported] ## class cAlgo.API.ChartMouseEventArgs — Provides data for the mouse related routed events. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartMouseEventArgs/index.md) - property `public bool AltKey {get;}` | py `chartMouseEventArgs.AltKey: bool` — Defines whether the Alt key is pressed during the mouse event. [CLI not supported; Cloud not supported] - property `public double BarIndex {get;}` | py `chartMouseEventArgs.BarIndex: float` — Gets the exact bar index of the mouse event. [CLI not supported; Cloud not supported] - property `public Chart Chart {get;}` | py `chartMouseEventArgs.Chart: Chart` — Gets the chart. [CLI not supported; Cloud not supported] - property `public ChartArea ChartArea {get;}` | py `chartMouseEventArgs.ChartArea: ChartArea` — Gets the chart area. [CLI not supported; Cloud not supported] - property `public bool CtrlKey {get;}` | py `chartMouseEventArgs.CtrlKey: bool` — Defines whether the Ctrl key is pressed during the mouse event. [CLI not supported; Cloud not supported] - property `public double MouseX {get;}` | py `chartMouseEventArgs.MouseX: float` — Gets the X-axis value of the mouse event. [CLI not supported; Cloud not supported] - property `public double MouseY {get;}` | py `chartMouseEventArgs.MouseY: float` — Gets the Y-axis value of the mouse event. [CLI not supported; Cloud not supported] - property `public bool ShiftKey {get;}` | py `chartMouseEventArgs.ShiftKey: bool` — Defines whether the Shift key is pressed during the mouse event. [CLI not supported; Cloud not supported] - property `public DateTime TimeValue {get;}` | py `chartMouseEventArgs.TimeValue: DateTime` — Gets the time value on the X-axis where the mouse event occurs. [CLI not supported; Cloud not supported] - property `public double YValue {get;}` | py `chartMouseEventArgs.YValue: float` — Gets the Y-axis value of the mouse event. [CLI not supported; Cloud not supported] ## class cAlgo.API.ChartMouseWheelEventArgs — Provides data for the mouse wheel scroll event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartMouseWheelEventArgs/index.md) - property `public int Delta {get;}` | py `chartMouseWheelEventArgs.Delta: int` — Gets the number of detents the mouse wheel has rotated. A detent is one notch of the mouse wheel. [CLI not supported; Cloud not supported] ## interface cAlgo.API.ChartObject — Represents the chart object. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartObject/index.md) - property `string Comment {get; set;}` | py `chartObject.Comment: str` — Gets or sets the comment for the chart object. [CLI works differently; Cloud works differently] - property `bool IsAlive {get;}` | py `chartObject.IsAlive: bool` — Defines if the chart object still exists on the chart. [CLI works differently; Cloud works differently] - property `bool IsHidden {get; set;}` | py `chartObject.IsHidden: bool` — Gets or sets if object is hidden and not visible to user or not. [CLI works differently; Cloud works differently] - property `bool IsInteractive {get; set;}` | py `chartObject.IsInteractive: bool` — Defines whether the instance is interactive. The non-interactive chart objects cannot be selected, have no hover effect and cannot be searched. Available only for the current cBot or Indicator and will be removed when the cBot/Indicator stops. [CLI works differently; Cloud works differently] - property `bool IsLocked {get; set;}` | py `chartObject.IsLocked: bool` — Gets or sets if the object is locked or not, user can't move locked objects unless unlocked. [CLI works differently; Cloud works differently] - property `string Name {get;}` | py `chartObject.Name: str` — Gets the chart object name - the unique identifier for the object in the current chart area. [CLI works differently; Cloud works differently] - property `ChartObjectType ObjectType {get;}` | py `chartObject.ObjectType: ChartObjectType` — Gets the chart object type. [CLI works differently; Cloud works differently] - property `int ZIndex {get; set;}` | py `chartObject.ZIndex: int` — Gets or sets the location of a chart object on the Z-axis in respect to the other chart objects. [CLI works differently; Cloud works differently] ## class cAlgo.API.ChartObjectEventArgs — Provides data for the chart object change event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartObjectEventArgs/index.md) - property `public ChartArea Area {get;}` | py `chartObjectEventArgs.Area: ChartArea` — Gets the chart area. - property `public Chart Chart {get;}` | py `chartObjectEventArgs.Chart: Chart` — Gets the chart. - property `public ChartObject ChartObject {get;}` | py `chartObjectEventArgs.ChartObject: ChartObject` — Gets the chart object. ## class cAlgo.API.ChartObjectHoverChangedEventArgs — Provides data for the mouse hover over a chart object event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartObjectHoverChangedEventArgs/index.md) - property `public bool IsObjectHovered {get;}` | py `chartObjectHoverChangedEventArgs.IsObjectHovered: bool` — Defines if the mouse is hovered over the chart object. [CLI not supported; Cloud not supported] ## enum cAlgo.API.ChartObjectType — The chart object types. (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartObjectType/index.md) - enum value `ChartObjectType.HorizontalLine;` | py `ChartObjectType.HorizontalLine` — The horizontal line. The line parallel to the X-axis that can be set on any Y-axis value. - enum value `ChartObjectType.VerticalLine;` | py `ChartObjectType.VerticalLine` — The vertical line. The line parallel to the Y-axis that can be set on any X-axis value. used to mark certain time event or chart bar on the chart.TBD - enum value `ChartObjectType.TrendLine;` | py `ChartObjectType.TrendLine` — The trend line. The line with the start and end points that can be drawn in any direction on the chart. - enum value `ChartObjectType.Text;` | py `ChartObjectType.Text` — The text that can be placed directly in the chart, bound to X-Y axises. - enum value `ChartObjectType.StaticText;` | py `ChartObjectType.StaticText` — The static positioned text that can be placed on fixed locations in the chart - enum value `ChartObjectType.Icon;` | py `ChartObjectType.Icon` — The icon. The collection of icons that can be placed directly in the chart, bound to X-Y axises. - enum value `ChartObjectType.FibonacciRetracement;` | py `ChartObjectType.FibonacciRetracement` — The Fibonacci Retracement that can be placed directly in the chart, bound to X-Y axises. - a charting technique that uses the Fibonacci ratios to indicate the areas of support or resistance. - enum value `ChartObjectType.FibonacciExpansion;` | py `ChartObjectType.FibonacciExpansion` — The Fibonacci Expansion that can be placed directly in the chart, bound to X-Y axises. - a charting technique used to plot possible levels of support and resistance by tracking not only the primary trend but also the retracement. - enum value `ChartObjectType.FibonacciFan;` | py `ChartObjectType.FibonacciFan` — The Fibonacci Fan that can be placed directly in the chart, bound to X-Y axises. a charting technique used to estimate support and resistance levels by drawing the new trend lines based on the Fibonacci Retracement levels. - enum value `ChartObjectType.AndrewsPitchfork;` | py `ChartObjectType.AndrewsPitchfork` — The Andrews Pitchfork that can be placed directly in the chart, bound to X-Y axises. - enum value `ChartObjectType.GannFan;` | py `ChartObjectType.GannFan` — The Gann Fan that can be placed directly in the chart, bound to X-Y axises. A charting technique used to estimate support and resistance levels by drawing trend lines at different Gann angles (1x1, 2x1, 1x2, etc.). - enum value `ChartObjectType.GannBox;` | py `ChartObjectType.GannBox` — The Gann Box that can be placed directly in the chart, bound to X-Y axises. A charting technique that combines Gann angles with horizontal and vertical lines to create a box structure for analyzing support and resistance levels. - enum value `ChartObjectType.GannSquare;` | py `ChartObjectType.GannSquare` — The Gann Square that can be placed directly in the chart, bound to X-Y axises. A charting technique that combines Gann box grid, fan rays from the start point, and arcs at level intersections for comprehensive market geometry analysis. - enum value `ChartObjectType.GannSquareFixed;` | py `ChartObjectType.GannSquareFixed` — The Gann Square Fixed that can be placed directly in the chart with fixed screen-space size. A charting technique with a single anchor point and control point that renders a 5x5 grid, Gann fan rays, and circular arcs independent of zoom level. - enum value `ChartObjectType.Rectangle;` | py `ChartObjectType.Rectangle` — The rectangle of any preferable size and rotation that can be drawn directly in the chart, bound to X-Y axises. - enum value `ChartObjectType.Ellipse;` | py `ChartObjectType.Ellipse` — The ellipse of any preferable size and rotation that can be drawn directly in the chart, bound to X-Y axises. - enum value `ChartObjectType.Triangle;` | py `ChartObjectType.Triangle` — The triangle of any preferable size and rotation that can be drawn directly in the chart, bound to X-Y axises. - enum value `ChartObjectType.EquidistantChannel;` | py `ChartObjectType.EquidistantChannel` — The equidistant channel that can be placed directly in the chart, bound to X-Y axises. - enum value `ChartObjectType.Drawing;` | py `ChartObjectType.Drawing` — The user drawings in the chart with Pencil - enum value `ChartObjectType.ArrowLine;` | py `ChartObjectType.ArrowLine` — The arrow line. - enum value `ChartObjectType.FibonacciTimezones;` | py `ChartObjectType.FibonacciTimezones` — The Fibonacci Timezones - enum value `ChartObjectType.RiskReward;` | py `ChartObjectType.RiskReward` — The Risk Reward - enum value `ChartObjectType.FibonacciArc;` | py `ChartObjectType.FibonacciArc` — The Fibonacci Arc that can be placed directly in the chart, bound to X-Y axises. A charting technique using concentric arcs drawn at the Fibonacci levels off two anchor points to estimate support and resistance zones in both price and time. - enum value `ChartObjectType.ElliottImpulse;` | py `ChartObjectType.ElliottImpulse` — The Elliott Impulse Wave (1-2-3-4-5). A five-wave motive pattern drawn as a labelled polyline over six pivots. - enum value `ChartObjectType.ElliottCorrection;` | py `ChartObjectType.ElliottCorrection` — The Elliott Correction Wave (A-B-C). A three-wave corrective pattern drawn as a labelled polyline over four pivots. - enum value `ChartObjectType.ElliottTriangle;` | py `ChartObjectType.ElliottTriangle` — The Elliott Triangle Wave (A-B-C-D-E). A five-leg triangle drawn as a labelled polyline over six pivots. - enum value `ChartObjectType.ElliottDoubleCombo;` | py `ChartObjectType.ElliottDoubleCombo` — The Elliott Double Combo Wave (W-X-Y). A complex correction drawn as a labelled polyline over four pivots. - enum value `ChartObjectType.ElliottTripleCombo;` | py `ChartObjectType.ElliottTripleCombo` — The Elliott Triple Combo Wave (W-X-Y-X-Z). An extended complex correction drawn as a labelled polyline over six pivots. ## class cAlgo.API.ChartObjectsAddedEventArgs — Provides data for the adding chart objects event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartObjectsAddedEventArgs/index.md) ## class cAlgo.API.ChartObjectsEventArgs — Provides data for the chart objects change event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartObjectsEventArgs/index.md) - property `public ChartArea Area {get;}` | py `chartObjectsEventArgs.Area: ChartArea` — Gets the chart area. - property `public Chart Chart {get;}` | py `chartObjectsEventArgs.Chart: Chart` — Gets the chart. - property `public IReadonlyList ChartObjects {get;}` | py `chartObjectsEventArgs.ChartObjects: IReadonlyList[ChartObject]` — Gets chart objects. ## class cAlgo.API.ChartObjectsMoveEndedEventArgs — Provides data for the chart objects move ended event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartObjectsMoveEndedEventArgs/index.md) ## class cAlgo.API.ChartObjectsMoveStartedEventArgs — Provides data for the chart objects move started event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartObjectsMoveStartedEventArgs/index.md) ## class cAlgo.API.ChartObjectsMovingEventArgs — Provides data for the chart objects moving event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartObjectsMovingEventArgs/index.md) ## class cAlgo.API.ChartObjectsRemovedEventArgs — Provides data for the removing chart objects event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartObjectsRemovedEventArgs/index.md) ## class cAlgo.API.ChartObjectsSelectionChangedEventArgs — Provides data for the chart objects selecting or deselecting event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartObjectsSelectionChangedEventArgs/index.md) - property `public ChartArea Area {get;}` | py `chartObjectsSelectionChangedEventArgs.Area: ChartArea` — A chart area where event occured [CLI not supported; Cloud not supported] - property `public Chart Chart {get;}` | py `chartObjectsSelectionChangedEventArgs.Chart: Chart` — A chart where event occured [CLI not supported; Cloud not supported] - property `public IReadonlyList ObjectsAddedToSelection {get;}` | py `chartObjectsSelectionChangedEventArgs.ObjectsAddedToSelection: IReadonlyList[ChartObject]` — A list of objects that were added to selection [CLI not supported; Cloud not supported] - property `public IReadonlyList ObjectsRemovedFromSelection {get;}` | py `chartObjectsSelectionChangedEventArgs.ObjectsRemovedFromSelection: IReadonlyList[ChartObject]` — A list of objects that were removed from selection [CLI not supported; Cloud not supported] ## class cAlgo.API.ChartObjectsUpdatedEventArgs — Provides data for the chart objects update event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartObjectsUpdatedEventArgs/index.md) ## struct cAlgo.API.ChartPoint — Represents a single chart anchor point - a time value on the X-axis and a Y-axis value. (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartPoint/index.md) - constructor `public ChartPoint(DateTime Time, double Y)` | py `ChartPoint(Time: DateTime, Y: float)` — Represents a single chart anchor point - a time value on the X-axis and a Y-axis value. - property `public DateTime Time {get; set;}` | py `chartPoint.Time: DateTime` — The time value on the X-axis. - property `public double Y {get; set;}` | py `chartPoint.Y: float` — The Y-axis value. ## enum cAlgo.API.ChartPriceAxisPosition — Represents the side of the chart where the price axis is displayed. (https://help.ctrader.com/ctrader-algo/references/Chart/ChartPriceAxisPosition/index.md) - enum value `ChartPriceAxisPosition.Right;` | py `ChartPriceAxisPosition.Right` — The price axis is displayed on the right side of the chart. - enum value `ChartPriceAxisPosition.Left;` | py `ChartPriceAxisPosition.Left` — The price axis is displayed on the left side of the chart. ## class cAlgo.API.ChartPriceScaleEventArgs — Provides data for the chart area price scale change event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartPriceScaleEventArgs/index.md) - property `public Chart Chart {get;}` | py `chartPriceScaleEventArgs.Chart: Chart` — Gets the chart. - property `public ChartArea ChartArea {get;}` | py `chartPriceScaleEventArgs.ChartArea: ChartArea` — Gets the chart area whose price scale changed. It is the chart itself for the main area. ## enum cAlgo.API.ChartPriceScaleMode — Represents the price scale mode of the chart main area. (https://help.ctrader.com/ctrader-algo/references/Chart/ChartPriceScaleMode/index.md) - enum value `ChartPriceScaleMode.Regular;` | py `ChartPriceScaleMode.Regular` — The regular linear price scale. The Y axis shows prices. - enum value `ChartPriceScaleMode.Percent;` | py `ChartPriceScaleMode.Percent` — The percentage price scale. The Y axis shows the percentage change of the price from the base price, which is the close price of the first visible bar. Auto scale is always enabled in this mode. - enum value `ChartPriceScaleMode.IndexedTo100;` | py `ChartPriceScaleMode.IndexedTo100` — The indexed to 100 price scale. The Y axis shows the price as an index where the base price, the close price of the first visible bar, equals 100. Auto scale is always enabled in this mode. - enum value `ChartPriceScaleMode.Logarithmic;` | py `ChartPriceScaleMode.Logarithmic` — The logarithmic price scale. Equal vertical distances represent equal percentage changes of the price. Zero and negative prices are drawn on a logarithmic scale mirrored below zero. ## interface cAlgo.API.ChartRectangle — Represents the Rectangle chart object. A rectangle of any preferable size and rotation that can be drawn directly in the chart, bound to X-Y axises. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/Shapes/ChartRectangle/index.md) - property `DateTime Time1 {get; set;}` | py `chartRectangle.Time1: DateTime` — Gets or sets the value 1 on the Time line. [CLI works differently; Cloud works differently] - property `DateTime Time2 {get; set;}` | py `chartRectangle.Time2: DateTime` — Gets or sets the value 2 on the Time line. [CLI works differently; Cloud works differently] - property `double Y1 {get; set;}` | py `chartRectangle.Y1: float` — Gets or sets the value 1 on the Y-axis. [CLI works differently; Cloud works differently] - property `double Y2 {get; set;}` | py `chartRectangle.Y2: float` — Gets or sets the value 2 on the Y-axis. [CLI works differently; Cloud works differently] ## interface cAlgo.API.ChartRiskReward — Represents the risk reward chart object. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartRiskReward/index.md) - property `double EntryPrice {get; set;}` | py `chartRiskReward.EntryPrice: float` — Gets or sets the entry price. [CLI works differently; Cloud works differently] - property `bool IsFixedRatio {get; set;}` | py `chartRiskReward.IsFixedRatio: bool` — Gets or sets if risk reward ratio is fixed or not. [CLI works differently; Cloud works differently] - property `bool IsMarketRange {get; set;}` | py `chartRiskReward.IsMarketRange: bool` — Gets or sets if order type is market range. [CLI works differently; Cloud works differently] - property `double LimitRangePips {get; set;}` | py `chartRiskReward.LimitRangePips: float` — Gets or sets order limit range pips amount. [CLI works differently; Cloud works differently] - property `double MarketRangePips {get; set;}` | py `chartRiskReward.MarketRangePips: float` — Gets or sets order market range pips amount. [CLI works differently; Cloud works differently] - property `OrderType OrderType {get; set;}` | py `chartRiskReward.OrderType: OrderType` — Gets or sets the order type. [CLI works differently; Cloud works differently] - property `Color RewardColor {get; set;}` | py `chartRiskReward.RewardColor: Color` — Gets or sets the reward color. [CLI works differently; Cloud works differently] - property `LineStyle RewardLineStyle {get; set;}` | py `chartRiskReward.RewardLineStyle: LineStyle` — Gets or sets the reward style. [CLI works differently; Cloud works differently] - property `int RewardThickness {get; set;}` | py `chartRiskReward.RewardThickness: int` — Gets or sets the reward thickness. [CLI works differently; Cloud works differently] - property `Color RiskColor {get; set;}` | py `chartRiskReward.RiskColor: Color` — Gets or sets the risk color. [CLI works differently; Cloud works differently] - property `LineStyle RiskLineStyle {get; set;}` | py `chartRiskReward.RiskLineStyle: LineStyle` — Gets or sets the risk line style. [CLI works differently; Cloud works differently] - property `double RiskRewardRatio {get; set;}` | py `chartRiskReward.RiskRewardRatio: float` — Gets or sets risk reward ratio. [CLI works differently; Cloud works differently] - property `int RiskThickness {get; set;}` | py `chartRiskReward.RiskThickness: int` — Gets or sets the risk line thickness. [CLI works differently; Cloud works differently] - property `double StopLossPrice {get; set;}` | py `chartRiskReward.StopLossPrice: float` — Gets or sets the stop loss price. [CLI works differently; Cloud works differently] - property `double TakeProfitPrice {get; set;}` | py `chartRiskReward.TakeProfitPrice: float` — Gets or sets the take profit price. [CLI works differently; Cloud works differently] - property `DateTime Time1 {get; set;}` | py `chartRiskReward.Time1: DateTime` — Gets or sets the value 1 on the Time line. [CLI works differently; Cloud works differently] - property `DateTime Time2 {get; set;}` | py `chartRiskReward.Time2: DateTime` — Gets or sets the value 2 on the Time line. [CLI works differently; Cloud works differently] - property `TradeType TradeType {get; set;}` | py `chartRiskReward.TradeType: TradeType` — Gets or sets the trade type. [CLI works differently; Cloud works differently] - property `ChartRiskRewardType Type {get; set;}` | py `chartRiskReward.Type: ChartRiskRewardType` — Gets or sets type. [CLI works differently; Cloud works differently] - property `double VolumeInUnits {get; set;}` | py `chartRiskReward.VolumeInUnits: float` — Gets or sets the volume (in units). [CLI works differently; Cloud works differently] ## enum cAlgo.API.ChartRiskRewardAmountType — Represents different amount types for chart risk reward. (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartRiskRewardAmountType/index.md) - enum value `ChartRiskRewardAmountType.Money;` | py `ChartRiskRewardAmountType.Money` — Account currency amount. - enum value `ChartRiskRewardAmountType.BalancePercentage;` | py `ChartRiskRewardAmountType.BalancePercentage` — Account balance percentage. - enum value `ChartRiskRewardAmountType.EquityPercentage;` | py `ChartRiskRewardAmountType.EquityPercentage` — Account equity percentage. ## record cAlgo.API.ChartRiskRewardFixedRewardType — Represents fixed reward type of chart risk reward. (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartRiskRewardFixedRewardType/index.md) - constructor `public ChartRiskRewardFixedRewardType(ChartRiskRewardAmountType amountType, double amount)` | py `ChartRiskRewardFixedRewardType(amountType: ChartRiskRewardAmountType, amount: float)` — Creates an instance of ChartRiskRewardFixedRewardType. - constructor `public ChartRiskRewardFixedRewardType(ChartRiskRewardFixedRewardType original)` | py `ChartRiskRewardFixedRewardType(original: ChartRiskRewardFixedRewardType)` — - property `public double Amount {get;}` | py `chartRiskRewardFixedRewardType.Amount: float` — Gets or sets amount. - property `public ChartRiskRewardAmountType AmountType {get;}` | py `chartRiskRewardFixedRewardType.AmountType: ChartRiskRewardAmountType` — Gets or sets amount mode. ## record cAlgo.API.ChartRiskRewardFixedRiskType — Represents fixed risk type of chart risk reward. (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartRiskRewardFixedRiskType/index.md) - constructor `public ChartRiskRewardFixedRiskType(ChartRiskRewardAmountType amountType, double amount)` | py `ChartRiskRewardFixedRiskType(amountType: ChartRiskRewardAmountType, amount: float)` — Creates an instance of ChartRiskRewardFixedRiskType. - constructor `public ChartRiskRewardFixedRiskType(ChartRiskRewardFixedRiskType original)` | py `ChartRiskRewardFixedRiskType(original: ChartRiskRewardFixedRiskType)` — - property `public double Amount {get;}` | py `chartRiskRewardFixedRiskType.Amount: float` — Gets or sets amount. - property `public ChartRiskRewardAmountType AmountType {get;}` | py `chartRiskRewardFixedRiskType.AmountType: ChartRiskRewardAmountType` — Gets or sets amount mode. ## record cAlgo.API.ChartRiskRewardFixedSizeType — Represents fixed size type of chart risk reward. (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartRiskRewardFixedSizeType/index.md) - constructor `public ChartRiskRewardFixedSizeType(double volumeInUnits)` | py `ChartRiskRewardFixedSizeType(volumeInUnits: float)` — Creates an instance of ChartRiskRewardFixedSizeType. - constructor `public ChartRiskRewardFixedSizeType(ChartRiskRewardFixedSizeType original)` | py `ChartRiskRewardFixedSizeType(original: ChartRiskRewardFixedSizeType)` — - property `public double VolumeInUnits {get;}` | py `chartRiskRewardFixedSizeType.VolumeInUnits: float` — Gets or sets volume (in units). ## interface cAlgo.API.ChartRiskRewardType — Represents different types of chart risk reward. (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartRiskRewardType/index.md) ## interface cAlgo.API.ChartRobot — The interface representing a Robot instance attached to a chart. Provides properties that allow for accessing various information about a Robot. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Chart/Robots/ChartRobot/index.md) - method `void Start()` | py `chartRobot.Start() -> None` — Starts the Robot instance. [Cloud not supported] - method `void Stop()` | py `chartRobot.Stop() -> None` — Stops the Robot instance. [Cloud not supported] - property `string InstanceId {get;}` | py `chartRobot.InstanceId: str` — Gets the ID of a specific Robot instance. [Cloud not supported] - property `string Name {get;}` | py `chartRobot.Name: str` — Gets the name of a Robot instance. [Cloud not supported] - property `AlgoInstanceParameters Parameters {get;}` | py `chartRobot.Parameters: AlgoInstanceParameters` — Gets the collection of Robot parameters. [CLI works differently; Cloud not supported] - property `RobotState State {get;}` | py `chartRobot.State: RobotState` — Gets the current state of a Robot instance. [Cloud not supported] - property `RobotType Type {get;}` | py `chartRobot.Type: RobotType` — Gets the RobotType of a Robot instance. [Cloud not supported] ## class cAlgo.API.ChartRobotAddedEventArgs — The class representing AddedEventArgs for a ChartRobot . [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartRobotAddedEventArgs/index.md) ## class cAlgo.API.ChartRobotEventArgs — The base class representing event args for a ChartRobot . [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartRobotEventArgs/index.md) - property `public ChartRobot Robot {get;}` | py `chartRobotEventArgs.Robot: ChartRobot` — Gets the ChartRobot that raised an event. [Cloud not supported] ## class cAlgo.API.ChartRobotModifiedEventArgs — The class representing ModifiedEventArgs for a ChartRobot . [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartRobotModifiedEventArgs/index.md) ## class cAlgo.API.ChartRobotRemovedEventArgs — The class representing RemovedEventArgs for a ChartRobot . [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartRobotRemovedEventArgs/index.md) ## class cAlgo.API.ChartRobotStartedEventArgs — The class representing StartedEventArgs for a ChartRobot . [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartRobotStartedEventArgs/index.md) ## class cAlgo.API.ChartRobotStoppedEventArgs — The class representing StoppedEventArgs for a ChartRobot . [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartRobotStoppedEventArgs/index.md) ## interface cAlgo.API.ChartRobots — The interface representing a chart Robot instances collection. Provides properties and events that allow for accessing various information about Robots attached to a chart. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Chart/Robots/ChartRobots/index.md) - method `ChartRobot Add(string name, object[] parameterValues)` | py `api.ChartRobots.Add(name: str, parameterValues: list[object]) -> ChartRobot` — Adds a new Robot instance to a chart. [Cloud not supported] - method `ChartRobot Add(RobotType type, object[] parameterValues)` | py `api.ChartRobots.Add(type: RobotType, parameterValues: list[object]) -> ChartRobot` — Adds a new Robot instance to a chart. [Cloud not supported] - method `bool Remove(ChartRobot robot)` | py `api.ChartRobots.Remove(robot: ChartRobot) -> bool` — Removes a Robot instance from a chart. [Cloud not supported] - property `int Count {get;}` | py `api.ChartRobots.Count: int` — Gets the number of all Robots attached to a chart. [Cloud not supported] - property `ChartRobot Item {get;}` | py `api.ChartRobots[instanceId: str] -> ChartRobot` — Gets a Robot attached instance to a chart by its instance ID. [Cloud not supported] - event `event Action RobotAdded;` | py `api.ChartRobots.RobotAdded += handler # handler(obj: ChartRobotAddedEventArgs)` — Occurs when a Robot is added to a chart. [Cloud not supported] - event `event Action RobotModified;` | py `api.ChartRobots.RobotModified += handler # handler(obj: ChartRobotModifiedEventArgs)` — Occurs when a chart Robot instance is modified. [Cloud not supported] - event `event Action RobotRemoved;` | py `api.ChartRobots.RobotRemoved += handler # handler(obj: ChartRobotRemovedEventArgs)` — Occurs when a Robot is removed from a chart. [Cloud not supported] - event `event Action RobotStarted;` | py `api.ChartRobots.RobotStarted += handler # handler(obj: ChartRobotStartedEventArgs)` — Occurs when a chart Robot instance is started. [Cloud not supported] - event `event Action RobotStopped;` | py `api.ChartRobots.RobotStopped += handler # handler(obj: ChartRobotStoppedEventArgs)` — Occurs when a chart Robot instance is stopped. [Cloud not supported] ## interface cAlgo.API.ChartRobotsPermission — Chart Robots Permission (https://help.ctrader.com/ctrader-algo/references/Permissions/ChartRobotsPermission/index.md) ## class cAlgo.API.ChartScrollEventArgs — Provides data for the chart scrolling event. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartScrollEventArgs/index.md) - property `public int BarsDelta {get;}` | py `chartScrollEventArgs.BarsDelta: int` — Gets a value that indicates the amount of bars that the chart was scrolled for [Cloud not supported] - property `public double BottomYDelta {get;}` | py `chartScrollEventArgs.BottomYDelta: float` — Gets the lowest value of the bars delta. [Cloud not supported] - property `public Chart Chart {get;}` | py `chartScrollEventArgs.Chart: Chart` — Gets the chart. [Cloud not supported] - property `public ChartArea ChartArea {get;}` | py `chartScrollEventArgs.ChartArea: ChartArea` — Gets the chart area. [Cloud not supported] - property `public double TopYDelta {get;}` | py `chartScrollEventArgs.TopYDelta: float` — Gets the highest value of the bars delta. [Cloud not supported] ## interface cAlgo.API.ChartShape — Represents the Shape chart object. Allows drawing a Rectangle, a Triangle, and an Ellipse on the chart. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/Shapes/ChartShape/index.md) - property `Color Color {get; set;}` | py `chartShape.Color: Color` — Gets or sets the line color. [CLI works differently; Cloud works differently] - property `bool IsFilled {get; set;}` | py `chartShape.IsFilled: bool` — Defines if the shape is filled. [CLI works differently; Cloud works differently] - property `LineStyle LineStyle {get; set;}` | py `chartShape.LineStyle: LineStyle` — Gets or sets the line style. [CLI works differently; Cloud works differently] - property `int Thickness {get; set;}` | py `chartShape.Thickness: int` — Gets or sets the line thickness. [CLI works differently; Cloud works differently] ## class cAlgo.API.ChartSizeEventArgs — Provides data for the chart size change event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartSizeEventArgs/index.md) - property `public ChartArea Area {get;}` | py `chartSizeEventArgs.Area: ChartArea` — Gets the chart area. - property `public Chart Chart {get;}` | py `chartSizeEventArgs.Chart: Chart` — Gets the chart. ## interface cAlgo.API.ChartStaticText — Represents the chart static text. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartStaticText/index.md) - property `Color Color {get; set;}` | py `chartStaticText.Color: Color` — Gets or sets the chart static text color. [CLI works differently; Cloud works differently] - property `string FontFamily {get; set;}` | py `chartStaticText.FontFamily: str` — Gets or sets the font style of the text. [CLI works differently; Cloud works differently] - property `double FontSize {get; set;}` | py `chartStaticText.FontSize: float` — Gets or sets the font size of text [CLI works differently; Cloud works differently] - property `HorizontalAlignment HorizontalAlignment {get; set;}` | py `chartStaticText.HorizontalAlignment: HorizontalAlignment` — Gets or sets the chart static text horizontal alignment. [CLI works differently; Cloud works differently] - property `bool IsBold {get; set;}` | py `chartStaticText.IsBold: bool` — Gets or sets if the text is Bold or not [CLI works differently; Cloud works differently] - property `bool IsItalic {get; set;}` | py `chartStaticText.IsItalic: bool` — Gets or sets if the text is Italic or not [CLI works differently; Cloud works differently] - property `bool IsUnderlined {get; set;}` | py `chartStaticText.IsUnderlined: bool` — Gets or sets if the text is Underlined or not [CLI works differently; Cloud works differently] - property `string Text {get; set;}` | py `chartStaticText.Text: str` — Gets or sets the chart static text content. [CLI works differently; Cloud works differently] - property `VerticalAlignment VerticalAlignment {get; set;}` | py `chartStaticText.VerticalAlignment: VerticalAlignment` — Gets or sets the chart static text vertical alignment. [CLI works differently; Cloud works differently] ## interface cAlgo.API.ChartTemplate — Represents chart template. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Chart/Templates/ChartTemplate/index.md) - method `void Apply(Chart chart)` | py `chartTemplate.Apply(chart: Chart) -> None` — Applies current chart template to a chart. [Cloud not supported] - property `ChartTemplateColorSettings ColorSettings {get;}` | py `chartTemplate.ColorSettings: ChartTemplateColorSettings` — Gets the chart template color settings. [Cloud not supported] - property `ChartTemplateDisplaySettings DisplaySettings {get;}` | py `chartTemplate.DisplaySettings: ChartTemplateDisplaySettings` — Gets the chart template display settings. [Cloud not supported] - property `ChartTemplateIndicators Indicators {get;}` | py `chartTemplate.Indicators: ChartTemplateIndicators` — Gets the indicators of chart template. [Cloud not supported] - property `string Name {get;}` | py `chartTemplate.Name: str` — Gets the chart template name. [Cloud not supported] - property `ChartTemplateRobots Robots {get;}` | py `chartTemplate.Robots: ChartTemplateRobots` — Gets the robots of chart template. [Cloud not supported] ## class cAlgo.API.ChartTemplateAddedEventArgs — Occurs when a new chart template is added. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartTemplateAddedEventArgs/index.md) - property `public ChartTemplate ChartTemplate {get;}` | py `chartTemplateAddedEventArgs.ChartTemplate: ChartTemplate` — Gets the chart template. [Cloud not supported] ## interface cAlgo.API.ChartTemplateAlgoInstanceParameter — The interface representing a chart template indicator / robot instance parameter. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Chart/Templates/ChartTemplateAlgoInstanceParameter/index.md) - property `string Name {get;}` | py `chartTemplateAlgoInstanceParameter.Name: str` — Gets the name of a parameter. [Cloud not supported] - property `object Value {get; set;}` | py `chartTemplateAlgoInstanceParameter.Value: object` — Gets the value of a parameter. [Cloud not supported] ## interface cAlgo.API.ChartTemplateAlgoInstanceParameters — Represents the collection of all the parameters of a chart template indicator or Robot. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Chart/Templates/ChartTemplateAlgoInstanceParameters/index.md) - property `int Count {get;}` | py `chartTemplateAlgoInstanceParameters.Count: int` — Gets the number of parameters. [Cloud not supported] - property `ChartTemplateAlgoInstanceParameter Item {get;}` | py `chartTemplateAlgoInstanceParameters[name: str] -> ChartTemplateAlgoInstanceParameter` — Gets a parameter by it is name. [Cloud not supported] ## interface cAlgo.API.ChartTemplateColorSettings — Represents the chart template Color Settings. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Chart/Templates/ChartTemplateColorSettings/index.md) - property `Color AreaFillColor {get; set;}` | py `chartTemplateColorSettings.AreaFillColor: Color` — Gets or sets the color of area chart fill. [Cloud not supported] - property `Color AskPriceLineColor {get; set;}` | py `chartTemplateColorSettings.AskPriceLineColor: Color` — Gets or sets the color of the ask price line. [Cloud not supported] - property `Color BackgroundColor {get; set;}` | py `chartTemplateColorSettings.BackgroundColor: Color` — Gets or sets the color of the chart background. [Cloud not supported] - property `Color BearFillColor {get; set;}` | py `chartTemplateColorSettings.BearFillColor: Color` — Gets or sets the color of the bear candle fill. [Cloud not supported] - property `Color BearOutlineColor {get; set;}` | py `chartTemplateColorSettings.BearOutlineColor: Color` — Gets or sets the color of the bear candle or bar outline. [Cloud not supported] - property `Color BidPriceLineColor {get; set;}` | py `chartTemplateColorSettings.BidPriceLineColor: Color` — Gets or sets the color of the bid price line. [Cloud not supported] - property `Color BullFillColor {get; set;}` | py `chartTemplateColorSettings.BullFillColor: Color` — Gets or sets the color of the bull candle fill. [Cloud not supported] - property `Color BullOutlineColor {get; set;}` | py `chartTemplateColorSettings.BullOutlineColor: Color` — Gets or sets the color of the bull candle or bar outline. [Cloud not supported] - property `Color BuyColor {get; set;}` | py `chartTemplateColorSettings.BuyColor: Color` — Gets or sets the color of Buy positions and orders. [Cloud not supported] - property `Color ForegroundColor {get; set;}` | py `chartTemplateColorSettings.ForegroundColor: Color` — Gets or sets the color of the chart foreground. [Cloud not supported] - property `Color GridLinesColor {get; set;}` | py `chartTemplateColorSettings.GridLinesColor: Color` — Gets or sets the color of the grid lines. [Cloud not supported] - property `Color LosingDealColor {get; set;}` | py `chartTemplateColorSettings.LosingDealColor: Color` — Gets or sets the color of the losing deal. [Cloud not supported] - property `Color PeriodSeparatorColor {get; set;}` | py `chartTemplateColorSettings.PeriodSeparatorColor: Color` — Gets or sets the color of the period separator. [Cloud not supported] - property `Color SellColor {get; set;}` | py `chartTemplateColorSettings.SellColor: Color` — Gets or sets the color of Sell order positions and orders. [Cloud not supported] - property `Color TickVolumeColor {get; set;}` | py `chartTemplateColorSettings.TickVolumeColor: Color` — Gets or sets the color of the tick volume. [Cloud not supported] - property `Color WinningDealColor {get; set;}` | py `chartTemplateColorSettings.WinningDealColor: Color` — Gets or sets the color of the winning deal. [Cloud not supported] ## interface cAlgo.API.ChartTemplateDisplaySettings — Represents the chart template display Settings. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Chart/Templates/ChartTemplateDisplaySettings/index.md) - property `bool AddRobotButton {get; set;}` | py `chartTemplateDisplaySettings.AddRobotButton: bool` — Defines if the Add cBot button is displayed on the chart. [Cloud not supported] - property `bool AskPriceLine {get; set;}` | py `chartTemplateDisplaySettings.AskPriceLine: bool` — Defines if the Ask Price Line is displayed on the chart. [Cloud not supported] - property `bool Bars {get; set;}` | py `chartTemplateDisplaySettings.Bars: bool` — Defines if the Bars is displayed on the chart. [Cloud not supported] - property `bool BidPriceLine {get; set;}` | py `chartTemplateDisplaySettings.BidPriceLine: bool` — Defines if the Bid Price Line is displayed on the chart. [Cloud not supported] - property `bool ChartScale {get; set;}` | py `chartTemplateDisplaySettings.ChartScale: bool` — Defines if the Chart Scale is displayed on the chart. [Cloud not supported] - property `ChartType ChartType {get; set;}` | py `chartTemplateDisplaySettings.ChartType: ChartType` — Gets or sets the type of the chart for chart template. [Cloud not supported] - property `bool DealMap {get; set;}` | py `chartTemplateDisplaySettings.DealMap: bool` — Defines if the Deal Map is displayed on the chart. [Cloud not supported] - property `bool Grid {get; set;}` | py `chartTemplateDisplaySettings.Grid: bool` — Defines if the Grid is displayed on the chart background. [Cloud not supported] - property `bool IndicatorTitles {get; set;}` | py `chartTemplateDisplaySettings.IndicatorTitles: bool` — Defines if the Indicator Titles are displayed on the chart. [Cloud not supported] - property `bool IsPriceScaleInverted {get; set;}` | py `chartTemplateDisplaySettings.IsPriceScaleInverted: bool` — Defines if the price scale is inverted for chart template. [Cloud not supported] - property `bool IsPriceToBarRatioLocked {get; set;}` | py `chartTemplateDisplaySettings.IsPriceToBarRatioLocked: bool` — Defines if the price to bar ratio is locked for chart template. Locking sets the price scale mode to Regular. [Cloud not supported] - property `bool IsScalePriceChartOnly {get; set;}` | py `chartTemplateDisplaySettings.IsScalePriceChartOnly: bool` — Defines if the auto scale fits only the bars for chart template. [Cloud not supported] - property `bool MarketSentiment {get; set;}` | py `chartTemplateDisplaySettings.MarketSentiment: bool` — Defines if the Market Sentiment is visible on the chart. [Cloud not supported] - property `bool Orders {get; set;}` | py `chartTemplateDisplaySettings.Orders: bool` — Defines if the Orders are displayed on the chart. [Cloud not supported] - property `bool PeriodSeparators {get; set;}` | py `chartTemplateDisplaySettings.PeriodSeparators: bool` — Defines if the Period Separators are displayed on the chart. [Cloud not supported] - property `bool Positions {get; set;}` | py `chartTemplateDisplaySettings.Positions: bool` — Defines if the Positions are displayed on the chart. [Cloud not supported] - property `bool PriceAlerts {get; set;}` | py `chartTemplateDisplaySettings.PriceAlerts: bool` — Defines if the Price Alerts are visible on the chart. [Cloud not supported] - property `bool PriceAxisOverlayButtons {get; set;}` | py `chartTemplateDisplaySettings.PriceAxisOverlayButtons: bool` — Defines if the price axis overlays buttons are visible on the chart. [Cloud not supported] - property `ChartPriceAxisPosition PriceAxisPosition {get; set;}` | py `chartTemplateDisplaySettings.PriceAxisPosition: ChartPriceAxisPosition` — Gets or sets the price axis position for chart template. [Cloud not supported] - property `ChartPriceScaleMode PriceScaleMode {get; set;}` | py `chartTemplateDisplaySettings.PriceScaleMode: ChartPriceScaleMode` — Gets or sets the price scale mode for chart template. While the template price to bar ratio is locked only Regular can be set, and setting any other mode is ignored. [Cloud not supported] - property `double PriceToBarRatio {get; set;}` | py `chartTemplateDisplaySettings.PriceToBarRatio: float` — Gets or sets the price to bar ratio for chart template. Values that are not greater than zero, NaN or infinite are ignored. [Cloud not supported] - property `bool QuickTradeButtons {get; set;}` | py `chartTemplateDisplaySettings.QuickTradeButtons: bool` — Defines if the QuickTrade buttons are visible on the chart. [Cloud not supported] - property `bool Targets {get; set;}` | py `chartTemplateDisplaySettings.Targets: bool` — Defines if the Target is visible on the chart. [Cloud not supported] - property `bool TickVolume {get; set;}` | py `chartTemplateDisplaySettings.TickVolume: bool` — Defines if the Tick Volume is displayed on the chart. [Cloud not supported] - property `int ZoomLevel {get; set;}` | py `chartTemplateDisplaySettings.ZoomLevel: int` — Gets or sets the chart zoom percent value for chart template. Valid values are from 5 to 500 with a step of 5, as can be seen on UI in the charts Zoom control. [Cloud not supported] ## interface cAlgo.API.ChartTemplateIndicator — The interface representing an indicator of to a chart template. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Chart/Templates/ChartTemplateIndicator/index.md) - property `string Id {get;}` | py `chartTemplateIndicator.Id: str` — Gets the ID of a specific indicator. [Cloud not supported] - property `ChartTemplateAlgoInstanceParameters Parameters {get;}` | py `chartTemplateIndicator.Parameters: ChartTemplateAlgoInstanceParameters` — Gets the collection of indicator parameters. [Cloud not supported] - property `IndicatorType Type {get;}` | py `chartTemplateIndicator.Type: IndicatorType` — Gets the IndicatorType of an indicator. [Cloud not supported] ## interface cAlgo.API.ChartTemplateIndicators — The interface representing a chart template indicator instances collection. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Chart/Templates/ChartTemplateIndicators/index.md) - method `ChartTemplateIndicator Add(string name, object[] parameterValues)` | py `chartTemplateIndicators.Add(name: str, parameterValues: list[object]) -> ChartTemplateIndicator` — Adds a new indicator to a chart template. [Cloud not supported] - method `ChartTemplateIndicator Add(IndicatorType type, object[] parameterValues)` | py `chartTemplateIndicators.Add(type: IndicatorType, parameterValues: list[object]) -> ChartTemplateIndicator` — Adds a new indicator to a chart template. [Cloud not supported] - method `ChartTemplateIndicator Get(string id)` | py `chartTemplateIndicators.Get(id: str) -> ChartTemplateIndicator | None` — Returns a chart template indicator by type if exists otherwise null. [Cloud not supported] - method `bool Remove(ChartTemplateIndicator chartTemplateIndicator)` | py `chartTemplateIndicators.Remove(chartTemplateIndicator: ChartTemplateIndicator) -> bool` — Removes an indicator from a chart template. [Cloud not supported] - property `int Count {get;}` | py `chartTemplateIndicators.Count: int` — Gets the number of all indicators attached to a chart template. [Cloud not supported] ## class cAlgo.API.ChartTemplateRemovedEventArgs — Occurs when a chart template is removed. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartTemplateRemovedEventArgs/index.md) - property `public ChartTemplate ChartTemplate {get;}` | py `chartTemplateRemovedEventArgs.ChartTemplate: ChartTemplate` — Gets the chart template. [Cloud not supported] ## interface cAlgo.API.ChartTemplateRobot — The interface representing a Robot of a chart template. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Chart/Templates/ChartTemplateRobot/index.md) - property `string Id {get;}` | py `chartTemplateRobot.Id: str` — Gets the ID of a specific indicator. [Cloud not supported] - property `ChartTemplateAlgoInstanceParameters Parameters {get;}` | py `chartTemplateRobot.Parameters: ChartTemplateAlgoInstanceParameters` — Gets the collection of Robot parameters. [Cloud not supported] - property `RobotType Type {get;}` | py `chartTemplateRobot.Type: RobotType` — Gets the RobotType of a Robot instance. [Cloud not supported] ## interface cAlgo.API.ChartTemplateRobots — The interface representing a chart template robots instances collection. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Chart/Templates/ChartTemplateRobots/index.md) - method `ChartTemplateRobot Add(string name, object[] parameterValues)` | py `chartTemplateRobots.Add(name: str, parameterValues: list[object]) -> ChartTemplateRobot` — Adds a new Robot instance to a chart template. [Cloud not supported] - method `ChartTemplateRobot Add(RobotType type, object[] parameterValues)` | py `chartTemplateRobots.Add(type: RobotType, parameterValues: list[object]) -> ChartTemplateRobot` — Adds a new Robot instance to a chart template. [Cloud not supported] - method `ChartTemplateRobot Get(string id)` | py `chartTemplateRobots.Get(id: str) -> ChartTemplateRobot | None` — Returns a chart template robot by type if exists otherwise null. [Cloud not supported] - method `bool Remove(ChartTemplateRobot chartTemplateRobot)` | py `chartTemplateRobots.Remove(chartTemplateRobot: ChartTemplateRobot) -> bool` — Removes a Robot instance from a chart template. [Cloud not supported] - property `int Count {get;}` | py `chartTemplateRobots.Count: int` — Gets the number of all Robots attached to a chart. [Cloud not supported] ## interface cAlgo.API.ChartTemplates — Represents collection of chart templates and provide access to chart template API. [CLI works differently; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Chart/Templates/ChartTemplates/index.md) - method `bool Contains(string chartTemplateName)` | py `api.ChartTemplates.Contains(chartTemplateName: str) -> bool` — Checks if a chart template with passed name exists or not. [CLI works differently; Cloud not supported] - method `ChartTemplate Create(string chartTemplateName, Chart chart)` | py `api.ChartTemplates.Create(chartTemplateName: str, chart: Chart) -> ChartTemplate` — Creates a new chart template based on a chart. [CLI works differently; Cloud not supported] - method `ChartTemplate Create(string chartTemplateName)` | py `api.ChartTemplates.Create(chartTemplateName: str) -> ChartTemplate` — Creates a new chart template. [CLI works differently; Cloud not supported] - method `ChartTemplate Duplicate(string chartTemplateName, ChartTemplate chartTemplate)` | py `api.ChartTemplates.Duplicate(chartTemplateName: str, chartTemplate: ChartTemplate) -> ChartTemplate` — Duplicates or creates a copy of an existing chart template. [CLI works differently; Cloud not supported] - method `ChartTemplate Get(string chartTemplateName)` | py `api.ChartTemplates.Get(chartTemplateName: str) -> ChartTemplate | None` — Returns a chart template by name if exists otherwise null. [CLI works differently; Cloud not supported] - method `bool Remove(ChartTemplate chartTemplate)` | py `api.ChartTemplates.Remove(chartTemplate: ChartTemplate) -> bool` — Removes an existing chart template. [CLI works differently; Cloud not supported] - property `ChartTemplate DefaultTemplate {get; set;}` | py `api.ChartTemplates.DefaultTemplate: ChartTemplate` — Gets or sets default chart template. [CLI works differently; Cloud not supported] - event `event Action Added;` | py `api.ChartTemplates.Added += handler # handler(obj: ChartTemplateAddedEventArgs)` — Occurs when a new chart template is added. [CLI works differently; Cloud not supported] - event `event Action Removed;` | py `api.ChartTemplates.Removed += handler # handler(obj: ChartTemplateRemovedEventArgs)` — Occurs when a chart template is removed. [CLI works differently; Cloud not supported] ## interface cAlgo.API.ChartText — Represents the Text chart object. Allows place the text anywhere on the chart, bound to the chart. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartText/index.md) - property `double Angle {get; set;}` | py `chartText.Angle: float` — Gets or sets the rotation angle of the text in degrees, measured clockwise around the text anchor point. The text can be fully rotated; any value is accepted and normalized to the 0 to 360 range. The default value is 0, which renders horizontal text. [CLI works differently; Cloud works differently] - property `Color Color {get; set;}` | py `chartText.Color: Color` — Gets or sets the text color. [CLI works differently; Cloud works differently] - property `string FontFamily {get; set;}` | py `chartText.FontFamily: str` — Gets or sets the font style of the text. [CLI works differently; Cloud works differently] - property `double FontSize {get; set;}` | py `chartText.FontSize: float` — Gets or sets the font size of text [CLI works differently; Cloud works differently] - property `HorizontalAlignment HorizontalAlignment {get; set;}` | py `chartText.HorizontalAlignment: HorizontalAlignment` — Gets or sets the horizontal alignment of the text regarding the anchor point. [CLI works differently; Cloud works differently] - property `bool IsBold {get; set;}` | py `chartText.IsBold: bool` — Gets or sets if the text is Bold or not [CLI works differently; Cloud works differently] - property `bool IsItalic {get; set;}` | py `chartText.IsItalic: bool` — Gets or sets if the text is Italic or not [CLI works differently; Cloud works differently] - property `bool IsUnderlined {get; set;}` | py `chartText.IsUnderlined: bool` — Gets or sets if the text is Underlined or not [CLI works differently; Cloud works differently] - property `string Text {get; set;}` | py `chartText.Text: str` — Gets or sets the text content. [CLI works differently; Cloud works differently] - property `DateTime Time {get; set;}` | py `chartText.Time: DateTime` — Gets or sets the Time line value. [CLI works differently; Cloud works differently] - property `VerticalAlignment VerticalAlignment {get; set;}` | py `chartText.VerticalAlignment: VerticalAlignment` — Gets or sets the vertical alignment of the text regarding the anchor point. [CLI works differently; Cloud works differently] - property `double Y {get; set;}` | py `chartText.Y: float` — Gets or sets the Y-axis value. [CLI works differently; Cloud works differently] ## interface cAlgo.API.ChartTrendLine — Represents the Trend Line chart object. A straight line that can be drawn from point 1 to the point 2 in any direction to mark the trends on the chart. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartTrendLine/index.md) - method `double CalculateY(int barIndex)` | py `chartTrendLine.CalculateY(barIndex: int) -> float` — Calculates Y-axis value corresponding the specified bar index. [CLI works differently; Cloud works differently] - method `double CalculateY(DateTime time)` | py `chartTrendLine.CalculateY(time: DateTime) -> float` — Calculates Y-axis value corresponding the specified time value. [CLI works differently; Cloud works differently] - property `Color Color {get; set;}` | py `chartTrendLine.Color: Color` — Gets or sets the color of the Trend Line. [CLI works differently; Cloud works differently] - property `bool ExtendToInfinity {get; set;}` | py `chartTrendLine.ExtendToInfinity: bool` — Defines if the Trend Line extends to infinity. [CLI works differently; Cloud works differently] - property `LineStyle LineStyle {get; set;}` | py `chartTrendLine.LineStyle: LineStyle` — Gets or sets the Trend Line style. [CLI works differently; Cloud works differently] - property `bool ShowAngle {get; set;}` | py `chartTrendLine.ShowAngle: bool` — Defines the trend line angle. [CLI works differently; Cloud works differently] - property `int Thickness {get; set;}` | py `chartTrendLine.Thickness: int` — Gets or sets the thickness of the Trend Line. [CLI works differently; Cloud works differently] - property `DateTime Time1 {get; set;}` | py `chartTrendLine.Time1: DateTime` — Gets or sets the value 1 on the Time line. [CLI works differently; Cloud works differently] - property `DateTime Time2 {get; set;}` | py `chartTrendLine.Time2: DateTime` — Gets or sets the value 2 on the Time line. [CLI works differently; Cloud works differently] - property `double Y1 {get; set;}` | py `chartTrendLine.Y1: float` — Gets or sets the value 1 on the Y-axis. [CLI works differently; Cloud works differently] - property `double Y2 {get; set;}` | py `chartTrendLine.Y2: float` — Gets or sets the value 2 on the Y-axis. [CLI works differently; Cloud works differently] ## interface cAlgo.API.ChartTriangle — Represents the Triangle chart object. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/Shapes/ChartTriangle/index.md) - property `DateTime Time1 {get; set;}` | py `chartTriangle.Time1: DateTime` — Gets or sets the value 1 on the Time line. [CLI works differently; Cloud works differently] - property `DateTime Time2 {get; set;}` | py `chartTriangle.Time2: DateTime` — Gets or sets the value 2 on the Time line. [CLI works differently; Cloud works differently] - property `DateTime Time3 {get; set;}` | py `chartTriangle.Time3: DateTime` — Gets or sets the value 3 on the Time line. [CLI works differently; Cloud works differently] - property `double Y1 {get; set;}` | py `chartTriangle.Y1: float` — Gets or sets the value 1 on the Y-axis. [CLI works differently; Cloud works differently] - property `double Y2 {get; set;}` | py `chartTriangle.Y2: float` — Gets or sets the value 2 on the Y-axis. [CLI works differently; Cloud works differently] - property `double Y3 {get; set;}` | py `chartTriangle.Y3: float` — Gets or sets the value 3 on the Y-axis. [CLI works differently; Cloud works differently] ## enum cAlgo.API.ChartType — Represents the predefined chart types. (https://help.ctrader.com/ctrader-algo/references/Chart/ChartType/index.md) - enum value `ChartType.Bars;` | py `ChartType.Bars` — The Bar chart. - enum value `ChartType.Candlesticks;` | py `ChartType.Candlesticks` — The Candlestick chart. - enum value `ChartType.Line;` | py `ChartType.Line` — The Line chart. - enum value `ChartType.Dots;` | py `ChartType.Dots` — The Dots chart. - enum value `ChartType.Area;` | py `ChartType.Area` — The Area chart. - enum value `ChartType.Hlc;` | py `ChartType.Hlc` — The HLC chart. ## class cAlgo.API.ChartTypeEventArgs — Provides data for the chart type change event. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartTypeEventArgs/index.md) - property `public Chart Chart {get;}` | py `chartTypeEventArgs.Chart: Chart` — Gets the chart. [Cloud not supported] ## interface cAlgo.API.ChartVerticalLine — Represents the Vertical Line chart object. The line parallel to the Y-axis that can be set on a certain time value on the X-axis. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/ChartVerticalLine/index.md) - property `Color Color {get; set;}` | py `chartVerticalLine.Color: Color` — Gets or sets the line color. [CLI works differently; Cloud works differently] - property `LineStyle LineStyle {get; set;}` | py `chartVerticalLine.LineStyle: LineStyle` — Gets or sets the line style. [CLI works differently; Cloud works differently] - property `int Thickness {get; set;}` | py `chartVerticalLine.Thickness: int` — Gets or sets the line thickness. [CLI works differently; Cloud works differently] - property `DateTime Time {get; set;}` | py `chartVerticalLine.Time: DateTime` — Gets or sets the value on the Time line. [CLI works differently; Cloud works differently] ## class cAlgo.API.ChartVisibilityChangedEventArgs — Provides data for chart visibility changed event [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartVisibilityChangedEventArgs/index.md) - property `public Chart Chart {get;}` | py `chartVisibilityChangedEventArgs.Chart: Chart` — The chart that event belonges to. [CLI not supported; Cloud not supported] ## class cAlgo.API.ChartZoomEventArgs — Provides data for the chart type change event. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ChartZoomEventArgs/index.md) - property `public Chart Chart {get;}` | py `chartZoomEventArgs.Chart: Chart` — Gets the chart. [Cloud not supported] ## class cAlgo.API.CheckBox — Represents the Checkbox. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/CheckBox/index.md) - constructor `public CheckBox()` | py `CheckBox()` — Initializes a new instance of the checkbox class. [CLI not supported; Cloud not supported] - property `public ControlBase Content {get; set;}` | py `checkBox.Content: ControlBase` — Gets or sets the content. [CLI not supported; Cloud not supported] - property `public bool? IsChecked {get; set;}` | py `checkBox.IsChecked: bool | None` — Gets or sets a value indicating whether the checkbox is checked. [CLI not supported; Cloud not supported] - property `public bool IsThreeState {get; set;}` | py `checkBox.IsThreeState: bool` — Checks if the checkbox may be of three states - checked, unchecked and indeterminate. [CLI not supported; Cloud not supported] - property `public string Text {get; set;}` | py `checkBox.Text: str` — Gets or sets the checkbox text. [CLI not supported; Cloud not supported] - event `public event Action Checked;` | py `checkBox.Checked += handler # handler(obj: CheckBoxEventArgs)` — Occurs when checked. [CLI not supported; Cloud not supported] - event `public event Action Click;` | py `checkBox.Click += handler # handler(obj: CheckBoxEventArgs)` — Occurs when clicked. [CLI not supported; Cloud not supported] - event `public event Action Indeterminate;` | py `checkBox.Indeterminate += handler # handler(obj: CheckBoxEventArgs)` — Occurs when indeterminate. [CLI not supported; Cloud not supported] - event `public event Action Unchecked;` | py `checkBox.Unchecked += handler # handler(obj: CheckBoxEventArgs)` — Occurs when unchecked. [CLI not supported; Cloud not supported] ## class cAlgo.API.CheckBoxEventArgs — Provides data for the checkbox event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/CheckBoxEventArgs/index.md) - property `public CheckBox CheckBox {get;}` | py `checkBoxEventArgs.CheckBox: CheckBox` — Gets the checkbox data. [CLI not supported; Cloud not supported] ## interface cAlgo.API.Clipboard — Provides access to system Clipboard. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/General/Clipboard/index.md) - method `string GetText()` | py `api.Clipboard.GetText() -> str` — Returns a string containing text data on the Clipboard. [CLI not supported; Cloud not supported] - method `void SetText(string text)` | py `api.Clipboard.SetText(text: str) -> None` — Stores text data on the Clipboard. [CLI not supported; Cloud not supported] ## interface cAlgo.API.ClipboardPermission — System Clipboard Permission (https://help.ctrader.com/ctrader-algo/references/Permissions/ClipboardPermission/index.md) ## class cAlgo.API.CloudAttribute — Represents the cloud between the indicator lines. (https://help.ctrader.com/ctrader-algo/references/Attributes/CloudAttribute/index.md) - constructor `public CloudAttribute(string firstLineName, string secondLineName)` | py `CloudAttribute(firstLineName: str, secondLineName: str)` — The cloud between the indicator lines. - property `public string FirstColor {get; set;}` | py `cloudAttribute.FirstColor: str` — Cloud color when the first line is above the second one. If not specified, the color of the first line is used. - property `public string FirstLineName {get;}` | py `cloudAttribute.FirstLineName: str` — The name of the first indicator line. - property `public double Opacity {get; set;}` | py `cloudAttribute.Opacity: float` — The cloud opacity. Value can be set from 0 (transparent) to 1 (opaque). Values higher than 1 will be set to 1, values below 0 will be set to 0. Opacity is multiplied by the alpha channel of the active color (first or second color). Default opacity value is 0.2. - property `public string SecondColor {get; set;}` | py `cloudAttribute.SecondColor: str` — Cloud color when the second line is above the first one. If not specified, color of the second line is used. - property `public string SecondLineName {get;}` | py `cloudAttribute.SecondLineName: str` — The name of the second indicator line. ## class cAlgo.API.Color — Represents an ARGB (alpha, red, green, blue) color. (https://help.ctrader.com/ctrader-algo/references/Utility/Color/index.md) - method `public static Color FromArgb(int alpha, int red, int green, int blue)` | py `Color.FromArgb(alpha: int, red: int, green: int, blue: int) -> Color` — Creates a color from alpha, red, green and blue components. - method `public static Color FromArgb(int alpha, Color baseColor)` | py `Color.FromArgb(alpha: int, baseColor: Color) -> Color` — Creates a color from existing color, but with new specified alpha value. - method `public static Color FromArgb(int argb)` | py `Color.FromArgb(argb: int) -> Color` — Creates a color from a 32-bit ARGB value. - method `public static Color FromArgb(int red, int green, int blue)` | py `Color.FromArgb(red: int, green: int, blue: int) -> Color` — Creates a color from red, green and blue values. The alpha value is implicitly 255 (fully opaque). - method `public static Color FromHex(string hex)` | py `Color.FromHex(hex: str) -> Color` — Attempts to convert a hex string to a Color. - method `public static Color FromName(string name)` | py `Color.FromName(name: str) -> Color` — Creates a color from the specified name of a predefined color. - method `public int ToArgb()` | py `color.ToArgb() -> int` — Get the 32-bit ARGB color value. - method `public string ToHexString()` | py `color.ToHexString() -> str` — Get the hex string representation of the color. - property `public byte A {get;}` | py `color.A: int` — Gets the alpha component value of the color. - property `public static Color AliceBlue {get;}` | py `Color.AliceBlue: Color` — Gets a system-defined color that has an ARGB value of #FFF0F8FF. - property `public static Color AntiqueWhite {get;}` | py `Color.AntiqueWhite: Color` — Gets a system-defined color that has an ARGB value of #FFFAEBD7. - property `public static Color Aqua {get;}` | py `Color.Aqua: Color` — Gets a system-defined color that has an ARGB value of #FF00FFFF. - property `public static Color Aquamarine {get;}` | py `Color.Aquamarine: Color` — Gets a system-defined color that has an ARGB value of #FF7FFFD4. - property `public static Color Azure {get;}` | py `Color.Azure: Color` — Gets a system-defined color that has an ARGB value of #FFF0FFFF. - property `public byte B {get;}` | py `color.B: int` — Gets the blue component value of the color. - property `public static Color Beige {get;}` | py `Color.Beige: Color` — Gets a system-defined color that has an ARGB value of #FFF5F5DC. - property `public static Color Bisque {get;}` | py `Color.Bisque: Color` — Gets a system-defined color that has an ARGB value of #FFFFE4C4. - property `public static Color Black {get;}` | py `Color.Black: Color` — Gets a system-defined color that has an ARGB value of #FF000000. - property `public static Color BlanchedAlmond {get;}` | py `Color.BlanchedAlmond: Color` — Gets a system-defined color that has an ARGB value of #FFFFEBCD. - property `public static Color Blue {get;}` | py `Color.Blue: Color` — Gets a system-defined color that has an ARGB value of #FF0000FF. - property `public static Color BlueViolet {get;}` | py `Color.BlueViolet: Color` — Gets a system-defined color that has an ARGB value of #FF8A2BE2. - property `public static Color Brown {get;}` | py `Color.Brown: Color` — Gets a system-defined color that has an ARGB value of #FFA52A2A. - property `public static Color BurlyWood {get;}` | py `Color.BurlyWood: Color` — Gets a system-defined color that has an ARGB value of #FFDEB887. - property `public static Color CadetBlue {get;}` | py `Color.CadetBlue: Color` — Gets a system-defined color that has an ARGB value of #FF5F9EA0. - property `public static Color Chartreuse {get;}` | py `Color.Chartreuse: Color` — Gets a system-defined color that has an ARGB value of #FF7FFF00. - property `public static Color Chocolate {get;}` | py `Color.Chocolate: Color` — Gets a system-defined color that has an ARGB value of #FFD2691E. - property `public static Color Coral {get;}` | py `Color.Coral: Color` — Gets a system-defined color that has an ARGB value of #FFFF7F50. - property `public static Color CornflowerBlue {get;}` | py `Color.CornflowerBlue: Color` — Gets a system-defined color that has an ARGB value of #FF6495ED. - property `public static Color Cornsilk {get;}` | py `Color.Cornsilk: Color` — Gets a system-defined color that has an ARGB value of #FFFFF8DC. - property `public static Color Crimson {get;}` | py `Color.Crimson: Color` — Gets a system-defined color that has an ARGB value of #FFDC143C. - property `public static Color Cyan {get;}` | py `Color.Cyan: Color` — Gets a system-defined color that has an ARGB value of #FF00FFFF. - property `public static Color DarkBlue {get;}` | py `Color.DarkBlue: Color` — Gets a system-defined color that has an ARGB value of #FF00008B. - property `public static Color DarkCyan {get;}` | py `Color.DarkCyan: Color` — Gets a system-defined color that has an ARGB value of #FF008B8B. - property `public static Color DarkGoldenrod {get;}` | py `Color.DarkGoldenrod: Color` — Gets a system-defined color that has an ARGB value of #FFB8860B. - property `public static Color DarkGray {get;}` | py `Color.DarkGray: Color` — Gets a system-defined color that has an ARGB value of #FFA9A9A9. - property `public static Color DarkGreen {get;}` | py `Color.DarkGreen: Color` — Gets a system-defined color that has an ARGB value of #FF006400. - property `public static Color DarkKhaki {get;}` | py `Color.DarkKhaki: Color` — Gets a system-defined color that has an ARGB value of #FFBDB76B. - property `public static Color DarkMagenta {get;}` | py `Color.DarkMagenta: Color` — Gets a system-defined color that has an ARGB value of #FF8B008B. - property `public static Color DarkOliveGreen {get;}` | py `Color.DarkOliveGreen: Color` — Gets a system-defined color that has an ARGB value of #FF556B2F. - property `public static Color DarkOrange {get;}` | py `Color.DarkOrange: Color` — Gets a system-defined color that has an ARGB value of #FFFF8C00. - property `public static Color DarkOrchid {get;}` | py `Color.DarkOrchid: Color` — Gets a system-defined color that has an ARGB value of #FF9932CC. - property `public static Color DarkRed {get;}` | py `Color.DarkRed: Color` — Gets a system-defined color that has an ARGB value of #FF8B0000. - property `public static Color DarkSalmon {get;}` | py `Color.DarkSalmon: Color` — Gets a system-defined color that has an ARGB value of #FFE9967A. - property `public static Color DarkSeaGreen {get;}` | py `Color.DarkSeaGreen: Color` — Gets a system-defined color that has an ARGB value of #FF8FBC8F. - property `public static Color DarkSlateBlue {get;}` | py `Color.DarkSlateBlue: Color` — Gets a system-defined color that has an ARGB value of #FF483D8B. - property `public static Color DarkSlateGray {get;}` | py `Color.DarkSlateGray: Color` — Gets a system-defined color that has an ARGB value of #FF2F4F4F. - property `public static Color DarkTurquoise {get;}` | py `Color.DarkTurquoise: Color` — Gets a system-defined color that has an ARGB value of #FF00CED1. - property `public static Color DarkViolet {get;}` | py `Color.DarkViolet: Color` — Gets a system-defined color that has an ARGB value of #FF9400D3. - property `public static Color DeepPink {get;}` | py `Color.DeepPink: Color` — Gets a system-defined color that has an ARGB value of #FFFF1493. - property `public static Color DeepSkyBlue {get;}` | py `Color.DeepSkyBlue: Color` — Gets a system-defined color that has an ARGB value of #FF00BFFF. - property `public static Color DimGray {get;}` | py `Color.DimGray: Color` — Gets a system-defined color that has an ARGB value of #FF696969. - property `public static Color DodgerBlue {get;}` | py `Color.DodgerBlue: Color` — Gets a system-defined color that has an ARGB value of #FF1E90FF. - property `public static Color Firebrick {get;}` | py `Color.Firebrick: Color` — Gets a system-defined color that has an ARGB value of #FFB22222. - property `public static Color FloralWhite {get;}` | py `Color.FloralWhite: Color` — Gets a system-defined color that has an ARGB value of #FFFFFAF0. - property `public static Color ForestGreen {get;}` | py `Color.ForestGreen: Color` — Gets a system-defined color that has an ARGB value of #FF228B22. - property `public static Color Fuchsia {get;}` | py `Color.Fuchsia: Color` — Gets a system-defined color that has an ARGB value of #FFFF00FF. - property `public byte G {get;}` | py `color.G: int` — Gets the green component value of the color. - property `public static Color Gainsboro {get;}` | py `Color.Gainsboro: Color` — Gets a system-defined color that has an ARGB value of #FFDCDCDC. - property `public static Color GhostWhite {get;}` | py `Color.GhostWhite: Color` — Gets a system-defined color that has an ARGB value of #FFF8F8FF. - property `public static Color Gold {get;}` | py `Color.Gold: Color` — Gets a system-defined color that has an ARGB value of #FFFFD700. - property `public static Color Goldenrod {get;}` | py `Color.Goldenrod: Color` — Gets a system-defined color that has an ARGB value of #FFDAA520. - property `public static Color Gray {get;}` | py `Color.Gray: Color` — Gets a system-defined color that has an ARGB value of #FF808080. - property `public static Color Green {get;}` | py `Color.Green: Color` — Gets a system-defined color that has an ARGB value of #FF008000. - property `public static Color GreenYellow {get;}` | py `Color.GreenYellow: Color` — Gets a system-defined color that has an ARGB value of #FFADFF2F. - property `public static Color Honeydew {get;}` | py `Color.Honeydew: Color` — Gets a system-defined color that has an ARGB value of #FFF0FFF0. - property `public static Color HotPink {get;}` | py `Color.HotPink: Color` — Gets a system-defined color that has an ARGB value of #FFFF69B4. - property `public static Color IndianRed {get;}` | py `Color.IndianRed: Color` — Gets a system-defined color that has an ARGB value of #FFCD5C5C. - property `public static Color Indigo {get;}` | py `Color.Indigo: Color` — Gets a system-defined color that has an ARGB value of #FF4B0082. - property `public static Color Ivory {get;}` | py `Color.Ivory: Color` — Gets a system-defined color that has an ARGB value of #FFFFFFF0. - property `public static Color Khaki {get;}` | py `Color.Khaki: Color` — Gets a system-defined color that has an ARGB value of #FFF0E68C. - property `public static Color Lavender {get;}` | py `Color.Lavender: Color` — Gets a system-defined color that has an ARGB value of #FFE6E6FA. - property `public static Color LavenderBlush {get;}` | py `Color.LavenderBlush: Color` — Gets a system-defined color that has an ARGB value of #FFFFF0F5. - property `public static Color LawnGreen {get;}` | py `Color.LawnGreen: Color` — Gets a system-defined color that has an ARGB value of #FF7CFC00. - property `public static Color LemonChiffon {get;}` | py `Color.LemonChiffon: Color` — Gets a system-defined color that has an ARGB value of #FFFFFACD. - property `public static Color LightBlue {get;}` | py `Color.LightBlue: Color` — Gets a system-defined color that has an ARGB value of #FFADD8E6. - property `public static Color LightCoral {get;}` | py `Color.LightCoral: Color` — Gets a system-defined color that has an ARGB value of #FFF08080. - property `public static Color LightCyan {get;}` | py `Color.LightCyan: Color` — Gets a system-defined color that has an ARGB value of #FFE0FFFF. - property `public static Color LightGoldenrodYellow {get;}` | py `Color.LightGoldenrodYellow: Color` — Gets a system-defined color that has an ARGB value of #FFFAFAD2. - property `public static Color LightGray {get;}` | py `Color.LightGray: Color` — Gets a system-defined color that has an ARGB value of #FFD3D3D3. - property `public static Color LightGreen {get;}` | py `Color.LightGreen: Color` — Gets a system-defined color that has an ARGB value of #FF90EE90. - property `public static Color LightPink {get;}` | py `Color.LightPink: Color` — Gets a system-defined color that has an ARGB value of #FFFFB6C1. - property `public static Color LightSalmon {get;}` | py `Color.LightSalmon: Color` — Gets a system-defined color that has an ARGB value of #FFFFA07A. - property `public static Color LightSeaGreen {get;}` | py `Color.LightSeaGreen: Color` — Gets a system-defined color that has an ARGB value of #FF20B2AA. - property `public static Color LightSkyBlue {get;}` | py `Color.LightSkyBlue: Color` — Gets a system-defined color that has an ARGB value of #FF87CEFA. - property `public static Color LightSlateGray {get;}` | py `Color.LightSlateGray: Color` — Gets a system-defined color that has an ARGB value of #FF778899. - property `public static Color LightSteelBlue {get;}` | py `Color.LightSteelBlue: Color` — Gets a system-defined color that has an ARGB value of #FFB0C4DE. - property `public static Color LightYellow {get;}` | py `Color.LightYellow: Color` — Gets a system-defined color that has an ARGB value of #FFFFFFE0. - property `public static Color Lime {get;}` | py `Color.Lime: Color` — Gets a system-defined color that has an ARGB value of #FF00FF00. - property `public static Color LimeGreen {get;}` | py `Color.LimeGreen: Color` — Gets a system-defined color that has an ARGB value of #FF32CD32. - property `public static Color Linen {get;}` | py `Color.Linen: Color` — Gets a system-defined color that has an ARGB value of #FFFAF0E6. - property `public static Color Magenta {get;}` | py `Color.Magenta: Color` — Gets a system-defined color that has an ARGB value of #FFFF00FF. - property `public static Color Maroon {get;}` | py `Color.Maroon: Color` — Gets a system-defined color that has an ARGB value of #FF800000. - property `public static Color MediumAquamarine {get;}` | py `Color.MediumAquamarine: Color` — Gets a system-defined color that has an ARGB value of #FF66CDAA. - property `public static Color MediumBlue {get;}` | py `Color.MediumBlue: Color` — Gets a system-defined color that has an ARGB value of #FF0000CD. - property `public static Color MediumOrchid {get;}` | py `Color.MediumOrchid: Color` — Gets a system-defined color that has an ARGB value of #FFBA55D3. - property `public static Color MediumPurple {get;}` | py `Color.MediumPurple: Color` — Gets a system-defined color that has an ARGB value of #FF9370DB. - property `public static Color MediumSeaGreen {get;}` | py `Color.MediumSeaGreen: Color` — Gets a system-defined color that has an ARGB value of #FF3CB371. - property `public static Color MediumSlateBlue {get;}` | py `Color.MediumSlateBlue: Color` — Gets a system-defined color that has an ARGB value of #FF7B68EE. - property `public static Color MediumSpringGreen {get;}` | py `Color.MediumSpringGreen: Color` — Gets a system-defined color that has an ARGB value of #FF00FA9A. - property `public static Color MediumTurquoise {get;}` | py `Color.MediumTurquoise: Color` — Gets a system-defined color that has an ARGB value of #FF48D1CC. - property `public static Color MediumVioletRed {get;}` | py `Color.MediumVioletRed: Color` — Gets a system-defined color that has an ARGB value of #FFC71585 - property `public static Color MidnightBlue {get;}` | py `Color.MidnightBlue: Color` — Gets a system-defined color that has an ARGB value of #FF191970. - property `public static Color MintCream {get;}` | py `Color.MintCream: Color` — Gets a system-defined color that has an ARGB value of #FFF5FFFA. - property `public static Color MistyRose {get;}` | py `Color.MistyRose: Color` — Gets a system-defined color that has an ARGB value of #FFFFE4E1. - property `public static Color Moccasin {get;}` | py `Color.Moccasin: Color` — Gets a system-defined color that has an ARGB value of #FFFFE4B5. - property `public static Color NavajoWhite {get;}` | py `Color.NavajoWhite: Color` — Gets a system-defined color that has an ARGB value of #FFFFDEAD. - property `public static Color Navy {get;}` | py `Color.Navy: Color` — Gets a system-defined color that has an ARGB value of #FF000080. - property `public static Color OldLace {get;}` | py `Color.OldLace: Color` — Gets a system-defined color that has an ARGB value of #FFFDF5E6. - property `public static Color Olive {get;}` | py `Color.Olive: Color` — Gets a system-defined color that has an ARGB value of #FF808000. - property `public static Color OliveDrab {get;}` | py `Color.OliveDrab: Color` — Gets a system-defined color that has an ARGB value of #FF6B8E23. - property `public static Color Orange {get;}` | py `Color.Orange: Color` — Gets a system-defined color that has an ARGB value of #FFFFA500. - property `public static Color OrangeRed {get;}` | py `Color.OrangeRed: Color` — Gets a system-defined color that has an ARGB value of #FFFF4500. - property `public static Color Orchid {get;}` | py `Color.Orchid: Color` — Gets a system-defined color that has an ARGB value of #FFDA70D6. - property `public static Color PaleGoldenrod {get;}` | py `Color.PaleGoldenrod: Color` — Gets a system-defined color that has an ARGB value of #FFEEE8AA. - property `public static Color PaleGreen {get;}` | py `Color.PaleGreen: Color` — Gets a system-defined color that has an ARGB value of #FF98FB98. - property `public static Color PaleTurquoise {get;}` | py `Color.PaleTurquoise: Color` — Gets a system-defined color that has an ARGB value of #FFAFEEEE. - property `public static Color PaleVioletRed {get;}` | py `Color.PaleVioletRed: Color` — Gets a system-defined color that has an ARGB value of #FFDB7093. - property `public static Color PapayaWhip {get;}` | py `Color.PapayaWhip: Color` — Gets a system-defined color that has an ARGB value of #FFFFEFD5. - property `public static Color PeachPuff {get;}` | py `Color.PeachPuff: Color` — Gets a system-defined color that has an ARGB value of #FFFFDAB9. - property `public static Color Peru {get;}` | py `Color.Peru: Color` — Gets a system-defined color that has an ARGB value of #FFCD853F. - property `public static Color Pink {get;}` | py `Color.Pink: Color` — Gets a system-defined color that has an ARGB value of #FFFFC0CB. - property `public static Color Plum {get;}` | py `Color.Plum: Color` — Gets a system-defined color that has an ARGB value of #FFDDA0DD. - property `public static Color PowderBlue {get;}` | py `Color.PowderBlue: Color` — Gets a system-defined color that has an ARGB value of #FFB0E0E6. - property `public static Color Purple {get;}` | py `Color.Purple: Color` — Gets a system-defined color that has an ARGB value of #FF800080. - property `public byte R {get;}` | py `color.R: int` — Gets the red component value of the color. - property `public static Color Red {get;}` | py `Color.Red: Color` — Gets a system-defined color that has an ARGB value of #FFFF0000. - property `public static Color RosyBrown {get;}` | py `Color.RosyBrown: Color` — Gets a system-defined color that has an ARGB value of #FFBC8F8F. - property `public static Color RoyalBlue {get;}` | py `Color.RoyalBlue: Color` — Gets a system-defined color that has an ARGB value of #FF4169E1. - property `public static Color SaddleBrown {get;}` | py `Color.SaddleBrown: Color` — Gets a system-defined color that has an ARGB value of #FF8B4513. - property `public static Color Salmon {get;}` | py `Color.Salmon: Color` — Gets a system-defined color that has an ARGB value of #FFFA8072. - property `public static Color SandyBrown {get;}` | py `Color.SandyBrown: Color` — Gets a system-defined color that has an ARGB value of #FFF4A460. - property `public static Color SeaGreen {get;}` | py `Color.SeaGreen: Color` — Gets a system-defined color that has an ARGB value of #FF2E8B57. - property `public static Color SeaShell {get;}` | py `Color.SeaShell: Color` — Gets a system-defined color that has an ARGB value of #FFFFF5EE. - property `public static Color Sienna {get;}` | py `Color.Sienna: Color` — Gets a system-defined color that has an ARGB value of #FFA0522D. - property `public static Color Silver {get;}` | py `Color.Silver: Color` — Gets a system-defined color that has an ARGB value of #FFC0C0C0. - property `public static Color SkyBlue {get;}` | py `Color.SkyBlue: Color` — Gets a system-defined color that has an ARGB value of #FF87CEEB. - property `public static Color SlateBlue {get;}` | py `Color.SlateBlue: Color` — Gets a system-defined color that has an ARGB value of #FF6A5ACD. - property `public static Color SlateGray {get;}` | py `Color.SlateGray: Color` — Gets a system-defined color that has an ARGB value of #FF708090. - property `public static Color Snow {get;}` | py `Color.Snow: Color` — Gets a system-defined color that has an ARGB value of #FFFFFAFA. - property `public static Color SpringGreen {get;}` | py `Color.SpringGreen: Color` — Gets a system-defined color that has an ARGB value of #FF00FF7F. - property `public static Color SteelBlue {get;}` | py `Color.SteelBlue: Color` — Gets a system-defined color that has an ARGB value of #FF4682B4. - property `public static Color Tan {get;}` | py `Color.Tan: Color` — Gets a system-defined color that has an ARGB value of #FFD2B48C. - property `public static Color Teal {get;}` | py `Color.Teal: Color` — Gets a system-defined color that has an ARGB value of #FF008080. - property `public static Color Thistle {get;}` | py `Color.Thistle: Color` — Gets a system-defined color that has an ARGB value of #FFD8BFD8. - property `public static Color Tomato {get;}` | py `Color.Tomato: Color` — Gets a system-defined color that has an ARGB value of #FFFF6347. - property `public static Color Transparent {get;}` | py `Color.Transparent: Color` — Gets a system-defined color that has an ARGB value of #00FFFFFF. - property `public static Color Turquoise {get;}` | py `Color.Turquoise: Color` — Gets a system-defined color that has an ARGB value of #FF40E0D0. - property `public static Color Violet {get;}` | py `Color.Violet: Color` — Gets a system-defined color that has an ARGB value of #FFEE82EE. - property `public static Color Wheat {get;}` | py `Color.Wheat: Color` — Gets a system-defined color that has an ARGB value of #FFF5DEB3. - property `public static Color White {get;}` | py `Color.White: Color` — Gets a system-defined color that has an ARGB value of #FFFFFFFF. - property `public static Color WhiteSmoke {get;}` | py `Color.WhiteSmoke: Color` — Gets a system-defined color that has an ARGB value of #FFF5F5F5. - property `public static Color Yellow {get;}` | py `Color.Yellow: Color` — Gets a system-defined color that has an ARGB value of #FFFFFF00. - property `public static Color YellowGreen {get;}` | py `Color.YellowGreen: Color` — Gets a system-defined color that has an ARGB value of #FF9ACD32. - field `public static Color Empty;` | py `Color.Empty: Color` — Represents empty color. ## class cAlgo.API.ColorPicker — Represents the ColorPicker control. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/ColorPicker/index.md) - constructor `public ColorPicker()` | py `ColorPicker()` — Initializes a new instance of the ColorPicker class. [CLI not supported; Cloud not supported] - property `public bool IsStretched {get; set;}` | py `colorPicker.IsStretched: bool` — Gets or sets if color picker is stretched or not. [CLI not supported; Cloud not supported] - property `public Color SelectedColor {get; set;}` | py `colorPicker.SelectedColor: Color` — Gets or sets selected color. [CLI not supported; Cloud not supported] - event `public event Action SelectedColorChanged;` | py `colorPicker.SelectedColorChanged += handler # handler(obj: ColorPickerSelectedColorChangedEventArgs)` — Occurs when selected color is changed. [CLI not supported; Cloud not supported] ## class cAlgo.API.ColorPickerSelectedColorChangedEventArgs — Provides data for the ColorPicker SelectedColorChanged event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ColorPickerSelectedColorChangedEventArgs/index.md) - property `public ColorPicker ColorPicker {get;}` | py `colorPickerSelectedColorChangedEventArgs.ColorPicker: ColorPicker` — Gets the color picker control. [CLI not supported; Cloud not supported] - property `public Color NewSelectedColor {get;}` | py `colorPickerSelectedColorChangedEventArgs.NewSelectedColor: Color` — Gets the new selected color. [CLI not supported; Cloud not supported] - property `public Color PreviousSelectedColor {get;}` | py `colorPickerSelectedColorChangedEventArgs.PreviousSelectedColor: Color` — Gets the previous selected color. [CLI not supported; Cloud not supported] ## enum cAlgo.API.ColorTheme — Represents the color theme. (https://help.ctrader.com/ctrader-algo/references/Application/ColorTheme/index.md) - enum value `ColorTheme.Dark;` | py `ColorTheme.Dark` — The dark color theme. - enum value `ColorTheme.Light;` | py `ColorTheme.Light` — The light color theme. ## class cAlgo.API.ColorThemeChangeEventArgs — Provides data for the color theme change event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/ColorThemeChangeEventArgs/index.md) - property `public ColorTheme ColorTheme {get;}` | py `colorThemeChangeEventArgs.ColorTheme: ColorTheme` — Gets the color theme. ## class cAlgo.API.ComboBox — A control that shows drop down list of items and allows user to select a single item from the list [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/ComboBox/index.md) - constructor `public ComboBox()` | py `ComboBox()` — Creates a new empty ComboBox with default ComboBox Style [CLI not supported; Cloud not supported] - method `public void AddItem(string item)` | py `comboBox.AddItem(item: str) -> None` — Adds a new item to the ComboBox [CLI not supported; Cloud not supported] - method `public void RemoveItem(string item)` | py `comboBox.RemoveItem(item: str) -> None` — Removes an existing item from the ComboBox [CLI not supported; Cloud not supported] - property `public int SelectedIndex {get; set;}` | py `comboBox.SelectedIndex: int` — Set / Get the ComboBox selected item index [CLI not supported; Cloud not supported] - property `public string SelectedItem {get; set;}` | py `comboBox.SelectedItem: str` — Set / Get the ComboBox selected item [CLI not supported; Cloud not supported] - event `public event Action SelectedItemChanged;` | py `comboBox.SelectedItemChanged += handler # handler(obj: ComboBoxSelectedItemChangedEventArgs)` — This event will trigger if the ComboBox selected item changed [CLI not supported; Cloud not supported] ## class cAlgo.API.ComboBoxSelectedItemChangedEventArgs — Provides data for ComboBox SelectedItemChanged event handlers [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ComboBoxSelectedItemChangedEventArgs/index.md) - property `public ComboBox ComboBox {get;}` | py `comboBoxSelectedItemChangedEventArgs.ComboBox: ComboBox` — The ComboBox that it is selected item changed [CLI not supported; Cloud not supported] - property `public string SelectedItem {get;}` | py `comboBoxSelectedItemChangedEventArgs.SelectedItem: str` — The new selected item of ComboBox [CLI not supported; Cloud not supported] ## interface cAlgo.API.Command — Represents a plugin command. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Commands/Command/index.md) - property `Guid Id {get;}` | py `command.Id: Guid` — Gets command unique Id. [CLI not supported; Cloud not supported] - property `bool IsEnabled {get; set;}` | py `command.IsEnabled: bool` — Gets / sets if command is enabled or not. [CLI not supported; Cloud not supported] - property `string ToolTip {get; set;}` | py `command.ToolTip: str` — Gets / sets command tooltips. [CLI not supported; Cloud not supported] - property `CommandType Type {get;}` | py `command.Type: CommandType` — Gets command type. [CLI not supported; Cloud not supported] ## class cAlgo.API.CommandArgs — Represents a plugin command callback arguments. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Commands/CommandArgs/index.md) - property `public Command Command {get;}` | py `commandArgs.Command: Command` — Gets the command associated with these arguments. [CLI not supported; Cloud not supported] - property `public object Context {get;}` | py `commandArgs.Context: object` — Gets the context in which the command is executed. [CLI not supported; Cloud not supported] ## class cAlgo.API.CommandResult — Represents the result of a command execution. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Commands/CommandResult/index.md) - constructor `public CommandResult(ControlBase child)` | py `CommandResult(child: ControlBase)` — Initialises a new instance of the CommandResult class. [CLI not supported; Cloud not supported] - property `public ControlBase Child {get;}` | py `commandResult.Child: ControlBase` — Gets the child control associated with the command result. [CLI not supported; Cloud not supported] ## enum cAlgo.API.CommandType — Represents the predefined types of plugin commands. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Commands/CommandType/index.md) - enum value `CommandType.ChartContainerToolbar;` | py `CommandType.ChartContainerToolbar` — A command for chart group container toolbar. [CLI not supported; Cloud not supported] ## interface cAlgo.API.Commands — Represents the collection of plugin commands. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Commands/Commands/index.md) - method `Command Add(CommandType type, Action callback)` | py `api.Commands.Add(type: CommandType, callback: Callable[[CommandArgs], None]) -> Command` — Adds a new command with a callback. [CLI not supported; Cloud not supported] - method `Command Add(CommandType type, Action callback, SvgIcon icon)` | py `api.Commands.Add(type: CommandType, callback: Callable[[CommandArgs], None], icon: SvgIcon) -> Command` — Adds a new command with a callback. [CLI not supported; Cloud not supported] - method `Command Add(CommandType type, Func callback)` | py `api.Commands.Add(type: CommandType, callback: Callable[[CommandArgs], CommandResult]) -> Command` — Adds a new command with a callback. [CLI not supported; Cloud not supported] - method `Command Add(CommandType type, Func callback, SvgIcon icon)` | py `api.Commands.Add(type: CommandType, callback: Callable[[CommandArgs], CommandResult], icon: SvgIcon) -> Command` — Adds a new command with a callback and icon. [CLI not supported; Cloud not supported] - method `Command GetById(Guid id)` | py `api.Commands.GetById(id: Guid) -> Command | None` — Returns a command by Id. [CLI not supported; Cloud not supported] - method `Command[] GetByType(CommandType type)` | py `api.Commands.GetByType(type: CommandType) -> list[Command]` — Returns all commands based on type. [CLI not supported; Cloud not supported] - method `bool Remove(Guid id)` | py `api.Commands.Remove(id: Guid) -> bool` — Removes a command by Id. [CLI not supported; Cloud not supported] - property `int Count {get;}` | py `api.Commands.Count: int` — Returns number of all commands. [CLI not supported; Cloud not supported] ## interface cAlgo.API.Indicators.CommodityChannelIndex — The Commodity Channel Index interface. (https://help.ctrader.com/ctrader-algo/references/Indicators/CommodityChannelIndex/index.md) - property `IndicatorDataSeries Result {get;}` | py `commodityChannelIndex.Result: IndicatorDataSeries` — Commodity Channel Index Result Series. ## class cAlgo.API.CompilationOperation — Provides access to the properties describing an asynchronous algo compilation operation. (https://help.ctrader.com/ctrader-algo/references/Compilation/CompilationOperation/index.md) - property `public bool IsExecuting {get;}` | py `compilationOperation.IsExecuting: bool` — True if compilation operation is being executed, false if it completed. - property `public CompilationResult Result {get;}` | py `compilationOperation.Result: CompilationResult` — The result of compilation operation. ## class cAlgo.API.CompilationOptions — Compilation options container. (https://help.ctrader.com/ctrader-algo/references/Compilation/CompilationOptions/index.md) - constructor `public CompilationOptions()` | py `CompilationOptions()` — Creates compilation options. - property `public bool IncludeSourceCode {get; set;}` | py `compilationOptions.IncludeSourceCode: bool` — Gets / Inits inclusion of source code in output algo file (Default is False). - property `public string OutputAlgoFilePath {get; set;}` | py `compilationOptions.OutputAlgoFilePath: str` — Gets / Inits output algo file path, if not provided default platform algo path will be used. ## class cAlgo.API.CompilationResult — The result of an algo compilation. (https://help.ctrader.com/ctrader-algo/references/Compilation/CompilationResult/index.md) - property `public IReadonlyList Errors {get;}` | py `compilationResult.Errors: IReadonlyList[str]` — Gets compilation errors if Succeeded was False, otherwise null. - property `public bool Succeeded {get;}` | py `compilationResult.Succeeded: bool` — Gets the result of compilation, True if succeeded otherwise False. ## interface cAlgo.API.Compiler — Provides access to compiler for algos. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Compilation/Compiler/index.md) - method `CompilationResult Compile(string csprojFilePath)` | py `api.Compiler.Compile(csprojFilePath: str) -> CompilationResult` — Compiles an algo. [Cloud not supported] - method `CompilationResult Compile(string csprojFilePath, CompilationOptions options)` | py `api.Compiler.Compile(csprojFilePath: str, options: CompilationOptions) -> CompilationResult` — Compiles an algo. [Cloud not supported] - method `CompilationOperation CompileAsync(string csprojFilePath, Action callback)` | py `api.Compiler.CompileAsync(csprojFilePath: str, callback: Callable[[CompilationResult], None]) -> CompilationOperation` — Compiles an algo asynchronously and calls the passed callback when compilation finishes. [Cloud not supported] - method `CompilationOperation CompileAsync(string csprojFilePath, Action callback, CompilationOptions options)` | py `api.Compiler.CompileAsync(csprojFilePath: str, callback: Callable[[CompilationResult], None], options: CompilationOptions) -> CompilationOperation` — Compiles an algo asynchronously and calls the passed callback when compilation finishes. [Cloud not supported] ## class cAlgo.API.Control — Represents the Chart Control class. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/Control/index.md) - property `public Color BackgroundColor {get; set;}` | py `control.BackgroundColor: Color` — Gets or sets the color of the chart control background. [CLI not supported; Cloud not supported] - property `public string FontFamily {get; set;}` | py `control.FontFamily: str` — Gets or sets the font family. [CLI not supported; Cloud not supported] - property `public double FontSize {get; set;}` | py `control.FontSize: float` — Gets or sets the font size. [CLI not supported; Cloud not supported] - property `public FontStyle FontStyle {get; set;}` | py `control.FontStyle: FontStyle` — Gets or sets the font style. [CLI not supported; Cloud not supported] - property `public FontWeight FontWeight {get; set;}` | py `control.FontWeight: FontWeight` — Gets or sets the font weight. [CLI not supported; Cloud not supported] - property `public Color ForegroundColor {get; set;}` | py `control.ForegroundColor: Color` — Gets or sets the color of the chart control foreground. Check the Color class for the ARGB (alpha, red, green, blue) color values, or use the strings Color.Red, Color.FromName("Red"), Color.FromArgb(255, 0, 0), Color.FromHex("#ff0000"), "Red", "#ff0000". [CLI not supported; Cloud not supported] - property `public HorizontalAlignment HorizontalContentAlignment {get; set;}` | py `control.HorizontalContentAlignment: HorizontalAlignment` — Gets or sets the horizontal content alignment. [CLI not supported; Cloud not supported] - property `public Thickness Padding {get; set;}` | py `control.Padding: Thickness` — Gets or sets the chart control padding. Property value can be set using Thickness, number, or a string new Thickness(5), new Thickness(1, 2, 3, 4), 5, "5", "1 2 3 4". [CLI not supported; Cloud not supported] - property `public VerticalAlignment VerticalContentAlignment {get; set;}` | py `control.VerticalContentAlignment: VerticalAlignment` — Gets or sets the vertical content alignment. [CLI not supported; Cloud not supported] ## class cAlgo.API.ControlBase — Represents the base of chart controls. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/ControlBase/index.md) - method `public void ResetProperty(ControlProperty property)` | py `controlBase.ResetProperty(property: ControlProperty) -> None` — Sets the property to the default value and removes its privelege over the style. [CLI not supported; Cloud not supported] - property `public double Bottom {get; set;}` | py `controlBase.Bottom: float` — Gets or sets the position of the chart control to the bottom of the chart area. Works only when the control is inside the Canvas panel. [CLI not supported; Cloud not supported] - property `public Dock Dock {get; set;}` | py `controlBase.Dock: Dock` — Specifies the dock position of the chart control instance. Works only inside the DockPanel. [CLI not supported; Cloud not supported] - property `public double Height {get; set;}` | py `controlBase.Height: float` — Gets or sets the hight of the chart control. [CLI not supported; Cloud not supported] - property `public HorizontalAlignment HorizontalAlignment {get; set;}` | py `controlBase.HorizontalAlignment: HorizontalAlignment` — Gets or sets the horizontal alignment of the chart control instance. [CLI not supported; Cloud not supported] - property `public bool IsEnabled {get; set;}` | py `controlBase.IsEnabled: bool` — Gets or sets the value indicating whether this instance of the chart control is enabled. [CLI not supported; Cloud not supported] - property `public bool IsHitTestVisible {get; set;}` | py `controlBase.IsHitTestVisible: bool` — Gets or sets a value that declares if the chart control instance is visible for the mouse hit testing. If set to false, then the control will not handle any mouse events. [CLI not supported; Cloud not supported] - property `public bool IsVisible {get; set;}` | py `controlBase.IsVisible: bool` — Gets or sets the value indicating whether this instance of the chart control instance is visible. [CLI not supported; Cloud not supported] - property `public double Left {get; set;}` | py `controlBase.Left: float` — Gets or sets the position of the chart control to the left side of the chart area. Works only when the control is inside the Canvas panel. [CLI not supported; Cloud not supported] - property `public Thickness Margin {get; set;}` | py `controlBase.Margin: Thickness` — Gets or sets the level of thickness of the margin of the chart control instance. Property value can be set using Thickness, number, or a string new Thickness(5), new Thickness(1, 2, 3, 4), 5, "5", "1 2 3 4". [CLI not supported; Cloud not supported] - property `public double MaxHeight {get; set;}` | py `controlBase.MaxHeight: float` — Gets or sets the maximum height of the chart control. [CLI not supported; Cloud not supported] - property `public double MaxWidth {get; set;}` | py `controlBase.MaxWidth: float` — Gets or sets the maximum width of the chart control. [CLI not supported; Cloud not supported] - property `public double MinHeight {get; set;}` | py `controlBase.MinHeight: float` — Gets or sets the minimum height of the chart control. [CLI not supported; Cloud not supported] - property `public double MinWidth {get; set;}` | py `controlBase.MinWidth: float` — Gets or sets the minimum width of the chart control. [CLI not supported; Cloud not supported] - property `public double Opacity {get; set;}` | py `controlBase.Opacity: float` — Gets or sets the level of opacity of the chart control instance. Can be set from 0 (transparent) to 1 (opaque). Values higher than 1 will be set to 1, values below 0 will be set to 0. [CLI not supported; Cloud not supported] - property `public double Right {get; set;}` | py `controlBase.Right: float` — Gets or sets the position of the chart control to the rignt side of the chart area. Works only when the control is inside the Canvas panel. [CLI not supported; Cloud not supported] - property `public Style Style {get; set;}` | py `controlBase.Style: Style` — Gets or sets the style of a chart control. [CLI not supported; Cloud not supported] - property `public double Top {get; set;}` | py `controlBase.Top: float` — Gets or sets the position of the chart control to the top of the chart area. Works only when the control is inside the Canvas panel. [CLI not supported; Cloud not supported] - property `public Guid UniqueId {get;}` | py `controlBase.UniqueId: Guid` — Gets the unique identifier of a chart control. [CLI not supported; Cloud not supported] - property `public VerticalAlignment VerticalAlignment {get; set;}` | py `controlBase.VerticalAlignment: VerticalAlignment` — Gets or sets the vertical alignment of the chart control instance. [CLI not supported; Cloud not supported] - property `public double Width {get; set;}` | py `controlBase.Width: float` — Gets or sets the width of the chart control. [CLI not supported; Cloud not supported] ## enum cAlgo.API.ControlProperty — Represents the Control property enumeration used in Style to get or set a style for a specific property. (https://help.ctrader.com/ctrader-algo/references/Controls/Styles/ControlProperty/index.md) - enum value `ControlProperty.BackgroundColor;` | py `ControlProperty.BackgroundColor` — The background color. Property value can be set using color values, or use the strings Color.Red, Color.FromName("Red"), Color.FromArgb(255, 0, 0), Color.FromHex("#ff0000"), "Red", "#ff0000". - enum value `ControlProperty.ForegroundColor;` | py `ControlProperty.ForegroundColor` — The foreground color. Property value can be set using color values, or use the strings Color.Red, Color.FromName("Red"), Color.FromArgb(255, 0, 0), Color.FromHex("#ff0000"), "Red", "#ff0000". - enum value `ControlProperty.Opacity;` | py `ControlProperty.Opacity` — The opacity of the control. Can be set from 0 (transparent) to 1 (opaque). Values higher than 1 will be set to 1, values below 0 will be set to 0. - enum value `ControlProperty.MinWidth;` | py `ControlProperty.MinWidth` — The minimum width of the control. - enum value `ControlProperty.MaxWidth;` | py `ControlProperty.MaxWidth` — The maximum width of the control. - enum value `ControlProperty.MinHeight;` | py `ControlProperty.MinHeight` — The minimum hight of the control. - enum value `ControlProperty.MaxHeight;` | py `ControlProperty.MaxHeight` — The maximum hight of the control. - enum value `ControlProperty.Width;` | py `ControlProperty.Width` — The width of the control. - enum value `ControlProperty.Height;` | py `ControlProperty.Height` — The height of the control. - enum value `ControlProperty.Padding;` | py `ControlProperty.Padding` — The padding of the control. Property value can be set using Thickness, number, or a string new Thickness(5), new Thickness(1, 2, 3, 4), 5, "5", "1 2 3 4". - enum value `ControlProperty.BorderThickness;` | py `ControlProperty.BorderThickness` — The thickness of the border of the control. Property value can be set using Thickness, number, or a string new Thickness(5), new Thickness(1, 2, 3, 4), 5, "5", "1 2 3 4". - enum value `ControlProperty.CornerRadius;` | py `ControlProperty.CornerRadius` — The radius of the corner of the control. Property value can be set using CornerRadius, number, or a string: new CornerRadius(5), new CornerRadius(1, 2, 3, 4). - enum value `ControlProperty.HorizontalContentAlignment;` | py `ControlProperty.HorizontalContentAlignment` — The horizontal content alignment. - enum value `ControlProperty.VerticalContentAlignment;` | py `ControlProperty.VerticalContentAlignment` — The vertical content alignment. - enum value `ControlProperty.TextAlignment;` | py `ControlProperty.TextAlignment` — The alignment of the content. - enum value `ControlProperty.Margin;` | py `ControlProperty.Margin` — The margin of the content. Property value can be set using Thickness, number, or a string new Thickness(5), new Thickness(1, 2, 3, 4), 5, "5", "1 2 3 4". - enum value `ControlProperty.FontWeight;` | py `ControlProperty.FontWeight` — The content font weight. Property value can be set using the FontWeight enumerations: FontWeight.Bold, FontWeight.SemiBold, FontWeight.Light, FontWeight.Thin, etc. - enum value `ControlProperty.FontStyle;` | py `ControlProperty.FontStyle` — The content font style. Property value can be set using the FontStyle enumeration: FontWeight.Italic or FontWeight.Oblique. - enum value `ControlProperty.FontFamily;` | py `ControlProperty.FontFamily` — The font family. - enum value `ControlProperty.FontSize;` | py `ControlProperty.FontSize` — The font size. - enum value `ControlProperty.BorderColor;` | py `ControlProperty.BorderColor` — The border color. Property value can be set using color values, or use the strings Color.Red, Color.FromName("Red"), Color.FromArgb(255, 0, 0), Color.FromHex("#ff0000"), "Red", "#ff0000". - enum value `ControlProperty.CaretColor;` | py `ControlProperty.CaretColor` — The caret color. Property value can be set using color values, or use the strings Color.Red, Color.FromName("Red"), Color.FromArgb(255, 0, 0), Color.FromHex("#ff0000"), "Red", "#ff0000". ## enum cAlgo.API.ControlState — Represents the chart control state. (https://help.ctrader.com/ctrader-algo/references/Controls/Styles/ControlState/index.md) - enum value `ControlState.Hover;` | py `ControlState.Hover` — The hover. - enum value `ControlState.Pressed;` | py `ControlState.Pressed` — The pressed. - enum value `ControlState.Disabled;` | py `ControlState.Disabled` — The disabled. - enum value `ControlState.Checked;` | py `ControlState.Checked` — The checked. - enum value `ControlState.DarkTheme;` | py `ControlState.DarkTheme` — The dark theme. - enum value `ControlState.LightTheme;` | py `ControlState.LightTheme` — The light theme. ## struct cAlgo.API.CornerRadius — Represents the radii of a rectangle's corners. (https://help.ctrader.com/ctrader-algo/references/Controls/Styles/CornerRadius/index.md) - constructor `public CornerRadius(double topLeft, double topRight, double bottomRight, double bottomLeft)` | py `CornerRadius(topLeft: float, topRight: float, bottomRight: float, bottomLeft: float)` — Initializes a new instance of the CornerRadius structure. - constructor `public CornerRadius(double uniformRadius)` | py `CornerRadius(uniformRadius: float)` — Initializes a new instance of the CornerRadius structure. - property `public double BottomLeft {get; set;}` | py `cornerRadius.BottomLeft: float` — Gets or sets the radius of the bottom-left corner. - property `public double BottomRight {get; set;}` | py `cornerRadius.BottomRight: float` — Gets or sets the radius of the bottom-right corner. - property `public double TopLeft {get; set;}` | py `cornerRadius.TopLeft: float` — Gets or sets the radius of the top-left corner. - property `public double TopRight {get; set;}` | py `cornerRadius.TopRight: float` — Gets or sets the radius of the top-right corner. ## struct cAlgo.API.CustomBar — Represents a custom OHLC bar. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/TimeFrame/Custom/CustomBar/index.md) - constructor `public CustomBar(DateTime time, double open, double high, double low, double close, long volume)` | py `CustomBar(time: DateTime, open: float, high: float, low: float, close: float, volume: int)` — Creates a new custom bar. [CLI not supported; Cloud not supported] - property `public double Close {get;}` | py `customBar.Close: float` — Gets close price of bar. [CLI not supported; Cloud not supported] - property `public double High {get;}` | py `customBar.High: float` — Gets high price of bar. [CLI not supported; Cloud not supported] - property `public double Low {get;}` | py `customBar.Low: float` — Gets low price of bar. [CLI not supported; Cloud not supported] - property `public double Open {get;}` | py `customBar.Open: float` — Gets open price of bar. [CLI not supported; Cloud not supported] - property `public DateTime Time {get;}` | py `customBar.Time: DateTime` — Gets open time of bar. [CLI not supported; Cloud not supported] - property `public long Volume {get;}` | py `customBar.Volume: int` — Gets volume of bar. [CLI not supported; Cloud not supported] ## interface cAlgo.API.CustomBars — Represents a mutable collection of OHLC bars that will be used for a custom time frame / symbol. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/TimeFrame/Custom/CustomBars/index.md) - method `void AppendBar(CustomBar bar)` | py `customBars.AppendBar(bar: CustomBar) -> None` — Appends a new bar to the end of bars collection. [CLI not supported; Cloud not supported] - method `void AppendBars(IEnumerable bars)` | py `customBars.AppendBars(bars: Iterable[CustomBar]) -> None` — Appends a collection of bars to the end of bars collection. [CLI not supported; Cloud not supported] - method `void PrependBar(CustomBar bar)` | py `customBars.PrependBar(bar: CustomBar) -> None` — Prepends a new bar to the start of bars collection. [CLI not supported; Cloud not supported] - method `void PrependBars(IEnumerable bars)` | py `customBars.PrependBars(bars: Iterable[CustomBar]) -> None` — Prepends a collection of bars to the start of bars collection. [CLI not supported; Cloud not supported] - method `void UpdateLastBar(double open, double high, double low, double close, long volume)` | py `customBars.UpdateLastBar(open: float, high: float, low: float, close: float, volume: int) -> None` — Updates the last bar. [CLI not supported; Cloud not supported] - property `Bars Bars {get;}` | py `customBars.Bars: Bars` — Gets readonly bars. [CLI not supported; Cloud not supported] - property `bool IsLoaded {get;}` | py `customBars.IsLoaded: bool` — Gets IsLoaded status, If true it means custom bars is being used and can't be removed. [CLI not supported; Cloud not supported] - property `Symbol Symbol {get;}` | py `customBars.Symbol: Symbol` — Gets symbol of custom bars. [CLI not supported; Cloud not supported] - property `TimeFrame TimeFrame {get;}` | py `customBars.TimeFrame: TimeFrame` — Gets timeframe of custom bars. [CLI not supported; Cloud not supported] - event `event Action NeedsMore;` | py `customBars.NeedsMore += handler # handler(obj: CustomBarsNeedsMoreEventArgs)` — Occurs when user scrolls back on a custom bars chart. [CLI not supported; Cloud not supported] ## class cAlgo.API.CustomBarsNeedsMoreEventArgs — Provides data for CustomBars NeedsMore event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/CustomBarsNeedsMoreEventArgs/index.md) - property `public CustomBars CustomBars {get;}` | py `customBarsNeedsMoreEventArgs.CustomBars: CustomBars` — Gets custom bars that needs more bars. [CLI not supported; Cloud not supported] ## class cAlgo.API.CustomControl — Represents the custom control to create reusable controls with customized look and behavior. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/CustomControl/index.md) - method `protected void AddChild(ControlBase childControl)` | py `customControl.AddChild(childControl: ControlBase) -> None` — Adds a child control. [CLI not supported; Cloud not supported] ## interface cAlgo.API.CustomFrame — Represents a custom frame. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Chart/CustomFrame/index.md) - property `ControlBase Child {get; set;}` | py `customFrame.Child: ControlBase` — Get / set child control of frame. [CLI not supported; Cloud not supported] ## interface cAlgo.API.CustomSymbol — Represents a custom symbol. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Symbol/Custom/CustomSymbol/index.md) - method `CustomBars AddBars(TimeFrame timeFrame)` | py `customSymbol.AddBars(timeFrame: TimeFrame) -> CustomBars` — Adds bars for a time frame that will be used for this custom symbol. [CLI not supported; Cloud not supported] - method `CustomBars GetBars(TimeFrame timeFrame)` | py `customSymbol.GetBars(timeFrame: TimeFrame) -> CustomBars` — Returns bars of a time frame if exists otherwise null. [CLI not supported; Cloud not supported] - method `void RemoveAllUnloadedBars()` | py `customSymbol.RemoveAllUnloadedBars() -> None` — Removes all existing unloaded custom bars that aren't being used. [CLI not supported; Cloud not supported] - method `bool RemoveBars(TimeFrame timeFrame)` | py `customSymbol.RemoveBars(timeFrame: TimeFrame) -> bool` — Removes bars of a time frame which has no user. [CLI not supported; Cloud not supported] - method `void UpdateQuote(double? bid, double? ask)` | py `customSymbol.UpdateQuote(bid: float | None, ask: float | None) -> None` — Updates current symbol quotes. [CLI not supported; Cloud not supported] - property `double AdministrativeCharge {get; set;}` | py `customSymbol.AdministrativeCharge: float` — 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. [CLI not supported; Cloud not supported] - property `DayOfWeek? AdministrativeCharge3DaysRollover {get; set;}` | py `customSymbol.AdministrativeCharge3DaysRollover: DayOfWeek | None` — Gets / sets the Day of the week (in UTC) when Administrative Fee charge amount will be tripled. Only applicable for SWAP free trading accounts. [CLI not supported; Cloud not supported] - property `double Ask {get;}` | py `customSymbol.Ask: float` — Gets the current ask price for this symbol. [CLI not supported; Cloud not supported] - property `Action BarsNeeded {get; set;}` | py `customSymbol.BarsNeeded: Callable[[CustomSymbolBarsNeededArgs], None]` — Gets / sets BarsNeeded handler, it's triggered when bars are needed for a time frame of current custom symbol. [CLI not supported; Cloud not supported] - property `Asset BaseAsset {get; set;}` | py `customSymbol.BaseAsset: Asset` — Gets / sets the symbol base asset. [CLI not supported; Cloud not supported] - property `double Bid {get;}` | py `customSymbol.Bid: float` — Gets the current bid price for this symbol. [CLI not supported; Cloud not supported] - property `double Commission {get; set;}` | py `customSymbol.Commission: float` — Gets / sets the amount of base commission for the symbol. [CLI not supported; Cloud not supported] - property `SymbolCommissionType CommissionType {get; set;}` | py `customSymbol.CommissionType: SymbolCommissionType` — Gets / sets the symbol base commission calculation type. [CLI not supported; Cloud not supported] - property `string Description {get; set;}` | py `customSymbol.Description: str` — Gets / sets symbol description. [CLI not supported; Cloud not supported] - property `ICollection DynamicLeverage {get;}` | py `customSymbol.DynamicLeverage: Sequence[CustomSymbolLeverageTier]` — Gets / sets the symbol dynamic leverage. [CLI not supported; Cloud not supported] - property `CustomSymbolFuturesSettings FuturesSettings {get; set;}` | py `customSymbol.FuturesSettings: CustomSymbolFuturesSettings` — Gets / sets custom future contract settings. [CLI not supported; Cloud not supported] - property `int GracePeriod {get; set;}` | py `customSymbol.GracePeriod: int` — Gets / sets 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. [CLI not supported; Cloud not supported] - property `long Id {get;}` | py `customSymbol.Id: int` — Gets the custom symbol ID. [CLI not supported; Cloud not supported] - property `long LotSize {get; set;}` | py `customSymbol.LotSize: int` — Gets / sets the lot size. [CLI not supported; Cloud not supported] - property `CustomSymbolMarketHours MarketHours {get;}` | py `customSymbol.MarketHours: CustomSymbolMarketHours` — Gets / sets the symbol market hours. [CLI not supported; Cloud not supported] - property `double MinCommission {get; set;}` | py `customSymbol.MinCommission: float` — Gets / sets 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. [CLI not supported; Cloud not supported] - property `Asset MinCommissionAsset {get; set;}` | py `customSymbol.MinCommissionAsset: Asset` — Gets / sets 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. [CLI not supported; Cloud not supported] - property `SymbolMinCommissionType MinCommissionType {get; set;}` | py `customSymbol.MinCommissionType: SymbolMinCommissionType` — Gets / sets the symbol minimum commission type. Use this property to interpret MinCommission value. [CLI not supported; Cloud not supported] - property `SymbolMinDistanceType MinDistanceType {get; set;}` | py `customSymbol.MinDistanceType: SymbolMinDistanceType` — Gets / sets the symbol minimum distances type. [CLI not supported; Cloud not supported] - property `double MinStopLossDistance {get; set;}` | py `customSymbol.MinStopLossDistance: float` — Gets / sets symbol minimum stop loss distance. Use MinDistanceType for interpretation. [CLI not supported; Cloud not supported] - property `double MinTakeProfitDistance {get; set;}` | py `customSymbol.MinTakeProfitDistance: float` — Gets / sets symbol minimum take profit distance. Use MinDistanceType for interpretation. [CLI not supported; Cloud not supported] - property `string Name {get;}` | py `customSymbol.Name: str` — Gets custom symbol unique name. [CLI not supported; Cloud not supported] - property `int PipDigits {get; set;}` | py `customSymbol.PipDigits: int` — Gets / sets the symbol pip digits. [CLI not supported; Cloud not supported] - property `double PnLConversionFeeRate {get; set;}` | py `customSymbol.PnLConversionFeeRate: float` — Gets / sets the symbol profit and loss conversion fee rate. [CLI not supported; Cloud not supported] - property `Asset QuoteAsset {get; set;}` | py `customSymbol.QuoteAsset: Asset` — Gets / sets the symbol quote asset. [CLI not supported; Cloud not supported] - property `CustomSymbolSentiment Sentiment {get;}` | py `customSymbol.Sentiment: CustomSymbolSentiment` — Gets custom symbol sentiment. [CLI not supported; Cloud not supported] - property `DayOfWeek? Swap3DaysRollover {get; set;}` | py `customSymbol.Swap3DaysRollover: DayOfWeek | None` — Gets / sets the Day of the week when Symbol SWAP charge amount will be tripled. [CLI not supported; Cloud not supported] - property `SymbolSwapCalculationType SwapCalculationType {get; set;}` | py `customSymbol.SwapCalculationType: SymbolSwapCalculationType` — Gets / sets the symbol SWAP calculation type. [CLI not supported; Cloud not supported] - property `double SwapLong {get; set;}` | py `customSymbol.SwapLong: float` — Gets / sets the SWAP charge for long positions of the symbol. [CLI not supported; Cloud not supported] - property `int SwapPeriod {get; set;}` | py `customSymbol.SwapPeriod: int` — Gets / sets symbol swap period. This is the number of days free of Administrative fee from the time of opening a position. [CLI not supported; Cloud not supported] - property `double SwapShort {get; set;}` | py `customSymbol.SwapShort: float` — Gets / sets the SWAP charge for short positions of the symbol. [CLI not supported; Cloud not supported] - property `int SwapTimeInMinutes {get; set;}` | py `customSymbol.SwapTimeInMinutes: int` — Gets / sets the SWAP time in minutes. [CLI not supported; Cloud not supported] - property `Symbol Symbol {get;}` | py `customSymbol.Symbol: Symbol` — Gets regular Symbol. [CLI not supported; Cloud not supported] - property `int TickDigits {get; set;}` | py `customSymbol.TickDigits: int` — Gets / sets the symbol tick digits. [CLI not supported; Cloud not supported] - property `double VolumeInUnitsMax {get; set;}` | py `customSymbol.VolumeInUnitsMax: float` — Gets / sets the maximum units value. [CLI not supported; Cloud not supported] - property `double VolumeInUnitsMin {get; set;}` | py `customSymbol.VolumeInUnitsMin: float` — Gets / sets the minimum units value. [CLI not supported; Cloud not supported] - property `double VolumeInUnitsStep {get; set;}` | py `customSymbol.VolumeInUnitsStep: float` — Gets / sets the step volume in units. [CLI not supported; Cloud not supported] - property `bool WeekendSwaps {get; set;}` | py `customSymbol.WeekendSwaps: bool` — Gets / sets whether swap is charged on weekends or not. [CLI not supported; Cloud not supported] - event `event Action BarsUnloaded;` | py `customSymbol.BarsUnloaded += handler # handler(obj: CustomSymbolBarsUnloadedEventArgs)` — Occurs when a custom bars is unloaded and not being used anymore. [CLI not supported; Cloud not supported] - event `event Action NewChart;` | py `customSymbol.NewChart += handler # handler(obj: CustomSymbolNewChartEventArgs)` — Occurs when user opens a new chart of current custom symbol. [CLI not supported; Cloud not supported] ## class cAlgo.API.CustomSymbolBarsNeededArgs — Provides data for custom symbol BarsNeeded handler. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Symbol/Custom/CustomSymbolBarsNeededArgs/index.md) - property `public CustomBars CustomBars {get;}` | py `customSymbolBarsNeededArgs.CustomBars: CustomBars` — Gets custom bars. [CLI not supported; Cloud not supported] - property `public CustomSymbol CustomSymbol {get;}` | py `customSymbolBarsNeededArgs.CustomSymbol: CustomSymbol` — Gets custom symbol. [CLI not supported; Cloud not supported] ## class cAlgo.API.CustomSymbolBarsUnloadedEventArgs — Provides data for custom symbol BarsUnloaded event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/CustomSymbolBarsUnloadedEventArgs/index.md) - property `public CustomBars CustomBars {get;}` | py `customSymbolBarsUnloadedEventArgs.CustomBars: CustomBars` — Gets custom bars that was unloaded. [CLI not supported; Cloud not supported] - property `public CustomSymbol CustomSymbol {get;}` | py `customSymbolBarsUnloadedEventArgs.CustomSymbol: CustomSymbol` — Gets custom symbol. [CLI not supported; Cloud not supported] ## class cAlgo.API.CustomSymbolFuturesSettings — Represents a custom symbol futures settings. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Symbol/Custom/CustomSymbolFuturesSettings/index.md) - constructor `public CustomSymbolFuturesSettings(DateTime lastTradeTime, DateTime expirationTime, double? maintenanceMargin)` | py `CustomSymbolFuturesSettings(lastTradeTime: DateTime, expirationTime: DateTime, maintenanceMargin: float | None)` — Creates a new custom symbol futures settings. [CLI not supported; Cloud not supported] - property `public DateTime ExpirationTime {get;}` | py `customSymbolFuturesSettings.ExpirationTime: DateTime` — Gets the expiration time of future contract. [CLI not supported; Cloud not supported] - property `public DateTime LastTradeTime {get;}` | py `customSymbolFuturesSettings.LastTradeTime: DateTime` — Gets the last trade time of future contract. [CLI not supported; Cloud not supported] - property `public double? MaintenanceMargin {get;}` | py `customSymbolFuturesSettings.MaintenanceMargin: float | None` — The amount of quote asset that will be taken as a margin per one traded lot. [CLI not supported; Cloud not supported] ## class cAlgo.API.CustomSymbolLeverageTier — Custom symbol tier of dynamic leverage. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Symbol/Custom/CustomSymbolLeverageTier/index.md) - constructor `public CustomSymbolLeverageTier(double volume, double leverage)` | py `CustomSymbolLeverageTier(volume: float, leverage: float)` — Creates a new custom symbol leverage tier. [CLI not supported; Cloud not supported] - property `public double Leverage {get;}` | py `customSymbolLeverageTier.Leverage: float` — Leverage of dynamic leverage tier. [CLI not supported; Cloud not supported] - property `public double Volume {get;}` | py `customSymbolLeverageTier.Volume: float` — Volume of dynamic leverage tier. [CLI not supported; Cloud not supported] ## interface cAlgo.API.CustomSymbolMarketHours — Access to custom symbol's trading sessions schedule. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Symbol/Custom/CustomSymbolMarketHours/index.md) - property `ICollection Holidays {get;}` | py `customSymbolMarketHours.Holidays: Sequence[CustomSymbolTradingHoliday]` — Collection of all symbol's trading holidays [CLI not supported; Cloud not supported] - property `ICollection Sessions {get;}` | py `customSymbolMarketHours.Sessions: Sequence[CustomSymbolTradingSession]` — Collection of all symbol's trading sessions [CLI not supported; Cloud not supported] ## class cAlgo.API.CustomSymbolNewChartEventArgs — Provides data for custom symbol NewChart event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/CustomSymbolNewChartEventArgs/index.md) - property `public Chart Chart {get;}` | py `customSymbolNewChartEventArgs.Chart: Chart` — Chart that is newly opened or switched to custom symbol. [CLI not supported; Cloud not supported] - property `public CustomBars CustomBars {get;}` | py `customSymbolNewChartEventArgs.CustomBars: CustomBars` — Gets custom bars for the newly opened custom symbol chart. [CLI not supported; Cloud not supported] - property `public CustomSymbol CustomSymbol {get;}` | py `customSymbolNewChartEventArgs.CustomSymbol: CustomSymbol` — Gets custom symbol. [CLI not supported; Cloud not supported] ## interface cAlgo.API.CustomSymbolSentiment — Represents a custom symbol sentiment. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Symbol/Custom/CustomSymbolSentiment/index.md) - property `double BuyPercentage {get; set;}` | py `customSymbolSentiment.BuyPercentage: float` — Gets / sets buy percentage. [CLI not supported; Cloud not supported] - property `double SellPercentage {get; set;}` | py `customSymbolSentiment.SellPercentage: float` — Gets / sets sell percentage. [CLI not supported; Cloud not supported] ## class cAlgo.API.CustomSymbolTradingHoliday — Represents a custom symbol trading holiday. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Symbol/Custom/CustomSymbolTradingHoliday/index.md) - constructor `public CustomSymbolTradingHoliday(string name, DateTime startTime, DateTime endTime, bool isRecurring)` | py `CustomSymbolTradingHoliday(name: str, startTime: DateTime, endTime: DateTime, isRecurring: bool)` — Creates a new custom symbol trading holiday. [CLI not supported; Cloud not supported] - property `public DateTime EndTime {get;}` | py `customSymbolTradingHoliday.EndTime: DateTime` — Gets the end date and time of the trading holiday. [CLI not supported; Cloud not supported] - property `public bool IsRecurring {get;}` | py `customSymbolTradingHoliday.IsRecurring: bool` — Gets a value indicating whether the trading holiday is recurring. [CLI not supported; Cloud not supported] - property `public string Name {get;}` | py `customSymbolTradingHoliday.Name: str` — Gets the name of the trading holiday. [CLI not supported; Cloud not supported] - property `public DateTime StartTime {get;}` | py `customSymbolTradingHoliday.StartTime: DateTime` — Gets the start date and time of the trading holiday. [CLI not supported; Cloud not supported] ## class cAlgo.API.CustomSymbolTradingSession — Custom symbol trading session schedule. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Symbol/Custom/CustomSymbolTradingSession/index.md) - constructor `public CustomSymbolTradingSession(DayOfWeek startDay, DayOfWeek endDay, TimeSpan startTime, TimeSpan endTime)` | py `CustomSymbolTradingSession(startDay: DayOfWeek, endDay: DayOfWeek, startTime: TimeSpan, endTime: TimeSpan)` — Creates a new custom symbol trading session. [CLI not supported; Cloud not supported] - property `public DayOfWeek EndDay {get;}` | py `customSymbolTradingSession.EndDay: DayOfWeek` — Day of week when trading session ends [CLI not supported; Cloud not supported] - property `public TimeSpan EndTime {get;}` | py `customSymbolTradingSession.EndTime: TimeSpan` — Time when trading session ends [CLI not supported; Cloud not supported] - property `public DayOfWeek StartDay {get;}` | py `customSymbolTradingSession.StartDay: DayOfWeek` — Day of week when trading session starts [CLI not supported; Cloud not supported] - property `public TimeSpan StartTime {get;}` | py `customSymbolTradingSession.StartTime: TimeSpan` — Time when trading session starts [CLI not supported; Cloud not supported] ## interface cAlgo.API.CustomSymbols — Represents collection of custom symbols. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Symbol/Custom/CustomSymbols/index.md) - method `CustomSymbol Add(string name, Asset baseAsset, Asset quoteAsset)` | py `api.CustomSymbols.Add(name: str, baseAsset: Asset, quoteAsset: Asset) -> CustomSymbol` — Adds a new custom symbol. [CLI not supported; Cloud not supported] - method `CustomSymbol Add(string name, Symbol baseSymbol)` | py `api.CustomSymbols.Add(name: str, baseSymbol: Symbol) -> CustomSymbol` — Adds a new custom symbol based on existing symbol. [CLI not supported; Cloud not supported] - method `CustomSymbol Get(string name)` | py `api.CustomSymbols.Get(name: str) -> CustomSymbol | None` — Returns a custom symbol by it's name. [CLI not supported; Cloud not supported] - method `bool Remove(CustomSymbol customSymbol)` | py `api.CustomSymbols.Remove(customSymbol: CustomSymbol) -> bool` — Removes a custom symbol. [CLI not supported; Cloud not supported] ## interface cAlgo.API.CustomTimeFrame — Represents a custom time frame. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/TimeFrame/Custom/CustomTimeFrame/index.md) - method `CustomBars AddBars(Symbol symbol)` | py `customTimeFrame.AddBars(symbol: Symbol) -> CustomBars` — Adds bars for a symbol that will be used for this custom time frame when needed. [CLI not supported; Cloud not supported] - method `CustomBars GetBars(Symbol symbol)` | py `customTimeFrame.GetBars(symbol: Symbol) -> CustomBars` — Returns bars of a symbol if exists otherwise null. [CLI not supported; Cloud not supported] - method `void RemoveAllUnloadedBars()` | py `customTimeFrame.RemoveAllUnloadedBars() -> None` — Removes all existing unloaded custom bars that aren't being used. [CLI not supported; Cloud not supported] - method `bool RemoveBars(Symbol symbol)` | py `customTimeFrame.RemoveBars(symbol: Symbol) -> bool` — Removes bars of a symbol which is not being used. [CLI not supported; Cloud not supported] - property `Action BarsNeeded {get; set;}` | py `customTimeFrame.BarsNeeded: Callable[[CustomTimeFrameBarsNeededArgs], None]` — Gets / sets BarsNeeded handler, it's triggered when bars are needed for a symbol of current time frame. [CLI not supported; Cloud not supported] - property `string Description {get; set;}` | py `customTimeFrame.Description: str` — Gets / sets custom time frame description. [CLI not supported; Cloud not supported] - property `string Name {get;}` | py `customTimeFrame.Name: str` — Gets Custom time frame unique name. [CLI not supported; Cloud not supported] - property `TimeFrame TimeFrame {get;}` | py `customTimeFrame.TimeFrame: TimeFrame` — Gets regular time frame. [CLI not supported; Cloud not supported] - event `event Action BarsUnloaded;` | py `customTimeFrame.BarsUnloaded += handler # handler(obj: CustomTimeFrameBarsUnloadedEventArgs)` — Occurs when a custom bars is unloaded and not being used anymore. [CLI not supported; Cloud not supported] - event `event Action NewChart;` | py `customTimeFrame.NewChart += handler # handler(obj: CustomTimeFrameNewChartEventArgs)` — Occurs when user opens a new chart of current custom time frame. [CLI not supported; Cloud not supported] ## class cAlgo.API.CustomTimeFrameBarsNeededArgs — Provides data for custom time frame BarsNeeded handler. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/TimeFrame/Custom/CustomTimeFrameBarsNeededArgs/index.md) - property `public CustomBars CustomBars {get;}` | py `customTimeFrameBarsNeededArgs.CustomBars: CustomBars` — Gets custom bars. [CLI not supported; Cloud not supported] - property `public CustomTimeFrame CustomTimeFrame {get;}` | py `customTimeFrameBarsNeededArgs.CustomTimeFrame: CustomTimeFrame` — Gets custom time frame. [CLI not supported; Cloud not supported] ## class cAlgo.API.CustomTimeFrameBarsUnloadedEventArgs — Provides data for custom time frame BarsUnloaded event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/CustomTimeFrameBarsUnloadedEventArgs/index.md) - property `public CustomBars CustomBars {get;}` | py `customTimeFrameBarsUnloadedEventArgs.CustomBars: CustomBars` — Gets custom bars that was unloaded. [CLI not supported; Cloud not supported] - property `public CustomTimeFrame CustomTimeFrame {get;}` | py `customTimeFrameBarsUnloadedEventArgs.CustomTimeFrame: CustomTimeFrame` — Gets custom time frame. [CLI not supported; Cloud not supported] ## class cAlgo.API.CustomTimeFrameNewChartEventArgs — Provides data for custom time frame NewChart event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/CustomTimeFrameNewChartEventArgs/index.md) - property `public Chart Chart {get;}` | py `customTimeFrameNewChartEventArgs.Chart: Chart` — Chart that is newly opened or switched to custom time frame. [CLI not supported; Cloud not supported] - property `public CustomBars CustomBars {get;}` | py `customTimeFrameNewChartEventArgs.CustomBars: CustomBars` — Gets custom bars for the newly opened custom time frame chart. [CLI not supported; Cloud not supported] - property `public CustomTimeFrame CustomTimeFrame {get;}` | py `customTimeFrameNewChartEventArgs.CustomTimeFrame: CustomTimeFrame` — Gets custom time frame. [CLI not supported; Cloud not supported] ## interface cAlgo.API.CustomTimeFrames — Represents collection of custom time frames. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/TimeFrame/Custom/CustomTimeFrames/index.md) - method `CustomTimeFrame Add(string name)` | py `customTimeFrames.Add(name: str) -> CustomTimeFrame` — Adds a new custom time frame. [CLI not supported; Cloud not supported] - method `CustomTimeFrame Get(string name)` | py `customTimeFrames.Get(name: str) -> CustomTimeFrame | None` — Returns a custom time frame by it's name. [CLI not supported; Cloud not supported] - method `bool Remove(CustomTimeFrame customTimeFrame)` | py `customTimeFrames.Remove(customTimeFrame: CustomTimeFrame) -> bool` — Removes a custom time frame. [CLI not supported; Cloud not supported] ## interface cAlgo.API.Indicators.CyberCycle — The Cyber Cycles Oscillator is an indicator designed by John Ehlers, it is used for isolating the cycle component of the market from its trend counterpart. (https://help.ctrader.com/ctrader-algo/references/Indicators/CyberCycle/index.md) - property `IndicatorDataSeries Cycle {get; set;}` | py `cyberCycle.Cycle: IndicatorDataSeries` — The Cyber Cycles Oscillator plot. - property `IndicatorDataSeries Trigger {get; set;}` | py `cyberCycle.Trigger: IndicatorDataSeries` — The CCO plot shifted one bar back; crossovers of the two plots suggest Buy/Sell signals. ## interface cAlgo.API.DataSeries — Represents a read only list of values, typically used to represent market price series. The values are accessed with an array-like [] operator. (https://help.ctrader.com/ctrader-algo/references/Collections/DataSeries/DataSeries/index.md) - method `double Last(int index)` | py `dataSeries.Last(index: int) -> float` — Access a value in the data series certain bars ago - property `int Count {get;}` | py `dataSeries.Count: int` — Gets the total number of elements contained in the DataSeries. - property `double Item {get;}` | py `dataSeries[index: int] -> float` — Gets the value in the data series at the specified position. - property `double LastValue {get;}` | py `dataSeries.LastValue: float` — Gets the last value of this DataSeries. ## class cAlgo.API.DateTimePicker — Represents the date time picker control. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/DateTimePicker/index.md) - constructor `public DateTimePicker()` | py `DateTimePicker()` — Initializes a new instance of the DateTimePicker class. [CLI not supported; Cloud not supported] - property `public DateTime MaxValue {get; set;}` | py `dateTimePicker.MaxValue: DateTime` — Gets or sets maximum value. [CLI not supported; Cloud not supported] - property `public DateTime MinValue {get; set;}` | py `dateTimePicker.MinValue: DateTime` — Gets or sets minimum value. [CLI not supported; Cloud not supported] - property `public bool ShowTimeInput {get; set;}` | py `dateTimePicker.ShowTimeInput: bool` — Gets or sets whether show time picker input or not. [CLI not supported; Cloud not supported] - property `public DateTime Value {get; set;}` | py `dateTimePicker.Value: DateTime` — Gets or sets value. [CLI not supported; Cloud not supported] - event `public event Action ValueChanged;` | py `dateTimePicker.ValueChanged += handler # handler(obj: DateTimePickerValueChangedEventArgs)` — Occurs when value is changed. [CLI not supported; Cloud not supported] ## class cAlgo.API.DateTimePickerValueChangedEventArgs — Provides data for the DateTimePicker ValueChanged event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/DateTimePickerValueChangedEventArgs/index.md) - property `public DateTimePicker DateTimePicker {get;}` | py `dateTimePickerValueChangedEventArgs.DateTimePicker: DateTimePicker` — Gets the date time picker control. [CLI not supported; Cloud not supported] - property `public DateTime NewValue {get;}` | py `dateTimePickerValueChangedEventArgs.NewValue: DateTime` — Gets the new selected value. [CLI not supported; Cloud not supported] - property `public DateTime OldValue {get;}` | py `dateTimePickerValueChangedEventArgs.OldValue: DateTime` — Gets the old selected value. [CLI not supported; Cloud not supported] ## interface cAlgo.API.Indicators.DeMarker — The DeMarker is an oscillator that compares the most recent maximum and minimum prices to the previous period's equivalent price. (https://help.ctrader.com/ctrader-algo/references/Indicators/DeMarker/index.md) - property `IndicatorDataSeries Result {get;}` | py `deMarker.Result: IndicatorDataSeries` — Gets the resulting time series of the DeMarker calculation. ## interface cAlgo.API.Deal — Represents a deal. (https://help.ctrader.com/ctrader-algo/references/Trading/Deals/Deal/index.md) - property `string Channel {get;}` | py `deal.Channel: str` — Gets the channel. [CLI works differently; Cloud works differently] - property `IReadonlyList ClosedBy {get;}` | py `deal.ClosedBy: IReadonlyList[Deal]` — If deal was an opening deal then this property will return the deals that closed current deal. - property `IReadonlyList Closing {get;}` | py `deal.Closing: IReadonlyList[Deal]` — If deal was a closing deal then this property will return the deals that were closed by current deal. - property `string Comment {get;}` | py `deal.Comment: str` — Gets the comment. - property `double? ExecutionPrice {get;}` | py `deal.ExecutionPrice: float | None` — Returns deal execution price if deal is filled otherwise null. - property `DateTime ExecutionTime {get;}` | py `deal.ExecutionTime: DateTime` — Returns deal execution time. - property `long Id {get;}` | py `deal.Id: int` — Unique deal Id. - property `string Label {get;}` | py `deal.Label: str` — Gets the label. - property `int OrderId {get;}` | py `deal.OrderId: int` — Order Id. - property `int PositionId {get;}` | py `deal.PositionId: int` — Position Id. - property `DealPositionImpact? PositionImpact {get;}` | py `deal.PositionImpact: DealPositionImpact | None` — Returns deal position impact if deal is filled otherwise null. - property `DealStatus Status {get;}` | py `deal.Status: DealStatus` — Returns status of deal. - property `string SymbolName {get;}` | py `deal.SymbolName: str` — Gets the symbol name. - property `TradeType TradeType {get;}` | py `deal.TradeType: TradeType` — Gets the TradeType. - property `double VolumeInUnits {get;}` | py `deal.VolumeInUnits: float` — Deal filled volume amount in units. ## enum cAlgo.API.DealPositionImpact — Represents the impact of a deal on position. (https://help.ctrader.com/ctrader-algo/references/Trading/Deals/DealPositionImpact/index.md) - enum value `DealPositionImpact.Opening;` | py `DealPositionImpact.Opening` — Opening deal. - enum value `DealPositionImpact.Closing;` | py `DealPositionImpact.Closing` — Closing deal. ## enum cAlgo.API.DealStatus — Represents the different status of a deal. (https://help.ctrader.com/ctrader-algo/references/Trading/Deals/DealStatus/index.md) - enum value `DealStatus.Filled;` | py `DealStatus.Filled` — Filled. - enum value `DealStatus.PartiallyFilled;` | py `DealStatus.PartiallyFilled` — Partially filled. - enum value `DealStatus.Rejected;` | py `DealStatus.Rejected` — Rejected. - enum value `DealStatus.Error;` | py `DealStatus.Error` — Error. - enum value `DealStatus.Missed;` | py `DealStatus.Missed` — Missed. - enum value `DealStatus.InternallyRejected;` | py `DealStatus.InternallyRejected` — Internally rejected. ## class cAlgo.API.DefaultStyles — Represent the list of default styles for the built-in controls. (https://help.ctrader.com/ctrader-algo/references/Controls/Styles/DefaultStyles/index.md) - property `public static Style ButtonStyle {get;}` | py `DefaultStyles.ButtonStyle: Style` — Gets the Button default style. - property `public static Style CheckBoxStyle {get;}` | py `DefaultStyles.CheckBoxStyle: Style` — Gets the Checkbox default style. - property `public static Style ComboBoxStyle {get;}` | py `DefaultStyles.ComboBoxStyle: Style` — Gets the ComboBox default style. - property `public static Style MultiSelectStyle {get;}` | py `DefaultStyles.MultiSelectStyle: Style` — Gets the MultiSelect default style. - property `public static Style RadioButtonStyle {get;}` | py `DefaultStyles.RadioButtonStyle: Style` — Gets the Radio Button default stile. - property `public static Style ScrollViewerStyle {get;}` | py `DefaultStyles.ScrollViewerStyle: Style` — Gets the Scroll Viewer default style. - property `public static Style TabControlStyle {get;}` | py `DefaultStyles.TabControlStyle: Style` — Gets the Tab Control default style. - property `public static Style TabItemStyle {get;}` | py `DefaultStyles.TabItemStyle: Style` — Gets the Tab Item default style. - property `public static Style TextBlockStyle {get;}` | py `DefaultStyles.TextBlockStyle: Style` — Gets the Text Block default style. - property `public static Style TextBoxStyle {get;}` | py `DefaultStyles.TextBoxStyle: Style` — Gets the Text Box default style. - property `public static Style ToggleButtonStyle {get;}` | py `DefaultStyles.ToggleButtonStyle: Style` — Gets the Toggle Button default style. ## interface cAlgo.API.DetachedWindow — Used to represent the properties of a detached window. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/Windows/DetachedWindow/index.md) - property `double Height {get; set;}` | py `detachedWindow.Height: float` — Get / Set height of the Window [CLI not supported; Cloud not supported] - property `double Left {get; set;}` | py `detachedWindow.Left: float` — Get / Set window left margin (X) [CLI not supported; Cloud not supported] - property `double MaxHeight {get; set;}` | py `detachedWindow.MaxHeight: float` — Get / Set the window maximum height [CLI not supported; Cloud not supported] - property `double MaxWidth {get; set;}` | py `detachedWindow.MaxWidth: float` — Get / Set the window maximum width [CLI not supported; Cloud not supported] - property `double MinHeight {get; set;}` | py `detachedWindow.MinHeight: float` — Get / Set the window minimum height [CLI not supported; Cloud not supported] - property `double MinWidth {get; set;}` | py `detachedWindow.MinWidth: float` — Get / Set the window minimum width [CLI not supported; Cloud not supported] - property `ResizeMode ResizeMode {get; set;}` | py `detachedWindow.ResizeMode: ResizeMode` — Get / Set the window resize mode [CLI not supported; Cloud not supported] - property `double Top {get; set;}` | py `detachedWindow.Top: float` — Get / Set window top margin (Y) [CLI not supported; Cloud not supported] - property `double Width {get; set;}` | py `detachedWindow.Width: float` — Get / Set width of the window [CLI not supported; Cloud not supported] - property `WindowStartupLocation WindowStartupLocation {get; set;}` | py `detachedWindow.WindowStartupLocation: WindowStartupLocation` — Get / Set the window startup location [CLI not supported; Cloud not supported] ## interface cAlgo.API.Indicators.DetrendedPriceOscillator — The Detrended Price Oscillator Indicator interface. (https://help.ctrader.com/ctrader-algo/references/Indicators/DetrendedPriceOscillator/index.md) - property `IndicatorDataSeries Result {get;}` | py `detrendedPriceOscillator.Result: IndicatorDataSeries` — The resulting time series of Detrended Price Oscillator calculation. ## interface cAlgo.API.Indicators.DirectionalMovementSystem — The Welles Wilder's Directional Movement Indicator calculation. (https://help.ctrader.com/ctrader-algo/references/Indicators/DirectionalMovementSystem/index.md) - property `IndicatorDataSeries ADX {get;}` | py `directionalMovementSystem.ADX: IndicatorDataSeries` — The Average Directional Movement Index (ADX) indicates whether the market is trending or ranging. - property `IndicatorDataSeries DIMinus {get;}` | py `directionalMovementSystem.DIMinus: IndicatorDataSeries` — The Negative Direction Indicator (-DI) indicates downward trend movement. - property `IndicatorDataSeries DIPlus {get;}` | py `directionalMovementSystem.DIPlus: IndicatorDataSeries` — The Positive Direction Indicator (+DI) indicates upward trend movement. ## enum cAlgo.API.Dock — Specifies where a chart control will be docked inside the DockPanel. (https://help.ctrader.com/ctrader-algo/references/Controls/Layout/Dock/index.md) - enum value `Dock.Left;` | py `Dock.Left` — Dock to the left side of the DockPanel. - enum value `Dock.Top;` | py `Dock.Top` — Dock to the top of the DockPanel. - enum value `Dock.Right;` | py `Dock.Right` — Dock to the right side of the DockPanel. - enum value `Dock.Bottom;` | py `Dock.Bottom` — Dock to the bottom of the DockPanel. ## class cAlgo.API.DockPanel — Defines the area where you can arrange child elemens either horizontally or vertically, relative to each other. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/Layout/DockPanel/index.md) - constructor `public DockPanel()` | py `DockPanel()` — Initializes a new instance of the DockPanel class. [CLI not supported; Cloud not supported] - property `public bool LastChildFill {get; set;}` | py `dockPanel.LastChildFill: bool` — Indicates whether the last child element within a DockPanel stretches to fill the remaining available space. [CLI not supported; Cloud not supported] ## interface cAlgo.API.Indicators.DonchianChannel — The Donchian channel is a volatility indicator forming a channel between the highest high and the lowest low of the chosen period. (https://help.ctrader.com/ctrader-algo/references/Indicators/DonchianChannel/index.md) - property `IndicatorDataSeries Bottom {get; set;}` | py `donchianChannel.Bottom: IndicatorDataSeries` — Gets or sets the lowest low of the period. - property `IndicatorDataSeries Middle {get; set;}` | py `donchianChannel.Middle: IndicatorDataSeries` — Gets or sets the middle of the highest high and the lowest low of the period. - property `IndicatorDataSeries Top {get; set;}` | py `donchianChannel.Top: IndicatorDataSeries` — Gets or sets the highest high of the period. ## interface cAlgo.API.Indicators.DoubleExponentialMovingAverage — The Double Exponential Moving Average (DEMA) is a combination of smoothed exponential moving averages (EMA) and a basic EMA (https://help.ctrader.com/ctrader-algo/references/Indicators/DoubleExponentialMovingAverage/index.md) ## class cAlgo.API.DrawingColorChangedEventArgs — Provides data for the drawing color changed event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/DrawingColorChangedEventArgs/index.md) - property `public Color DrawingColor {get;}` | py `drawingColorChangedEventArgs.DrawingColor: Color` — Gets the drawing color. ## class cAlgo.API.DropZone — Represents the DropZone control that can be used as a file(s) input. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/DropZone/index.md) - constructor `public DropZone()` | py `DropZone()` — Initializes a new instance of the DropZone class. [CLI not supported; Cloud not supported] - property `public ControlBase Child {get; set;}` | py `dropZone.Child: ControlBase` — Gets or sets the drop zone child object. [CLI not supported; Cloud not supported] - property `public string[] FilterExtensions {get; set;}` | py `dropZone.FilterExtensions: list[str]` — Gets or sets the file extensions filter. [CLI not supported; Cloud not supported] - property `public bool IsDirectoryDropAllowed {get; set;}` | py `dropZone.IsDirectoryDropAllowed: bool` — Gets or sets whether user can drop directories or not. [CLI not supported; Cloud not supported] - event `public event Action Dropped;` | py `dropZone.Dropped += handler # handler(obj: DroppedEventArgs)` — Occurs when files are dropped. [CLI not supported; Cloud not supported] ## class cAlgo.API.DroppedEventArgs — Provides data for the Dropzone Dropped event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/DroppedEventArgs/index.md) - property `public DropZone DropZone {get;}` | py `droppedEventArgs.DropZone: DropZone` — Gets the Dropzone control. [CLI not supported; Cloud not supported] - property `public IReadonlyList FilePaths {get;}` | py `droppedEventArgs.FilePaths: IReadonlyList[str]` — Gets the dropped file paths. [CLI not supported; Cloud not supported] ## interface cAlgo.API.Indicators.EaseOfMovement — Ease of Movement is a volume based oscillator that measures the "ease" of price movement. (https://help.ctrader.com/ctrader-algo/references/Indicators/EaseOfMovement/index.md) - property `IndicatorDataSeries Result {get; set;}` | py `easeOfMovement.Result: IndicatorDataSeries` — The time series of the Ease Of Movement Indicator. ## interface cAlgo.API.Indicators.ElderForceIndex — The calculation of the Elder's Force Index. (https://help.ctrader.com/ctrader-algo/references/Indicators/ElderForceIndex/index.md) - property `IndicatorDataSeries Result {get;}` | py `elderForceIndex.Result: IndicatorDataSeries` — Alexander Elder's force index is a technical indicator that measures the amount of power used to move the price of an asset. ## interface cAlgo.API.Indicators.ElderRayIndex — The calculation of the Elder Ray Index. (https://help.ctrader.com/ctrader-algo/references/Indicators/ElderRayIndex/index.md) - property `IndicatorDataSeries BearsPower {get;}` | py `elderRayIndex.BearsPower: IndicatorDataSeries` — The histogram (bar graph). It shows the maximum bearish strength during the time period. - property `IndicatorDataSeries BullsPower {get;}` | py `elderRayIndex.BullsPower: IndicatorDataSeries` — The histogram (bar graph). It shows the maximum bullish strength during the time period. ## class cAlgo.API.Ellipse — Represents the ellipse shape. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/Layout/Shapes/Ellipse/index.md) - constructor `public Ellipse()` | py `Ellipse()` — Initializes a new instance of the Ellipse class. [CLI not supported; Cloud not supported] ## enum cAlgo.API.EncodingType — Represents different character encoding types. (https://help.ctrader.com/ctrader-algo/references/Utility/EncodingType/index.md) - enum value `EncodingType.Ascii;` | py `EncodingType.Ascii` — ASCII character set encoding. - enum value `EncodingType.BigEndianUnicode;` | py `EncodingType.BigEndianUnicode` — Unicode character set encoding in big endian byte order. - enum value `EncodingType.Latin1;` | py `EncodingType.Latin1` — Latin1 character set (ISO-8859-1) encoding. - enum value `EncodingType.Unicode;` | py `EncodingType.Unicode` — Unicode character set encoding in little endian byte order. - enum value `EncodingType.Utf8;` | py `EncodingType.Utf8` — UTF-8 format character set encoding. - enum value `EncodingType.Utf32;` | py `EncodingType.Utf32` — UTF-32 format character set encoding. ## interface cAlgo.API.Indicators.Envelopes — The Envelopes indicator is used to visualize potential trading ranges and overbought/oversold conditions. (https://help.ctrader.com/ctrader-algo/references/Indicators/Envelopes/index.md) - property `IndicatorDataSeries Lower {get;}` | py `envelopes.Lower: IndicatorDataSeries` — The lower line of the Envelopes. - property `IndicatorDataSeries Main {get;}` | py `envelopes.Main: IndicatorDataSeries` — The main line of the Envelopes. - property `IndicatorDataSeries Upper {get;}` | py `envelopes.Upper: IndicatorDataSeries` — The upper line of the Envelopes. ## enum cAlgo.API.EnvironmentType — Represents the different environments where an algo can run. (https://help.ctrader.com/ctrader-algo/references/Application/EnvironmentType/index.md) - enum value `EnvironmentType.Desktop;` | py `EnvironmentType.Desktop` — Represents the Desktop environment. - enum value `EnvironmentType.Cloud;` | py `EnvironmentType.Cloud` — Represents the Cloud environment where algos can run. - enum value `EnvironmentType.CLI;` | py `EnvironmentType.CLI` — Represents the Command Line Interface (CLI) environment. ## interface cAlgo.API.Error — Encapsulates an error code. (https://help.ctrader.com/ctrader-algo/references/Trading/Error/index.md) - property `ErrorCode Code {get;}` | py `error.Code: ErrorCode` — The encapsulated error code. - property `TradeResult TradeResult {get;}` | py `error.TradeResult: TradeResult` — The result of the trade that produced the error ## enum cAlgo.API.ErrorCode — Enumeration of standard error codes. (https://help.ctrader.com/ctrader-algo/references/Trading/ErrorCode/index.md) - enum value `ErrorCode.TechnicalError;` | py `ErrorCode.TechnicalError` — A generic technical error with a trade request. - enum value `ErrorCode.BadVolume;` | py `ErrorCode.BadVolume` — The volume value is not valid - enum value `ErrorCode.NoMoney;` | py `ErrorCode.NoMoney` — There are not enough money in the account to trade with. - enum value `ErrorCode.MarketClosed;` | py `ErrorCode.MarketClosed` — The market is closed. - enum value `ErrorCode.Disconnected;` | py `ErrorCode.Disconnected` — The server is disconnected. - enum value `ErrorCode.EntityNotFound;` | py `ErrorCode.EntityNotFound` — Position does not exist. - enum value `ErrorCode.Timeout;` | py `ErrorCode.Timeout` — Operation timed out. - enum value `ErrorCode.UnknownSymbol;` | py `ErrorCode.UnknownSymbol` — Unknown symbol. - enum value `ErrorCode.InvalidStopLossTakeProfit;` | py `ErrorCode.InvalidStopLossTakeProfit` — The invalid Stop Loss or Take Profit. - enum value `ErrorCode.InvalidRequest;` | py `ErrorCode.InvalidRequest` — The invalid request. - enum value `ErrorCode.NoTradingPermission;` | py `ErrorCode.NoTradingPermission` — Occurs when accessing trading API without trading permission. ## class cAlgo.API.ExecuteScriptResult — The result of JavaScript execution on a WebView control. (https://help.ctrader.com/ctrader-algo/references/Controls/ExecuteScriptResult/index.md) - constructor `public ExecuteScriptResult(bool isSuccessful, string json)` | py `ExecuteScriptResult(isSuccessful: bool, json: str)` — Initializes a new instance of ExecuteScriptResult - property `public bool IsSuccessful {get;}` | py `executeScriptResult.IsSuccessful: bool` — True if JavaScript execution was successful otherwise false - property `public string Json {get;}` | py `executeScriptResult.Json: str` — Returned JSON result of execution. ## interface cAlgo.API.Indicators.ExponentialMovingAverage — The exponential moving average of the price data source over a period of time. (https://help.ctrader.com/ctrader-algo/references/Indicators/ExponentialMovingAverage/index.md) ## interface cAlgo.API.FavoriteTimeFrames — Provides access to favorite TimeFrames API for plugins. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/TimeFrame/FavoriteTimeFrames/index.md) - method `void Add(TimeFrame timeFrame)` | py `favoriteTimeFrames.Add(timeFrame: TimeFrame) -> None` — Adds a time frame to favorite TimeFrames. [CLI not supported; Cloud not supported] - method `bool Contains(TimeFrame timeFrame)` | py `favoriteTimeFrames.Contains(timeFrame: TimeFrame) -> bool` — Returns True if passed TimeFrame is in favorite TimeFrames otherwise False. [CLI not supported; Cloud not supported] - method `bool Remove(TimeFrame timeFrame)` | py `favoriteTimeFrames.Remove(timeFrame: TimeFrame) -> bool` — Removes a time frame from favorite TimeFrames. [CLI not supported; Cloud not supported] - event `event Action Added;` | py `favoriteTimeFrames.Added += handler # handler(obj: FavoriteTimeFramesAddedEventArgs)` — Occurs when new TimeFrames are added to favorite TimeFrames. [CLI not supported; Cloud not supported] - event `event Action Removed;` | py `favoriteTimeFrames.Removed += handler # handler(obj: FavoriteTimeFramesRemovedEventArgs)` — Occurs when TimeFrames are removed from favorite TimeFrames. [CLI not supported; Cloud not supported] ## class cAlgo.API.FavoriteTimeFramesAddedEventArgs — Provides data for the Favorite TimeFrames Added event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/FavoriteTimeFramesAddedEventArgs/index.md) - property `public TimeFrame[] TimeFrames {get;}` | py `favoriteTimeFramesAddedEventArgs.TimeFrames: list[TimeFrame]` — Gets the added time frames. [CLI not supported; Cloud not supported] ## class cAlgo.API.FavoriteTimeFramesRemovedEventArgs — Provides data for the Favorite TimeFrames Removed event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/FavoriteTimeFramesRemovedEventArgs/index.md) - property `public TimeFrame[] TimeFrames {get;}` | py `favoriteTimeFramesRemovedEventArgs.TimeFrames: list[TimeFrame]` — Gets the removed time frames. [CLI not supported; Cloud not supported] ## interface cAlgo.API.FibonacciLevel — Represents the Fibonacci Level. (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/Fibonacci/FibonacciLevel/index.md) - property `bool IsVisible {get; set;}` | py `fibonacciLevel.IsVisible: bool` — Defines if the level is visible. - property `double Percent {get; set;}` | py `fibonacciLevel.Percent: float` — Gets or sets the level percent. - property `double? Price {get; set;}` | py `fibonacciLevel.Price: float | None` — Gets or sets the level price. - property `DateTime? Time {get; set;}` | py `fibonacciLevel.Time: DateTime | None` — Gets or sets the level time. ## interface cAlgo.API.File — Represents a file. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Utility/File/index.md) - method `void AppendAllLines(string[] contents)` | py `file.AppendAllLines(contents: list[str]) -> None` — Appends lines to file. [Cloud not supported] - method `void AppendAllLines(string[] contents, EncodingType encodingType)` | py `file.AppendAllLines(contents: list[str], encodingType: EncodingType) -> None` — Appends lines to file that has a specified encoding. [Cloud not supported] - method `void AppendAllText(string contents)` | py `file.AppendAllText(contents: str) -> None` — Append text to file. [Cloud not supported] - method `void AppendAllText(string contents, EncodingType encodingType)` | py `file.AppendAllText(contents: str, encodingType: EncodingType) -> None` — Appends text to file that has a specified encoding. [Cloud not supported] - method `bool Exists()` | py `file.Exists() -> bool` — Returns True if File exists otherwise False. [Cloud not supported] - method `byte[] ReadAllBytes()` | py `file.ReadAllBytes() -> list[int]` — Reads the contents of the file into a byte array. [Cloud not supported] - method `string ReadAllText()` | py `file.ReadAllText() -> str` — Reads all the text in the file. [Cloud not supported] - method `string ReadAllText(EncodingType encodingType)` | py `file.ReadAllText(encodingType: EncodingType) -> str` — Reads all the text in the file that has a specified encoding. [Cloud not supported] - method `byte[] ReadBytes(int offset, int count)` | py `file.ReadBytes(offset: int, count: int) -> list[int]` — Reads a sequence of bytes from the file. [Cloud not supported] - method `string[] ReadLines()` | py `file.ReadLines() -> list[str]` — Reads the lines of file. [Cloud not supported] - method `string[] ReadLines(EncodingType encodingType)` | py `file.ReadLines(encodingType: EncodingType) -> list[str]` — Reads the lines of file that has a specified encoding. [Cloud not supported] - method `void WriteAllBytes(byte[] bytes)` | py `file.WriteAllBytes(bytes: list[int]) -> None` — Overwrites file content with passed bytes. [Cloud not supported] - method `void WriteAllText(string contents)` | py `file.WriteAllText(contents: str) -> None` — Overwrites file content with passed text content. [Cloud not supported] - method `void WriteAllText(string contents, EncodingType encodingType)` | py `file.WriteAllText(contents: str, encodingType: EncodingType) -> None` — Overwrites file content with passed text content that has a specified encoding. [Cloud not supported] - method `void WriteBytes(byte[] bytes, int offset, int count)` | py `file.WriteBytes(bytes: list[int], offset: int, count: int) -> None` — Writes a chunk of data to file specific position. [Cloud not supported] - property `DateTime CreationTime {get;}` | py `file.CreationTime: DateTime` — Gets the creation time of the file. [Cloud not supported] - property `string Extension {get;}` | py `file.Extension: str` — Gets the extension part of the file name, including the leading dot '.' even if it is the entire file name, or an empty string if no extension is present. - property `DateTime LastAccessTime {get;}` | py `file.LastAccessTime: DateTime` — Gets the time the current file was last accessed. [Cloud not supported] - property `DateTime LastWriteTime {get;}` | py `file.LastWriteTime: DateTime` — Gets the time when the current file was last written to. [Cloud not supported] - property `string Name {get;}` | py `file.Name: str` — Gets file name without path. - property `long Size {get;}` | py `file.Size: int` — Gets file size in bytes. [Cloud not supported] ## interface cAlgo.API.FileAssociations — Represents the collection of plugin file associations. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/FileAssociation/FileAssociations/index.md) - method `void Add(string fileExtension, string iconFilePath)` | py `api.FileAssociations.Add(fileExtension: str, iconFilePath: str) -> None` — Adds a file extension to the list of associations along with a specified icon file path. [CLI not supported; Cloud not supported] - method `void Add(string fileExtension, SvgIcon svgIcon)` | py `api.FileAssociations.Add(fileExtension: str, svgIcon: SvgIcon) -> None` — Adds a file extension to the list of associations along with a specified icon file path. [CLI not supported; Cloud not supported] - method `void Add(string fileExtension)` | py `api.FileAssociations.Add(fileExtension: str) -> None` — Adds a file extension to the list of associations without specifying an icon. [CLI not supported; Cloud not supported] - method `bool Contains(string fileExtension)` | py `api.FileAssociations.Contains(fileExtension: str) -> bool` — Checks if the specified file extension is already associated. [CLI not supported; Cloud not supported] - method `void Remove(string fileExtension)` | py `api.FileAssociations.Remove(fileExtension: str) -> None` — Removes a file extension from the list of associations. [CLI not supported; Cloud not supported] - event `event Action FileOpened;` | py `api.FileAssociations.FileOpened += handler # handler(obj: FileAssociationsFileOpenedEventArgs)` — Event triggered when a file associated with a registered extension is opened. [CLI not supported; Cloud not supported] ## class cAlgo.API.FileAssociationsFileOpenedEventArgs — Provides data for plugin file associations file opened event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/FileAssociationsFileOpenedEventArgs/index.md) - property `public string FilePath {get;}` | py `fileAssociationsFileOpenedEventArgs.FilePath: str` — Gets opened file path. [CLI not supported; Cloud not supported] ## enum cAlgo.API.FileDialogResult — An enumeration of the different file dialog results. (https://help.ctrader.com/ctrader-algo/references/Dialogs/FileDialogResult/index.md) - enum value `FileDialogResult.None;` | py `FileDialogResult.None` — File dialog is not supported in running environment. - enum value `FileDialogResult.Cancel;` | py `FileDialogResult.Cancel` — User closed the dialog. - enum value `FileDialogResult.OK;` | py `FileDialogResult.OK` — User pressed Ok in dialog. - enum value `FileDialogResult.Error;` | py `FileDialogResult.Error` — There was an error in file dialog operation. ## enum cAlgo.API.FillRule — Specifies how the intersecting areas of PathFigure objects contained in a Geometry are combined to form the area of the Geometry. (https://help.ctrader.com/ctrader-algo/references/Controls/Layout/Shapes/FillRule/index.md) - enum value `FillRule.EvenOdd;` | py `FillRule.EvenOdd` — Rule that determines whether a point is in the fill region by drawing a ray from that point to infinity in any direction and counting the number of path segments within the given shape that the ray crosses. If this number is odd, the point is inside; if even, the point is outside. - enum value `FillRule.Nonzero;` | py `FillRule.Nonzero` — Rule that determines whether a point is in the fill region of the path by drawing a ray from that point to infinity in any direction and then examining the places where a segment of the shape crosses the ray. Starting with a count of zero, add one each time a segment crosses the ray from left to right and subtract one each time a path segment crosses the ray from right to left. After counting the crossings, if the result is zero then the point is outside the path. Otherwise, it is inside. ## enum cAlgo.API.FontStyle — Specifies style information applied to text. (https://help.ctrader.com/ctrader-algo/references/Controls/Styles/FontStyle/index.md) - enum value `FontStyle.Normal;` | py `FontStyle.Normal` — Normal text. - enum value `FontStyle.Oblique;` | py `FontStyle.Oblique` — Oblique text. - enum value `FontStyle.Italic;` | py `FontStyle.Italic` — Italic text. ## enum cAlgo.API.FontWeight — Specifies the weight or thickness of the font. (https://help.ctrader.com/ctrader-algo/references/Controls/Styles/FontWeight/index.md) - enum value `FontWeight.Thin;` | py `FontWeight.Thin` — The thin font. - enum value `FontWeight.ExtraLight;` | py `FontWeight.ExtraLight` — The extra light font. - enum value `FontWeight.UltraLight;` | py `FontWeight.UltraLight` — The ultra light font. - enum value `FontWeight.Light;` | py `FontWeight.Light` — The light font. - enum value `FontWeight.Normal;` | py `FontWeight.Normal` — The normal font. - enum value `FontWeight.Regular;` | py `FontWeight.Regular` — The regular font. - enum value `FontWeight.Medium;` | py `FontWeight.Medium` — The medium font. - enum value `FontWeight.DemiBold;` | py `FontWeight.DemiBold` — The demibold font. - enum value `FontWeight.SemiBold;` | py `FontWeight.SemiBold` — The semibold font. - enum value `FontWeight.Bold;` | py `FontWeight.Bold` — The bold font. - enum value `FontWeight.ExtraBold;` | py `FontWeight.ExtraBold` — The extra bold font. - enum value `FontWeight.UltraBold;` | py `FontWeight.UltraBold` — The ultra bold font. - enum value `FontWeight.Black;` | py `FontWeight.Black` — The black font. - enum value `FontWeight.Heavy;` | py `FontWeight.Heavy` — The Heavy font. - enum value `FontWeight.ExtraBlack;` | py `FontWeight.ExtraBlack` — The Extra black font. - enum value `FontWeight.UltraBlack;` | py `FontWeight.UltraBlack` — The ultra black font. ## interface cAlgo.API.Indicators.FractalAdaptiveMovingAverage — The FRAMA (Fractal Adaptive Moving Average) indicator is a type of moving average that adjusts its sensitivity to price movements based on market volatility (https://help.ctrader.com/ctrader-algo/references/Indicators/FractalAdaptiveMovingAverage/index.md) ## interface cAlgo.API.Indicators.FractalChaosBands — The Fractal Chaos Bands indicator attempts to determine whether or not the market is trending. (https://help.ctrader.com/ctrader-algo/references/Indicators/FractalChaosBands/index.md) - property `IndicatorDataSeries High {get;}` | py `fractalChaosBands.High: IndicatorDataSeries` — The high limit of the chaos band. - property `IndicatorDataSeries Low {get;}` | py `fractalChaosBands.Low: IndicatorDataSeries` — The low limit of the chaos band. ## interface cAlgo.API.Indicators.Fractals — The fractal indicator is a trading indicator used in technical analysis that is used to identify potential trend reversal points in a market. (https://help.ctrader.com/ctrader-algo/references/Indicators/Fractals/index.md) - property `IndicatorDataSeries DownFractal {get; set;}` | py `fractals.DownFractal: IndicatorDataSeries` — The down fractals plot/output - property `IndicatorDataSeries UpFractal {get; set;}` | py `fractals.UpFractal: IndicatorDataSeries` — The up fractals plot/output ## interface cAlgo.API.Frame — Base interface for chart frames. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Chart/Frame/index.md) - method `void Activate()` | py `frame.Activate() -> None` — Brings the chart frame to the front. [CLI not supported; Cloud not supported] - method `bool Attach()` | py `frame.Attach() -> bool` — Attaches frame to main chart container. [CLI not supported; Cloud not supported] - method `bool Attach(ChartContainer targetContainer)` | py `frame.Attach(targetContainer: ChartContainer) -> bool` — Attaches frame to passed chart container. [CLI not supported; Cloud not supported] - method `bool Detach()` | py `frame.Detach() -> bool` — Detaches frame from it is chart container. [CLI not supported; Cloud not supported] - property `ChartContainer ChartContainer {get;}` | py `frame.ChartContainer: ChartContainer` — Returns frame container. [CLI not supported; Cloud not supported] - property `double Height {get;}` | py `frame.Height: float` — Returns current height of frame. [CLI not supported; Cloud not supported] - property `string Id {get;}` | py `frame.Id: str` — Returns frame Id. [CLI not supported; Cloud not supported] - property `int Index {get; set;}` | py `frame.Index: int` — Get / set frame index in container. [CLI not supported; Cloud not supported] - property `bool IsAttached {get;}` | py `frame.IsAttached: bool` — Returns true if frame is attached otherwise false. [CLI not supported; Cloud not supported] - property `double Width {get;}` | py `frame.Width: float` — Returns current width of frame. [CLI not supported; Cloud not supported] - event `event Action Attached;` | py `frame.Attached += handler # handler(obj: FrameAttachedEventArgs)` — Occurs when frame is attached. [CLI not supported; Cloud not supported] - event `event Action ContainerChanged;` | py `frame.ContainerChanged += handler # handler(obj: FrameContainerChangedEventArgs)` — Occurs when frame container is changed. [CLI not supported; Cloud not supported] - event `event Action Detached;` | py `frame.Detached += handler # handler(obj: FrameDetachedEventArgs)` — Occurs when frame is detached. [CLI not supported; Cloud not supported] - event `event Action SizeChanged;` | py `frame.SizeChanged += handler # handler(obj: FrameSizeChangedEventArgs)` — Occurs when frame size changes. [CLI not supported; Cloud not supported] ## class cAlgo.API.FrameAttachedEventArgs — Provides data for the frame attached event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/FrameAttachedEventArgs/index.md) - property `public Frame Frame {get;}` | py `frameAttachedEventArgs.Frame: Frame` — Returns the frame. [CLI not supported; Cloud not supported] ## class cAlgo.API.FrameContainerChangedEventArgs — Provides data for the frame container changed event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/FrameContainerChangedEventArgs/index.md) - property `public Frame Frame {get;}` | py `frameContainerChangedEventArgs.Frame: Frame` — Returns the frame. [CLI not supported; Cloud not supported] ## class cAlgo.API.FrameDetachedEventArgs — Provides data for the frame detached event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/FrameDetachedEventArgs/index.md) - property `public Frame Frame {get;}` | py `frameDetachedEventArgs.Frame: Frame` — Returns the frame. [CLI not supported; Cloud not supported] ## class cAlgo.API.FrameSizeChangedEventArgs — Provides data for the frame size changed event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/FrameSizeChangedEventArgs/index.md) - property `public Frame Frame {get;}` | py `frameSizeChangedEventArgs.Frame: Frame` — Returns the frame. [CLI not supported; Cloud not supported] ## class cAlgo.API.FramesAddedEventArgs — Provides data for the frames added event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/FramesAddedEventArgs/index.md) - property `public Frame[] AddedFrames {get;}` | py `framesAddedEventArgs.AddedFrames: list[Frame]` — Returns the added frames. [CLI not supported; Cloud not supported] ## class cAlgo.API.FramesRemovedEventArgs — Provides data for the frames removed event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/FramesRemovedEventArgs/index.md) - property `public Frame[] RemovedFrames {get;}` | py `framesRemovedEventArgs.RemovedFrames: list[Frame]` — Returns the removed frames. [CLI not supported; Cloud not supported] ## class cAlgo.API.Functions — This class contains valuable functions that apply to DataSeries. (https://help.ctrader.com/ctrader-algo/references/Collections/DataSeries/Functions/index.md) - method `public static bool HasCrossedAbove(DataSeries crossingSeries, DataSeries crossedSeries, int period)` | py `Functions.HasCrossedAbove(crossingSeries: DataSeries, crossedSeries: DataSeries, period: int) -> bool` — Returns true, if crossingSeries has crossed above crossedSeries, over the specified Period. - method `public static bool HasCrossedAbove(DataSeries crossingSeries, double value, int period)` | py `Functions.HasCrossedAbove(crossingSeries: DataSeries, value: float, period: int) -> bool` — Checks if crossingSeries has crossed above value, sometime within the specified period. - method `public static bool HasCrossedBelow(DataSeries crossingSeries, DataSeries crossedSeries, int period)` | py `Functions.HasCrossedBelow(crossingSeries: DataSeries, crossedSeries: DataSeries, period: int) -> bool` — Returns true, if crossingSeries has crossed below crossedSeries, over the specified Period. - method `public static bool HasCrossedBelow(DataSeries crossingSeries, double value, int period)` | py `Functions.HasCrossedBelow(crossingSeries: DataSeries, value: float, period: int) -> bool` — Checks if crossingSeries has crossed below the value, sometime within the specified period. - method `public static bool IsFalling(DataSeries series)` | py `Functions.IsFalling(series: DataSeries) -> bool` — Checks if the last value in a data series is less than the previous - method `public static bool IsRising(DataSeries series)` | py `Functions.IsRising(series: DataSeries) -> bool` — Checks if the last value in a data series is greater than the previous. - method `public static double Maximum(DataSeries series, int period)` | py `Functions.Maximum(series: DataSeries, period: int) -> float` — Finds the maximum value in a data series for a given period. - method `public static double Minimum(DataSeries series, int period)` | py `Functions.Minimum(series: DataSeries, period: int) -> float` — Finds the minimum of a data series for a given period. - method `public static double Sum(DataSeries series, int period)` | py `Functions.Sum(series: DataSeries, period: int) -> float` — Calculates the sum of a data series, over the specified period. ## interface cAlgo.API.FuturesSettings — Represents a future contract symbol settings. (https://help.ctrader.com/ctrader-algo/references/MarketData/Symbols/FuturesSettings/index.md) - property `DateTime ExpirationTime {get;}` | py `futuresSettings.ExpirationTime: DateTime` — Gets the expiration time of future contract. - property `DateTime LastTradeTime {get;}` | py `futuresSettings.LastTradeTime: DateTime` — Gets the last trade time of future contract. - property `double? MaintenanceMargin {get;}` | py `futuresSettings.MaintenanceMargin: float | None` — The amount of quote asset that will be taken as a margin per one traded lot. ## interface cAlgo.API.GannLevel — Represents a Gann Level. (https://help.ctrader.com/ctrader-algo/references/Chart/Drawings/Gann/GannLevel/index.md) - property `bool IsVisible {get; set;}` | py `gannLevel.IsVisible: bool` — Defines if the level is visible. - property `double Ratio {get; set;}` | py `gannLevel.Ratio: float` — Gets or sets the level ratio (e.g., 1.0 for 1x1, 2.0 for 2x1, 0.5 for 1x2). ## interface cAlgo.API.Indicators.GatorOscillator — The calculation of the Gator Oscillator. (https://help.ctrader.com/ctrader-algo/references/Indicators/GatorOscillator/index.md) - property `IndicatorDataSeries Lower {get;}` | py `gatorOscillator.Lower: IndicatorDataSeries` — The histogram (bar graph). The difference between the Alligator's teeth and lips. - property `IndicatorDataSeries Upper {get;}` | py `gatorOscillator.Upper: IndicatorDataSeries` — The histogram (bar graph). The difference between the Alligator's jaws and teeth. ## interface cAlgo.API.GetFitnessArgs — Represents the custom fitness calculation interface. (https://help.ctrader.com/ctrader-algo/references/Optimization/GetFitnessArgs/index.md) - property `double AverageTrade {get;}` | py `getFitnessArgs.AverageTrade: float` — Gets the average profit for all trades in account deposit currency. - property `double Commissions {get;}` | py `getFitnessArgs.Commissions: float` — Gets the commissions of all trades in account deposit currency. - property `double Equity {get;}` | py `getFitnessArgs.Equity: float` — Gets the equity of the account (balance plus unrealized profit and loss). - property `History History {get;}` | py `getFitnessArgs.History: History` — Gets all the historical trades. - property `double LosingTrades {get;}` | py `getFitnessArgs.LosingTrades: float` — Gets total number of losing trades. - property `double MaxBalanceDrawdown {get;}` | py `getFitnessArgs.MaxBalanceDrawdown: float` — Gets the maximum amount of balance drawdown in account deposit currency. - property `double MaxBalanceDrawdownPercentages {get;}` | py `getFitnessArgs.MaxBalanceDrawdownPercentages: float` — Gets the maximum amount of balance drawdown in percentage (ex: 40%). It can return a positive value between 0-100. - property `double MaxEquityDrawdown {get;}` | py `getFitnessArgs.MaxEquityDrawdown: float` — Gets the maximum amount of equity drawdown in account deposit currency. - property `double MaxEquityDrawdownPercentages {get;}` | py `getFitnessArgs.MaxEquityDrawdownPercentages: float` — Gets the maximum amount of equity drawdown in percentage (ex: 40%). It can return a positive value between 0-100. - property `double NetProfit {get;}` | py `getFitnessArgs.NetProfit: float` — Gets the net profit of all trades in account deposit currency. - property `PendingOrders PendingOrders {get;}` | py `getFitnessArgs.PendingOrders: PendingOrders` — Gets all pending orders. - property `Positions Positions {get;}` | py `getFitnessArgs.Positions: Positions` — Gets all open positions. - property `double ProfitFactor {get;}` | py `getFitnessArgs.ProfitFactor: float` — Gets the Profit Factor - the ratio of Total Net Profit divided by the Total Net Loss. - property `double Swaps {get;}` | py `getFitnessArgs.Swaps: float` — Gets the swaps of all trades in account deposit currency. - property `double TotalTrades {get;}` | py `getFitnessArgs.TotalTrades: float` — Gets the total number of trades taken. - property `double WinningTrades {get;}` | py `getFitnessArgs.WinningTrades: float` — Gets the total number of winning trades. ## class cAlgo.API.Grid — Represents the Grid class. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/Layout/Grid/Grid/index.md) - constructor `public Grid()` | py `Grid()` — Initializes a new grid on the chart. [CLI not supported; Cloud not supported] - constructor `public Grid(int rowsCount, int columnsCount)` | py `Grid(rowsCount: int, columnsCount: int)` — Initializes a new grid on the chart. [CLI not supported; Cloud not supported] - method `public void AddChild(ControlBase child, int row, int column)` | py `grid.AddChild(child: ControlBase, row: int, column: int) -> None` — Adds a child element. [CLI not supported; Cloud not supported] - method `public void AddChild(ControlBase child, int row, int column, int rowSpan, int columnSpan)` | py `grid.AddChild(child: ControlBase, row: int, column: int, rowSpan: int, columnSpan: int) -> None` — Adds the child. [CLI not supported; Cloud not supported] - method `public GridColumn AddColumn()` | py `grid.AddColumn() -> GridColumn` — Adds a column. [CLI not supported; Cloud not supported] - method `public void AddColumns(int count)` | py `grid.AddColumns(count: int) -> None` — Adds columns. [CLI not supported; Cloud not supported] - method `public GridRow AddRow()` | py `grid.AddRow() -> GridRow` — Adds a row. [CLI not supported; Cloud not supported] - method `public void AddRows(int count)` | py `grid.AddRows(count: int) -> None` — Adds a rows. [CLI not supported; Cloud not supported] - method `public GridChildPositionInfo? GetChildPosition(ControlBase child)` | py `grid.GetChildPosition(child: ControlBase) -> GridChildPositionInfo | None` — Returns a child position info if exists otherwise null. [CLI not supported; Cloud not supported] - method `public void RemoveColumnAt(int index)` | py `grid.RemoveColumnAt(index: int) -> None` — Removes a column. [CLI not supported; Cloud not supported] - method `public void RemoveRowAt(int index)` | py `grid.RemoveRowAt(index: int) -> None` — Removes the row. [CLI not supported; Cloud not supported] - property `public IReadonlyList Columns {get;}` | py `grid.Columns: IReadonlyList[GridColumn]` — Gets the read only list of the grid columns. [CLI not supported; Cloud not supported] - property `public IReadonlyList Rows {get;}` | py `grid.Rows: IReadonlyList[GridRow]` — Gets the read only list of the grid rows. [CLI not supported; Cloud not supported] - property `public bool ShowGridLines {get; set;}` | py `grid.ShowGridLines: bool` — Defines if the grid lines are visible. [CLI not supported; Cloud not supported] ## struct cAlgo.API.GridChildPositionInfo — Represents a Grid panel child position info. (https://help.ctrader.com/ctrader-algo/references/Controls/Layout/Grid/GridChildPositionInfo/index.md) - property `public int Column {get;}` | py `gridChildPositionInfo.Column: int` — Gets column number of child. - property `public int ColumnSpan {get;}` | py `gridChildPositionInfo.ColumnSpan: int` — Gets column span of child. - property `public int Row {get;}` | py `gridChildPositionInfo.Row: int` — Gets row number of child. - property `public int RowSpan {get;}` | py `gridChildPositionInfo.RowSpan: int` — Gets row span of child. ## interface cAlgo.API.GridColumn — Represents the column of the grid. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/Layout/Grid/GridColumn/index.md) - method `void SetWidthInPixels(double value)` | py `gridColumn.SetWidthInPixels(value: float) -> None` — Sets the grid column width in pixels. [CLI not supported; Cloud not supported] - method `void SetWidthInStars(double stars)` | py `gridColumn.SetWidthInStars(stars: float) -> None` — Sets the grid column width in stars. [CLI not supported; Cloud not supported] - method `void SetWidthToAuto()` | py `gridColumn.SetWidthToAuto() -> None` — Sets the grid column width to automatic. [CLI not supported; Cloud not supported] - property `int Index {get;}` | py `gridColumn.Index: int` — Gets the grid column index. [CLI not supported; Cloud not supported] - property `double MaxWidth {get; set;}` | py `gridColumn.MaxWidth: float` — Defines the grid column maximum width. [CLI not supported; Cloud not supported] - property `double MinWidth {get; set;}` | py `gridColumn.MinWidth: float` — Defines the grid column minimum width. [CLI not supported; Cloud not supported] - property `GridLength Width {get;}` | py `gridColumn.Width: GridLength` — Gets the grid column width. [CLI not supported; Cloud not supported] ## class cAlgo.API.GridLength — Represents the length of the grid. (https://help.ctrader.com/ctrader-algo/references/Controls/Layout/Grid/GridLength/index.md) - property `public GridUnitType UnitType {get;}` | py `gridLength.UnitType: GridUnitType` — Gets or sets the type of the unit. - property `public double Value {get;}` | py `gridLength.Value: float` — Gets or sets the value. ## interface cAlgo.API.GridRow — Represents the row of the grid. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/Layout/Grid/GridRow/index.md) - method `void SetHeightInPixels(double value)` | py `gridRow.SetHeightInPixels(value: float) -> None` — Sets the height of the grid row in pixels. [CLI not supported; Cloud not supported] - method `void SetHeightInStars(double stars)` | py `gridRow.SetHeightInStars(stars: float) -> None` — Sets the height of the grid row in stars. [CLI not supported; Cloud not supported] - method `void SetHeightToAuto()` | py `gridRow.SetHeightToAuto() -> None` — Sets the height of the grid row to automatic. [CLI not supported; Cloud not supported] - property `GridLength Height {get;}` | py `gridRow.Height: GridLength` — Gets the height of the grid row. [CLI not supported; Cloud not supported] - property `int Index {get;}` | py `gridRow.Index: int` — Gets the grid row index. [CLI not supported; Cloud not supported] - property `double MaxHeight {get; set;}` | py `gridRow.MaxHeight: float` — Gets or sets the maximum height of the grid row. [CLI not supported; Cloud not supported] - property `double MinHeight {get; set;}` | py `gridRow.MinHeight: float` — Gets or sets the minimum height of the grid row. [CLI not supported; Cloud not supported] ## enum cAlgo.API.GridUnitType — Represents the type of the grid unit. (https://help.ctrader.com/ctrader-algo/references/Controls/Layout/Grid/GridUnitType/index.md) - enum value `GridUnitType.Auto;` | py `GridUnitType.Auto` — The automatic definition of units for the grid. - enum value `GridUnitType.Pixel;` | py `GridUnitType.Pixel` — Calculate grid size in pixels. - enum value `GridUnitType.Star;` | py `GridUnitType.Star` — Calculate grid size in stars. ## interface cAlgo.API.Indicators.HighMinusLow — Difference between Bars.HighPrices and Bars.LowPrices calculation for each index (https://help.ctrader.com/ctrader-algo/references/Indicators/HighMinusLow/index.md) - property `IndicatorDataSeries Result {get;}` | py `highMinusLow.Result: IndicatorDataSeries` — The resulting time series of the calculation. ## interface cAlgo.API.HistoricalOrder — Represents a historical order. (https://help.ctrader.com/ctrader-algo/references/Trading/HistoricalOrders/HistoricalOrder/index.md) - property `string Channel {get;}` | py `historicalOrder.Channel: str` — Order channel. [CLI works differently; Cloud works differently] - property `string Comment {get;}` | py `historicalOrder.Comment: str` — Order comment. - property `DateTime? ExpirationTime {get;}` | py `historicalOrder.ExpirationTime: DateTime | None` — Order expiration time. - property `double? FilledQuantity {get;}` | py `historicalOrder.FilledQuantity: float | None` — Order filled quantity (lots). - property `DateTime? FilledTime {get;}` | py `historicalOrder.FilledTime: DateTime | None` — Order filled time. - property `double? FilledVolumeInUnits {get;}` | py `historicalOrder.FilledVolumeInUnits: float | None` — Order filled volume in units. - property `bool HasTrailingStop {get;}` | py `historicalOrder.HasTrailingStop: bool` — Returns true if order has trailing stop loss. - property `long Id {get;}` | py `historicalOrder.Id: int` — Unique order Id. - property `string Label {get;}` | py `historicalOrder.Label: str` — Order label. - property `HistoricalOrderType OrderType {get;}` | py `historicalOrder.OrderType: HistoricalOrderType` — Order type. - property `int? PositionId {get;}` | py `historicalOrder.PositionId: int | None` — Unique position Id. - property `double Quantity {get;}` | py `historicalOrder.Quantity: float` — Order quantity (lots). - property `HistoricalOrderStatus Status {get;}` | py `historicalOrder.Status: HistoricalOrderStatus` — Order status. - property `double? StopLoss {get;}` | py `historicalOrder.StopLoss: float | None` — Order stop loss in Price. - property `double? StopLossPips {get;}` | py `historicalOrder.StopLossPips: float | None` — Order stop loss in Pips. - property `StopTriggerMethod? StopLossTriggerMethod {get;}` | py `historicalOrder.StopLossTriggerMethod: StopTriggerMethod | None` — Trigger method for order's StopLoss - property `StopTriggerMethod? StopOrderTriggerMethod {get;}` | py `historicalOrder.StopOrderTriggerMethod: StopTriggerMethod | None` — StopOrder trigger method. - property `DateTime SubmittedTime {get;}` | py `historicalOrder.SubmittedTime: DateTime` — Order submitted time. - property `Symbol Symbol {get;}` | py `historicalOrder.Symbol: Symbol` — Order symbol. - property `string SymbolName {get;}` | py `historicalOrder.SymbolName: str` — Order symbol name. - property `double? TakeProfit {get;}` | py `historicalOrder.TakeProfit: float | None` — Order take profit in Price. - property `double? TakeProfitPips {get;}` | py `historicalOrder.TakeProfitPips: float | None` — Order take profit in Pips. - property `double TargetPrice {get;}` | py `historicalOrder.TargetPrice: float` — Order target price - property `TradeType TradeType {get;}` | py `historicalOrder.TradeType: TradeType` — Order Trade type (buy or sell) - property `double VolumeInUnits {get;}` | py `historicalOrder.VolumeInUnits: float` — Order volume in units. ## enum cAlgo.API.HistoricalOrderStatus — Represents the status of HistoricalOrder. (https://help.ctrader.com/ctrader-algo/references/Trading/HistoricalOrders/HistoricalOrderStatus/index.md) - enum value `HistoricalOrderStatus.Filled;` | py `HistoricalOrderStatus.Filled` — Order filled - enum value `HistoricalOrderStatus.Expired;` | py `HistoricalOrderStatus.Expired` — Order expired - enum value `HistoricalOrderStatus.Created;` | py `HistoricalOrderStatus.Created` — Order created - enum value `HistoricalOrderStatus.Accepted;` | py `HistoricalOrderStatus.Accepted` — Order accepted - enum value `HistoricalOrderStatus.Error;` | py `HistoricalOrderStatus.Error` — Order error - enum value `HistoricalOrderStatus.Cancelled;` | py `HistoricalOrderStatus.Cancelled` — Order cancelled ## enum cAlgo.API.HistoricalOrderType — Represents the type of HistoricalOrder. (https://help.ctrader.com/ctrader-algo/references/Trading/HistoricalOrders/HistoricalOrderType/index.md) - enum value `HistoricalOrderType.Limit;` | py `HistoricalOrderType.Limit` — Limit order - enum value `HistoricalOrderType.Market;` | py `HistoricalOrderType.Market` — Market order - enum value `HistoricalOrderType.MarketRange;` | py `HistoricalOrderType.MarketRange` — Market Range order - enum value `HistoricalOrderType.MarketOnOpen;` | py `HistoricalOrderType.MarketOnOpen` — Market on open order - enum value `HistoricalOrderType.Stop;` | py `HistoricalOrderType.Stop` — Stop order - enum value `HistoricalOrderType.StopOut;` | py `HistoricalOrderType.StopOut` — Stop out order - enum value `HistoricalOrderType.StopLimit;` | py `HistoricalOrderType.StopLimit` — Stop limit order - enum value `HistoricalOrderType.StopLossTakeProfit;` | py `HistoricalOrderType.StopLossTakeProfit` — Stop Loss / Take Profit order ## interface cAlgo.API.HistoricalOrders — Provides access to methods of the Historical Orders collection (https://help.ctrader.com/ctrader-algo/references/Trading/HistoricalOrders/HistoricalOrders/index.md) - method `HistoricalOrder[] FindAll(string label)` | py `api.HistoricalOrders.FindAll(label: str) -> list[HistoricalOrder]` — Finds historical orders by label. - method `HistoricalOrder[] FindAll(string label, string symbolName)` | py `api.HistoricalOrders.FindAll(label: str, symbolName: str) -> list[HistoricalOrder]` — Finds historical orders by label and symbol name. - method `HistoricalOrder[] FindAll(string label, string symbolName, TradeType tradeType)` | py `api.HistoricalOrders.FindAll(label: str, symbolName: str, tradeType: TradeType) -> list[HistoricalOrder]` — Finds historical orders by label, symbol name, and trade type. - method `HistoricalOrder FindById(int id)` | py `api.HistoricalOrders.FindById(id: int) -> HistoricalOrder | None` — Finds a historical order by Id. - method `HistoricalOrder FindLast(string label)` | py `api.HistoricalOrders.FindLast(label: str) -> HistoricalOrder | None` — Finds last historical order by label. - method `HistoricalOrder FindLast(string label, string symbolName)` | py `api.HistoricalOrders.FindLast(label: str, symbolName: str) -> HistoricalOrder | None` — Finds last historical order by label and symbol name. - method `HistoricalOrder FindLast(string label, string symbolName, TradeType tradeType)` | py `api.HistoricalOrders.FindLast(label: str, symbolName: str, tradeType: TradeType) -> HistoricalOrder | None` — Finds last historical order by label, symbol name, and trade type. - property `int Count {get;}` | py `api.HistoricalOrders.Count: int` — Returns count of historical orders. - property `HistoricalOrder Item {get;}` | py `api.HistoricalOrders[index: int] -> HistoricalOrder` — Access historical orders by their index. ## interface cAlgo.API.HistoricalTrade — Represents the historical trade interface. (https://help.ctrader.com/ctrader-algo/references/Trading/History/HistoricalTrade/index.md) - property `double Balance {get;}` | py `historicalTrade.Balance: float` — Account balance after the Deal was filled - property `string Channel {get;}` | py `historicalTrade.Channel: str` — Gets the channel via which the trade was executed in a string format. [CLI works differently; Cloud works differently] - property `Deal ClosingDeal {get;}` | py `historicalTrade.ClosingDeal: Deal` — Gets the closing deal. - property `int ClosingDealId {get;}` | py `historicalTrade.ClosingDealId: int` — Gets the unique closing deal identifier. - property `double ClosingPrice {get;}` | py `historicalTrade.ClosingPrice: float` — The execution price of the Closing Deal. - property `DateTime ClosingTime {get;}` | py `historicalTrade.ClosingTime: DateTime` — Time of the Closing Deal. - property `string Comment {get;}` | py `historicalTrade.Comment: str` — The comment. - property `double Commissions {get;}` | py `historicalTrade.Commissions: float` — Commission owed. - property `double EntryPrice {get;}` | py `historicalTrade.EntryPrice: float` — The VWAP (Volume Weighted Average Price) of the Opening Deals that are closed. - property `DateTime EntryTime {get;}` | py `historicalTrade.EntryTime: DateTime` — Time of the Opening Deal, or the time of the first Opening deal that was closed. - property `double GrossProfit {get;}` | py `historicalTrade.GrossProfit: float` — Profit and loss before swaps and commission - property `string Label {get;}` | py `historicalTrade.Label: str` — The label. - property `double NetProfit {get;}` | py `historicalTrade.NetProfit: float` — Profit and loss including swaps and commissions - property `double Pips {get;}` | py `historicalTrade.Pips: float` — Represents the winning or loosing pips - property `int PositionId {get;}` | py `historicalTrade.PositionId: int` — Gets the position unique identifier. - property `double Quantity {get;}` | py `historicalTrade.Quantity: float` — The Quantity (in lots) that was closed by the Closing Deal - property `double Swap {get;}` | py `historicalTrade.Swap: float` — Swap is the overnight interest rate if any, accrued on the position. - property `Symbol Symbol {get;}` | py `historicalTrade.Symbol: Symbol` — Gets the trade symbol. - property `string SymbolName {get;}` | py `historicalTrade.SymbolName: str` — Gets the symbol name. - property `TradeType TradeType {get;}` | py `historicalTrade.TradeType: TradeType` — The TradeType of the Opening Deal. - property `double VolumeInUnits {get;}` | py `historicalTrade.VolumeInUnits: float` — The Volume that was closed by the Closing Deal. ## interface cAlgo.API.Indicators.HistoricalVolatility — The measured price fluctuation over a specified time period. (https://help.ctrader.com/ctrader-algo/references/Indicators/HistoricalVolatility/index.md) - property `IndicatorDataSeries Result {get;}` | py `historicalVolatility.Result: IndicatorDataSeries` — The result of the HistoricalVolatility Indicator ## interface cAlgo.API.History — Provides access to methods of the historical trades collection (https://help.ctrader.com/ctrader-algo/references/Trading/History/History/index.md) - method `HistoricalTrade[] FindAll(string label)` | py `api.History.FindAll(label: str) -> list[HistoricalTrade]` — Find all historical trades by the label - method `HistoricalTrade[] FindAll(string label, string symbolName)` | py `api.History.FindAll(label: str, symbolName: str) -> list[HistoricalTrade]` — Find all historical trades by label, symbol name - method `HistoricalTrade[] FindAll(string label, string symbolName, TradeType tradeType)` | py `api.History.FindAll(label: str, symbolName: str, tradeType: TradeType) -> list[HistoricalTrade]` — Find all historical trades by label, symbol name and trade type - method `HistoricalTrade FindByClosingDealId(int closingDealId)` | py `api.History.FindByClosingDealId(closingDealId: int) -> HistoricalTrade | None` — Find HistoricalTrade by closing deal Id. - method `HistoricalTrade[] FindByPositionId(int positionId)` | py `api.History.FindByPositionId(positionId: int) -> list[HistoricalTrade]` — Find all historical trades related to a position. - method `HistoricalTrade FindLast(string label)` | py `api.History.FindLast(label: str) -> HistoricalTrade` — Find last historical trade by its label - method `HistoricalTrade FindLast(string label, string symbolName)` | py `api.History.FindLast(label: str, symbolName: str) -> HistoricalTrade` — Find last historical trade by its label, symbol name - method `HistoricalTrade FindLast(string label, string symbolName, TradeType tradeType)` | py `api.History.FindLast(label: str, symbolName: str, tradeType: TradeType) -> HistoricalTrade` — Find last historical trade by its label, symbol name and trade type - property `int Count {get;}` | py `api.History.Count: int` — Total number of historical trades - property `HistoricalTrade Item {get;}` | py `api.History[index: int] -> HistoricalTrade` — Find a historical trade by index ## enum cAlgo.API.HorizontalAlignment — Describes horizontal position related to an anchor point or a parent element (https://help.ctrader.com/ctrader-algo/references/Chart/HorizontalAlignment/index.md) - enum value `HorizontalAlignment.Center;` | py `HorizontalAlignment.Center` — Center horizontal alignment. - enum value `HorizontalAlignment.Left;` | py `HorizontalAlignment.Left` — Left horizontal alignment. - enum value `HorizontalAlignment.Right;` | py `HorizontalAlignment.Right` — Right horizontal alignment. - enum value `HorizontalAlignment.Stretch;` | py `HorizontalAlignment.Stretch` — Stretch horizontal alignment. ## class cAlgo.API.HotkeyArgs — Provides data for Plugin Hotkeys handler. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Hotkeys/HotkeyArgs/index.md) - property `public Key Key {get;}` | py `hotkeyArgs.Key: Key` — Keyboard key [CLI not supported; Cloud not supported] - property `public ModifierKeys Modifiers {get;}` | py `hotkeyArgs.Modifiers: ModifierKeys` — Modifiers key that was used with the Key [CLI not supported; Cloud not supported] ## interface cAlgo.API.Hotkeys — Provides access to Hotkeys API for plugins. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Hotkeys/Hotkeys/index.md) - method `void Clear()` | py `api.Hotkeys.Clear() -> None` — Clears all added hotkeys. [CLI not supported; Cloud not supported] - method `bool Remove(Key key)` | py `api.Hotkeys.Remove(key: Key) -> bool` — Removes an hotkey. [CLI not supported; Cloud not supported] - method `bool Remove(Key key, ModifierKeys modifiers)` | py `api.Hotkeys.Remove(key: Key, modifiers: ModifierKeys) -> bool` — Removes an hotkey. [CLI not supported; Cloud not supported] - method `bool TryAdd(Key key, Action handler)` | py `api.Hotkeys.TryAdd(key: Key, handler: Callable[[HotkeyArgs], None]) -> bool` — Adds a new hotkey. [CLI not supported; Cloud not supported] - method `bool TryAdd(Key key, ModifierKeys modifiers, Action handler)` | py `api.Hotkeys.TryAdd(key: Key, modifiers: ModifierKeys, handler: Callable[[HotkeyArgs], None]) -> bool` — Adds a new hotkey. [CLI not supported; Cloud not supported] ## interface cAlgo.API.Http — The Https interface contains the methods necessary for sending HTTP requests. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/HTTP/Http/index.md) - method `HttpResponse Get(Uri uri)` | py `api.Http.Get(uri: Uri) -> HttpResponse` — Performs a GET request to the specified URI. [Cloud not supported] - method `HttpResponse Get(string uri)` | py `api.Http.Get(uri: str) -> HttpResponse` — Performs a GET request to the specified URI. [Cloud not supported] - method `void GetAsync(Uri uri, Action callback)` | py `api.Http.GetAsync(uri: Uri, callback: Callable[[HttpResponse], None]) -> None` — Performs a GET request to the specified URI asynchronously. [Cloud not supported] - method `void GetAsync(string uri, Action callback)` | py `api.Http.GetAsync(uri: str, callback: Callable[[HttpResponse], None]) -> None` — Performs a GET request to the specified URI asynchronously. [Cloud not supported] - method `HttpResponse Send(HttpRequest request)` | py `api.Http.Send(request: HttpRequest) -> HttpResponse` — Performs a request to the specified URI. The request method depends on the value of the request.Method property. [Cloud not supported] - method `void SendAsync(HttpRequest request, Action callback)` | py `api.Http.SendAsync(request: HttpRequest, callback: Callable[[HttpResponse], None]) -> None` — Performs a request to the specified URI. The request method depends on the value of the request.Method property. [Cloud not supported] ## class cAlgo.API.HttpException — Represents errors that may occur during HTTP request (https://help.ctrader.com/ctrader-algo/references/HTTP/HttpException/index.md) ## enum cAlgo.API.HttpMethod — An enumeration of different HTTP Methods. (https://help.ctrader.com/ctrader-algo/references/HTTP/HttpMethod/index.md) - enum value `HttpMethod.Get;` | py `HttpMethod.Get` — Represents an HTTP GET protocol method. - enum value `HttpMethod.Post;` | py `HttpMethod.Post` — Represents an HTTP POST protocol method. - enum value `HttpMethod.Delete;` | py `HttpMethod.Delete` — Represents an HTTP DELETE protocol method. - enum value `HttpMethod.Put;` | py `HttpMethod.Put` — Represents an HTTP PUT protocol method. - enum value `HttpMethod.Patch;` | py `HttpMethod.Patch` — Represents the HTTP PATCH protocol method. - enum value `HttpMethod.Head;` | py `HttpMethod.Head` — Represents an HTTP HEAD protocol method. - enum value `HttpMethod.Options;` | py `HttpMethod.Options` — Represents an HTTP OPTIONS protocol method. - enum value `HttpMethod.Trace;` | py `HttpMethod.Trace` — Represents an HTTP TRACE protocol method. ## class cAlgo.API.HttpRequest — The class representing an HTTP request. (https://help.ctrader.com/ctrader-algo/references/HTTP/HttpRequest/index.md) - constructor `public HttpRequest(Uri uri)` | py `HttpRequest(uri: Uri)` — The default class constructor. - property `public string Body {get; set;}` | py `httpRequest.Body: str` — Gets or sets the request body. If a GET, TRACE, HEAD, CONNECT, and OPTIONS request is performed, the value of this property is ignored. - property `public HttpRequestHeaders Headers {get;}` | py `httpRequest.Headers: HttpRequestHeaders` — Gets the request headers. - property `public HttpMethod Method {get; set;}` | py `httpRequest.Method: HttpMethod` — Gets or sets the request method. The default value is Get. - property `public TimeSpan Timeout {get; set;}` | py `httpRequest.Timeout: TimeSpan` — Gets or sets the request timeout. The default value is 100,000 milliseconds (100 seconds). - property `public Uri Uri {get;}` | py `httpRequest.Uri: Uri` — Gets or sets the request URI. - property `public Version Version {get; set;}` | py `httpRequest.Version: Version` — Gets or sets the request version. The default value is 2.0. - property `public HttpVersionPolicy VersionPolicy {get; set;}` | py `httpRequest.VersionPolicy: HttpVersionPolicy` — Gets or sets the request version policy. The default value is RequestVersionOrLower . ## class cAlgo.API.HttpRequestHeaders — The class that represents an HTTP request headers collection. (https://help.ctrader.com/ctrader-algo/references/HTTP/HttpRequestHeaders/index.md) - method `public void Add(string name, string value)` | py `httpRequestHeaders.Add(name: str, value: str) -> None` — Adds a new header. - method `public IEnumerator> GetEnumerator()` | py `httpRequestHeaders.GetEnumerator() -> IEnumerator[KeyValuePair[str, str]]` — Returns an enumerator that iterates through HttpRequestHeaders . - method `public string GetValue(string name)` | py `httpRequestHeaders.GetValue(name: str) -> str` — Returns an existing header value. - method `public bool Remove(string name)` | py `httpRequestHeaders.Remove(name: str) -> bool` — Removes an existing header. - method `public void Update(string name, string value)` | py `httpRequestHeaders.Update(name: str, value: str) -> None` — Updates an existing header. ## class cAlgo.API.HttpResponse — The class representing an HTTP response. (https://help.ctrader.com/ctrader-algo/references/HTTP/HttpResponse/index.md) - property `public string Body {get;}` | py `httpResponse.Body: str` — Gets the body of the response. - property `public HttpException Exception {get;}` | py `httpResponse.Exception: HttpException` — Gets the exception thrown when sending HTTP request. - property `public HttpResponseHeaders Headers {get;}` | py `httpResponse.Headers: HttpResponseHeaders` — Gets the headers contained in the response. - property `public bool IsSuccessful {get;}` | py `httpResponse.IsSuccessful: bool` — Gets true if the response is successful, false otherwise. - property `public int StatusCode {get;}` | py `httpResponse.StatusCode: int` — Gets the response status code. ## class cAlgo.API.HttpResponseHeaders — The class that represents an HTTP response headers collection. (https://help.ctrader.com/ctrader-algo/references/HTTP/HttpResponseHeaders/index.md) - method `public IEnumerator> GetEnumerator()` | py `httpResponseHeaders.GetEnumerator() -> IEnumerator[KeyValuePair[str, str]]` — Returns an enumerator that iterates through HttpResponseHeaders . - method `public string GetValue(string name)` | py `httpResponseHeaders.GetValue(name: str) -> str` — Returns an existing header value. ## enum cAlgo.API.HttpVersionPolicy — An enumeration of different HTTP version policies. (https://help.ctrader.com/ctrader-algo/references/HTTP/HttpVersionPolicy/index.md) - enum value `HttpVersionPolicy.RequestVersionOrLower;` | py `HttpVersionPolicy.RequestVersionOrLower` — Use the requested version or downgrade to a lower one. This is the default behavior. - enum value `HttpVersionPolicy.RequestVersionOrHigher;` | py `HttpVersionPolicy.RequestVersionOrHigher` — Use the highest available version, downgrading only to the requested version but not below. - enum value `HttpVersionPolicy.RequestVersionExact;` | py `HttpVersionPolicy.RequestVersionExact` — Only use the requested version. ## interface cAlgo.API.Indicators.HullMovingAverage — The Hull Moving Average (HMA) is a directional trend indicator. It captures the current state of the market and uses recent price action to determine if conditions are bullish or bearish relative to historical data. (https://help.ctrader.com/ctrader-algo/references/Indicators/HullMovingAverage/index.md) ## interface cAlgo.API.Internals.IAccount — Contains the current account information. (https://help.ctrader.com/ctrader-algo/references/Account/IAccount/index.md) - property `AccountType AccountType {get;}` | py `api.Account.AccountType: AccountType` — Returns the current account type. - property `Asset Asset {get;}` | py `api.Account.Asset: Asset` — Gets the account deposit asset/currency - property `double Balance {get;}` | py `api.Account.Balance: float` — Returns the balance of the current account. - property `string BrokerName {get;}` | py `api.Account.BrokerName: str` — Returns the broker name of the current account. - property `DateTime CreationTime {get;}` | py `api.Account.CreationTime: DateTime` — Gets the account creation time. - property `double Credit {get;}` | py `api.Account.Credit: float` — Gets the credit of the current account. - property `double Equity {get;}` | py `api.Account.Equity: float` — Represents the equity of the current account (balance minus Unrealized Net Loss plus Unrealized Net Profit plus Bonus). - property `double FreeMargin {get;}` | py `api.Account.FreeMargin: float` — Represents the free margin of the current account. - property `bool IsLive {get;}` | py `api.Account.IsLive: bool` — Defines if the account is Live or Demo. True if the Account is Live, False if it is a Demo. - property `double Margin {get;}` | py `api.Account.Margin: float` — Represents the margin of the current account. - property `double? MarginLevel {get;}` | py `api.Account.MarginLevel: float | None` — Represents the margin level of the current account. Margin Level (in %) is calculated using this formula: Equity / Margin * 100 - property `int Number {get;}` | py `api.Account.Number: int` — Returns the number of the current account, e.g. 123456. - property `double PreciseLeverage {get;}` | py `api.Account.PreciseLeverage: float` — Gets the precise account leverage value. - property `double StopOutLevel {get;}` | py `api.Account.StopOutLevel: float` — Stop Out level is a lowest allowed Margin Level for account. If Margin Level is less than Stop Out, position will be closed sequentially until Margin Level is greater than Stop Out. - property `TotalMarginCalculationType TotalMarginCalculationType {get;}` | py `api.Account.TotalMarginCalculationType: TotalMarginCalculationType` — Type of total margin requirements per Symbol. - property `double UnrealizedGrossProfit {get;}` | py `api.Account.UnrealizedGrossProfit: float` — Gets the Unrealized Gross profit value. - property `double UnrealizedNetProfit {get;}` | py `api.Account.UnrealizedNetProfit: float` — Gets the Unrealized Net profit value. - property `long UserId {get;}` | py `api.Account.UserId: int` — Gets the user ID. - property `string UserNickName {get;}` | py `api.Account.UserNickName: str` — Gets the user nick name. - event `event Action Switched;` | py `api.Account.Switched += handler # handler(obj: AccountSwitchedEventArgs)` — Occurs when user switch his account. ## interface cAlgo.API.Internals.IAssetConverter — Its an interface for converting an asset / currency value to another asset / currency value. (https://help.ctrader.com/ctrader-algo/references/MarketData/IAssetConverter/index.md) - method `double Convert(double value, Asset from, Asset to)` | py `api.AssetConverter.Convert(value: float, from: Asset, to: Asset) -> float` — Converts an asset to another asset. - method `double Convert(double value, string from, string to)` | py `api.AssetConverter.Convert(value: float, from: str, to: str) -> float` — Converts an asset to another asset. - method `double Convert(double value, Asset from, string to)` | py `api.AssetConverter.Convert(value: float, from: Asset, to: str) -> float` — Converts an asset to another asset. - method `double Convert(double value, string from, Asset to)` | py `api.AssetConverter.Convert(value: float, from: str, to: Asset) -> float` — Converts an asset to another asset. ## interface cAlgo.API.Internals.IIndicatorsAccessor — Accessor to Indicators (https://help.ctrader.com/ctrader-algo/references/Indicators/IIndicatorsAccessor/index.md) - method `AcceleratorOscillator AcceleratorOscillator()` | py `api.Indicators.AcceleratorOscillator() -> AcceleratorOscillator` — Initializes the AcceleratorOscillator indicator instance - method `AcceleratorOscillator AcceleratorOscillator(Bars bars)` | py `api.Indicators.AcceleratorOscillator(bars: Bars) -> AcceleratorOscillator` — Initializes the AcceleratorOscillator indicator instance - method `AccumulationDistribution AccumulationDistribution()` | py `api.Indicators.AccumulationDistribution() -> AccumulationDistribution` — The Accumulation Distribution indicator shows bullish or bearish trends. - method `AccumulationDistribution AccumulationDistribution(Bars bars)` | py `api.Indicators.AccumulationDistribution(bars: Bars) -> AccumulationDistribution` — The Accumulation Distribution indicator shows bullish or bearish trends. - method `AccumulativeSwingIndex AccumulativeSwingIndex(int limitMoveValue)` | py `api.Indicators.AccumulativeSwingIndex(limitMoveValue: int) -> AccumulativeSwingIndex` — Initializes the Accumulative Swing Index indicator - method `AccumulativeSwingIndex AccumulativeSwingIndex(Bars bars, int limitMoveValue)` | py `api.Indicators.AccumulativeSwingIndex(bars: Bars, limitMoveValue: int) -> AccumulativeSwingIndex` — Initializes the Accumulative Swing Index indicator - method `Alligator Alligator(int jawsPeriods, int jawsShift, int teethPeriods, int teethShift, int lipsPeriods, int lipsShift, MovingAverageType maType)` | py `api.Indicators.Alligator(jawsPeriods: int, jawsShift: int, teethPeriods: int, teethShift: int, lipsPeriods: int, lipsShift: int, maType: MovingAverageType) -> Alligator` — Legendary trader Bill Williams, an early pioneer of market psychology, developed the trend-following Alligator indicator, which follows the premise that financial markets and individual securities trend just 15% to 30% of the time while grinding through sideways ranges the other 70% to 85% of the time. - method `Alligator Alligator(DataSeries source, int jawsPeriods, int jawsShift, int teethPeriods, int teethShift, int lipsPeriods, int lipsShift, MovingAverageType maType)` | py `api.Indicators.Alligator(source: DataSeries, jawsPeriods: int, jawsShift: int, teethPeriods: int, teethShift: int, lipsPeriods: int, lipsShift: int, maType: MovingAverageType) -> Alligator` — Legendary trader Bill Williams, an early pioneer of market psychology, developed the trend-following Alligator indicator, which follows the premise that financial markets and individual securities trend just 15% to 30% of the time while grinding through sideways ranges the other 70% to 85% of the time. - method `Aroon Aroon(int periods)` | py `api.Indicators.Aroon(periods: int) -> Aroon` — The Aroon indicator is used to identify trends and their reversals. - method `Aroon Aroon(Bars bars, int periods)` | py `api.Indicators.Aroon(bars: Bars, periods: int) -> Aroon` — The Aroon indicator is used to identify trends and their reversals. - method `AverageDirectionalMovementIndexRating AverageDirectionalMovementIndexRating(int periods)` | py `api.Indicators.AverageDirectionalMovementIndexRating(periods: int) -> AverageDirectionalMovementIndexRating` — The Average Directional Movement Index Rating (ADXR) measures the strength of the Average Directional Movement Index (ADX). It's calculated by taking the average of the current ADX and the ADX from one time period before. - method `AverageDirectionalMovementIndexRating AverageDirectionalMovementIndexRating(int periods, MovingAverageType maType)` | py `api.Indicators.AverageDirectionalMovementIndexRating(periods: int, maType: MovingAverageType) -> AverageDirectionalMovementIndexRating` — The Average Directional Movement Index Rating (ADXR) measures the strength of the Average Directional Movement Index (ADX). It's calculated by taking the average of the current ADX and the ADX from one time period before. - method `AverageTrueRange AverageTrueRange(int periods, MovingAverageType maType)` | py `api.Indicators.AverageTrueRange(periods: int, maType: MovingAverageType) -> AverageTrueRange` — Average true range. An indicator providing the degree of price volatility. - method `AverageTrueRange AverageTrueRange(Bars bars, int periods, MovingAverageType maType)` | py `api.Indicators.AverageTrueRange(bars: Bars, periods: int, maType: MovingAverageType) -> AverageTrueRange` — Average true range. An indicator providing the degree of price volatility. - method `AwesomeOscillator AwesomeOscillator()` | py `api.Indicators.AwesomeOscillator() -> AwesomeOscillator` — Initializes the AwesomeOscillator indicator instance - method `AwesomeOscillator AwesomeOscillator(Bars bars)` | py `api.Indicators.AwesomeOscillator(bars: Bars) -> AwesomeOscillator` — Initializes the AwesomeOscillator indicator instance by passing the bars - method `BearsPower BearsPower(int periods, MovingAverageType maType)` | py `api.Indicators.BearsPower(periods: int, maType: MovingAverageType) -> BearsPower` — Bears Power shows the maximum bearish strength during the time period. - method `BearsPower BearsPower(Bars bars, int periods, MovingAverageType maType)` | py `api.Indicators.BearsPower(bars: Bars, periods: int, maType: MovingAverageType) -> BearsPower` — Bears Power shows the maximum bearish strength during the time period. - method `BollingerBands BollingerBands(DataSeries source, int periods, double standardDeviations, MovingAverageType maType)` | py `api.Indicators.BollingerBands(source: DataSeries, periods: int, standardDeviations: float, maType: MovingAverageType) -> BollingerBands` — The Bollinger Bands indicator shows volatility. - method `BullsPower BullsPower(int periods, MovingAverageType maType)` | py `api.Indicators.BullsPower(periods: int, maType: MovingAverageType) -> BullsPower` — Bulls Power shows the maximum bullish strength during the time period. - method `BullsPower BullsPower(Bars bars, int periods, MovingAverageType maType)` | py `api.Indicators.BullsPower(bars: Bars, periods: int, maType: MovingAverageType) -> BullsPower` — Bulls Power shows the maximum bullish strength during the time period. - method `CenterOfGravity CenterOfGravity(int length)` | py `api.Indicators.CenterOfGravity(length: int) -> CenterOfGravity` — The Center of Gravity (COG) indicator is a technical indicator developed by John Ehlers in 2002, used to identify potential turning points in the price as early as possible. - method `ChaikinMoneyFlow ChaikinMoneyFlow(int periods)` | py `api.Indicators.ChaikinMoneyFlow(periods: int) -> ChaikinMoneyFlow` — The Chaikin Money Flow indicator measures the money flow volume over a specific period. - method `ChaikinMoneyFlow ChaikinMoneyFlow(Bars bars, int periods)` | py `api.Indicators.ChaikinMoneyFlow(bars: Bars, periods: int) -> ChaikinMoneyFlow` — The Chaikin Money Flow indicator measures the money flow volume over a specific period. - method `ChaikinOscillator ChaikinOscillator(int shortTerm, int longTerm, MovingAverageType maType)` | py `api.Indicators.ChaikinOscillator(shortTerm: int, longTerm: int, maType: MovingAverageType) -> ChaikinOscillator` — The Chaikin Oscillator indicator is the difference between two moving averages over the Chaikin Money Flow. - method `ChaikinOscillator ChaikinOscillator(Bars bars, int shortTerm, int longTerm, MovingAverageType maType)` | py `api.Indicators.ChaikinOscillator(bars: Bars, shortTerm: int, longTerm: int, maType: MovingAverageType) -> ChaikinOscillator` — The Chaikin Oscillator indicator is the difference between two moving averages over the Chaikin Money Flow. - method `ChaikinVolatility ChaikinVolatility(int periods, int rateOfChange, MovingAverageType maType)` | py `api.Indicators.ChaikinVolatility(periods: int, rateOfChange: int, maType: MovingAverageType) -> ChaikinVolatility` — The Chaikin Volatiliy indicator measures the trading range between the high and the low prices. - method `ChaikinVolatility ChaikinVolatility(Bars bars, int periods, int rateOfChange, MovingAverageType maType)` | py `api.Indicators.ChaikinVolatility(bars: Bars, periods: int, rateOfChange: int, maType: MovingAverageType) -> ChaikinVolatility` — The Chaikin Volatility indicator measures the trading range between the high and the low prices. - method `ChandeMomentumOscillator ChandeMomentumOscillator(DataSeries source, int periods)` | py `api.Indicators.ChandeMomentumOscillator(source: DataSeries, periods: int) -> ChandeMomentumOscillator` — The Chande Momentum Oscillator (CMO) is a technical indicator designed to measure the momentum of a financial instrument. - method `ChandeMomentumOscillator ChandeMomentumOscillator(int periods)` | py `api.Indicators.ChandeMomentumOscillator(periods: int) -> ChandeMomentumOscillator` — The Chande Momentum Oscillator (CMO) is a technical indicator designed to measure the momentum of a financial instrument. - method `CommodityChannelIndex CommodityChannelIndex(int periods)` | py `api.Indicators.CommodityChannelIndex(periods: int) -> CommodityChannelIndex` — The Commodity Channel Index identifies overbought and oversold conditions, price reversals and trend strength. - method `CommodityChannelIndex CommodityChannelIndex(DataSeries source, int periods)` | py `api.Indicators.CommodityChannelIndex(source: DataSeries, periods: int) -> CommodityChannelIndex` — The Commodity Channel Index identifies overbought and oversold conditions, price reversals and trend strength. - method `CyberCycle CyberCycle(double alpha)` | py `api.Indicators.CyberCycle(alpha: float) -> CyberCycle` — The Cyber Cycles Oscillator is an indicator designed by John Ehlers, it is used for isolating the cycle component of the market from its trend counterpart. - method `DeMarker DeMarker(int periods)` | py `api.Indicators.DeMarker(periods: int) -> DeMarker` — The DeMarker (DeM) is an oscillator that compares the most recent maximum and minimum prices to the previous period's equivalent price. - method `DeMarker DeMarker(Bars bars, int periods)` | py `api.Indicators.DeMarker(bars: Bars, periods: int) -> DeMarker` — The DeMarker (DeM) is an oscillator that compares the most recent maximum and minimum prices to the previous period's equivalent price. - method `DetrendedPriceOscillator DetrendedPriceOscillator(DataSeries source, int periods, MovingAverageType maType)` | py `api.Indicators.DetrendedPriceOscillator(source: DataSeries, periods: int, maType: MovingAverageType) -> DetrendedPriceOscillator` — The Detrended Price Oscillator shows intermediate overbought and oversold levels. - method `DirectionalMovementSystem DirectionalMovementSystem(int periods)` | py `api.Indicators.DirectionalMovementSystem(periods: int) -> DirectionalMovementSystem` — The Directional Movement System is composed of three indicators that show if the market is trending and provide signals. - method `DirectionalMovementSystem DirectionalMovementSystem(Bars bars, int periods)` | py `api.Indicators.DirectionalMovementSystem(bars: Bars, periods: int) -> DirectionalMovementSystem` — The Directional Movement System is composed of three indicators that show if the market is trending and provide signals. - method `DirectionalMovementSystem DirectionalMovementSystem(Bars bars, int periods, MovingAverageType maType)` | py `api.Indicators.DirectionalMovementSystem(bars: Bars, periods: int, maType: MovingAverageType) -> DirectionalMovementSystem` — The Directional Movement System is composed of three indicators that show if the market is trending and provide signals. - method `DonchianChannel DonchianChannel(int periods)` | py `api.Indicators.DonchianChannel(periods: int) -> DonchianChannel` — The Donchian channel is a volatility indicator forming a channel between the highest high and the lowest low of the chosen period. - method `DonchianChannel DonchianChannel(Bars bars, int periods)` | py `api.Indicators.DonchianChannel(bars: Bars, periods: int) -> DonchianChannel` — The Donchian channel is a volatility indicator forming a channel between the highest high and the lowest low of the chosen period. - method `DoubleExponentialMovingAverage DoubleExponentialMovingAverage(DataSeries source, int periods)` | py `api.Indicators.DoubleExponentialMovingAverage(source: DataSeries, periods: int) -> DoubleExponentialMovingAverage` — The Double Exponential Moving Average (DEMA) is a combination of smoothed exponential moving averages (EMA) and a basic EMA - method `EaseOfMovement EaseOfMovement(int periods, MovingAverageType maType)` | py `api.Indicators.EaseOfMovement(periods: int, maType: MovingAverageType) -> EaseOfMovement` — The Ease Of Movement indicator relates the price change to the volume. - method `EaseOfMovement EaseOfMovement(Bars bars, int periods, MovingAverageType maType)` | py `api.Indicators.EaseOfMovement(bars: Bars, periods: int, maType: MovingAverageType) -> EaseOfMovement` — The Ease Of Movement indicator relates the price change to the volume. - method `ElderForceIndex ElderForceIndex(int periods, MovingAverageType maType)` | py `api.Indicators.ElderForceIndex(periods: int, maType: MovingAverageType) -> ElderForceIndex` — Elder's Force Index measures the amount of power used to move the price of an asset. - method `ElderForceIndex ElderForceIndex(Bars bars, int periods, MovingAverageType maType)` | py `api.Indicators.ElderForceIndex(bars: Bars, periods: int, maType: MovingAverageType) -> ElderForceIndex` — Elder's Force Index measures the amount of power used to move the price of an asset. - method `ElderRayIndex ElderRayIndex(int periods, MovingAverageType maType)` | py `api.Indicators.ElderRayIndex(periods: int, maType: MovingAverageType) -> ElderRayIndex` — Elder Ray Index shows the maximum bullish and bearish strengths during the time period. - method `ElderRayIndex ElderRayIndex(Bars bars, int periods, MovingAverageType maType)` | py `api.Indicators.ElderRayIndex(bars: Bars, periods: int, maType: MovingAverageType) -> ElderRayIndex` — Elder Ray Index shows the maximum bullish and bearish strengths during the time period. - method `Envelopes Envelopes(int periods, MovingAverageType maType, double deviation)` | py `api.Indicators.Envelopes(periods: int, maType: MovingAverageType, deviation: float) -> Envelopes` — The Envelopes indicator is used to visualize potential trading ranges and overbought/oversold conditions. - method `Envelopes Envelopes(DataSeries source, int periods, MovingAverageType maType, double deviation)` | py `api.Indicators.Envelopes(source: DataSeries, periods: int, maType: MovingAverageType, deviation: float) -> Envelopes` — The Envelopes indicator is used to visualize potential trading ranges and overbought/oversold conditions. - method `ExponentialMovingAverage ExponentialMovingAverage(DataSeries source, int periods)` | py `api.Indicators.ExponentialMovingAverage(source: DataSeries, periods: int) -> ExponentialMovingAverage` — The Exponential Moving Average smoothes the price data producing a trend indicator. - method `FractalAdaptiveMovingAverage FractalAdaptiveMovingAverage(int periods)` | py `api.Indicators.FractalAdaptiveMovingAverage(periods: int) -> FractalAdaptiveMovingAverage` — The Fractal Adaptive Moving Average (FRAMA) indicator is a type of moving average that adjusts its sensitivity to price movements based on market volatility - method `FractalAdaptiveMovingAverage FractalAdaptiveMovingAverage(Bars bars, int periods)` | py `api.Indicators.FractalAdaptiveMovingAverage(bars: Bars, periods: int) -> FractalAdaptiveMovingAverage` — The Fractal Adaptive Moving Average (FRAMA) indicator is a type of moving average that adjusts its sensitivity to price movements based on market volatility - method `FractalChaosBands FractalChaosBands()` | py `api.Indicators.FractalChaosBands() -> FractalChaosBands` — The Fractal Chaos Bands indicator breaks down large trends into predictable patterns. - method `FractalChaosBands FractalChaosBands(Bars bars)` | py `api.Indicators.FractalChaosBands(bars: Bars) -> FractalChaosBands` — The Fractal Chaos Bands indicator breaks down large trends into predictable patterns. - method `Fractals Fractals(int periods)` | py `api.Indicators.Fractals(periods: int) -> Fractals` — The fractal indicator is a trading indicator used in technical analysis that is used to identify potential trend reversal points in a market. - method `Fractals Fractals(Bars bars, int periods)` | py `api.Indicators.Fractals(bars: Bars, periods: int) -> Fractals` — The fractal indicator is a trading indicator used in technical analysis that is used to identify potential trend reversal points in a market. - method `GatorOscillator GatorOscillator(int jawsPeriods, int jawsShift, int teethPeriods, int teethShift, int lipsPeriods, int lipsShift, MovingAverageType maType)` | py `api.Indicators.GatorOscillator(jawsPeriods: int, jawsShift: int, teethPeriods: int, teethShift: int, lipsPeriods: int, lipsShift: int, maType: MovingAverageType) -> GatorOscillator` — Gator Oscillator (GO) supplements the Alligator indicator and is used together with it. - method `GatorOscillator GatorOscillator(DataSeries source, int jawsPeriods, int jawsShift, int teethPeriods, int teethShift, int lipsPeriods, int lipsShift, MovingAverageType maType)` | py `api.Indicators.GatorOscillator(source: DataSeries, jawsPeriods: int, jawsShift: int, teethPeriods: int, teethShift: int, lipsPeriods: int, lipsShift: int, maType: MovingAverageType) -> GatorOscillator` — Gator Oscillator (GO) supplements the Alligator indicator and is used together with it. - method `TIndicator GetIndicator(object[] parameterValues)` | py `api.Indicators.GetIndicator(parameterValues: list[object]) -> TIndicator` — Initializes the custom indicator - method `TIndicator GetIndicator(Bars bars, object[] parameterValues)` | py `api.Indicators.GetIndicator(bars: Bars, parameterValues: list[object]) -> TIndicator` — Initializes the custom indicator - method `HighMinusLow HighMinusLow()` | py `api.Indicators.HighMinusLow() -> HighMinusLow` — The High Minus Low indicator is used to compute the range of daily bars - method `HighMinusLow HighMinusLow(Bars bars)` | py `api.Indicators.HighMinusLow(bars: Bars) -> HighMinusLow` — The High Minus Low indicator is used to compute the range of daily bars - method `HistoricalVolatility HistoricalVolatility(DataSeries source, int periods, int barHistory)` | py `api.Indicators.HistoricalVolatility(source: DataSeries, periods: int, barHistory: int) -> HistoricalVolatility` — The Historical Volatility indicator is derived from time series of past market prices. - method `HullMovingAverage HullMovingAverage(DataSeries source, int periods)` | py `api.Indicators.HullMovingAverage(source: DataSeries, periods: int) -> HullMovingAverage` — The Hull Moving Average is a more responsive moving average that nearly removes lag and improves smoothing at the same time. - method `IchimokuKinkoHyo IchimokuKinkoHyo(int tenkanSenPeriods, int kijunSenPeriods, int senkouSpanBPeriods)` | py `api.Indicators.IchimokuKinkoHyo(tenkanSenPeriods: int, kijunSenPeriods: int, senkouSpanBPeriods: int) -> IchimokuKinkoHyo` — Ichimoku Kinko Hyo Indicator is a moving average based trend identification system. - method `IchimokuKinkoHyo IchimokuKinkoHyo(Bars bars, int tenkanSenPeriods, int kijunSenPeriods, int senkouSpanBPeriods)` | py `api.Indicators.IchimokuKinkoHyo(bars: Bars, tenkanSenPeriods: int, kijunSenPeriods: int, senkouSpanBPeriods: int) -> IchimokuKinkoHyo` — Ichimoku Kinko Hyo Indicator is a moving average based trend identification system. - method `KaufmanAdaptiveMovingAverage KaufmanAdaptiveMovingAverage(int periods, int fastPeriods, int slowPeriods)` | py `api.Indicators.KaufmanAdaptiveMovingAverage(periods: int, fastPeriods: int, slowPeriods: int) -> KaufmanAdaptiveMovingAverage` — The Kaufman's Adaptive Moving Average (KAMA) indicator is a type of adaptive moving average designed to adjust its smoothing factor based on market volatility - method `KaufmanAdaptiveMovingAverage KaufmanAdaptiveMovingAverage(DataSeries source, int periods, int fastPeriods, int slowPeriods)` | py `api.Indicators.KaufmanAdaptiveMovingAverage(source: DataSeries, periods: int, fastPeriods: int, slowPeriods: int) -> KaufmanAdaptiveMovingAverage` — The Kaufman's Adaptive Moving Average (KAMA) indicator is a type of adaptive moving average designed to adjust its smoothing factor based on market volatility - method `KeltnerChannels KeltnerChannels(int maPeriod, MovingAverageType maType, int atrPeriod, MovingAverageType atrMaType, double bandDistance)` | py `api.Indicators.KeltnerChannels(maPeriod: int, maType: MovingAverageType, atrPeriod: int, atrMaType: MovingAverageType, bandDistance: float) -> KeltnerChannels` — Initializes the Keltner Channels indicator instance - method `KeltnerChannels KeltnerChannels(Bars bars, int maPeriod, MovingAverageType maType, int atrPeriod, MovingAverageType atrMaType, double bandDistance)` | py `api.Indicators.KeltnerChannels(bars: Bars, maPeriod: int, maType: MovingAverageType, atrPeriod: int, atrMaType: MovingAverageType, bandDistance: float) -> KeltnerChannels` — Initializes the Keltner Channels indicator instance - method `LinearRegressionForecast LinearRegressionForecast(DataSeries source, int periods)` | py `api.Indicators.LinearRegressionForecast(source: DataSeries, periods: int) -> LinearRegressionForecast` — Linear Regression Forecast is a trend indicator used to forecast values using the Least Squares Fit method. - method `LinearRegressionIntercept LinearRegressionIntercept(DataSeries source, int periods)` | py `api.Indicators.LinearRegressionIntercept(source: DataSeries, periods: int) -> LinearRegressionIntercept` — The Linear Regression Intercept can be used together with the Linear Regression Slope indicator to plot the Linear Regression Line. - method `LinearRegressionRSquared LinearRegressionRSquared(DataSeries source, int periods)` | py `api.Indicators.LinearRegressionRSquared(source: DataSeries, periods: int) -> LinearRegressionRSquared` — The R Squared or coefficient of determination indicator's main purpose is the confirm the strength of the market. - method `LinearRegressionSlope LinearRegressionSlope(DataSeries source, int periods)` | py `api.Indicators.LinearRegressionSlope(source: DataSeries, periods: int) -> LinearRegressionSlope` — The Linear Regression Slope indicator is intended to measure the direction and strength of a trend. - method `MacdCrossOver MacdCrossOver(int longCycle, int shortCycle, int signalPeriods)` | py `api.Indicators.MacdCrossOver(longCycle: int, shortCycle: int, signalPeriods: int) -> MacdCrossOver` — The MACD Line with the Signal line and their difference as a histogram. - method `MacdCrossOver MacdCrossOver(DataSeries source, int longCycle, int shortCycle, int signalPeriods)` | py `api.Indicators.MacdCrossOver(source: DataSeries, longCycle: int, shortCycle: int, signalPeriods: int) -> MacdCrossOver` — Initializes the MacdCrossOver indicator instance for a specific source series - method `MacdHistogram MacdHistogram(int longCycle, int shortCycle, int signalPeriods)` | py `api.Indicators.MacdHistogram(longCycle: int, shortCycle: int, signalPeriods: int) -> MacdHistogram` — The MACD Histogram is a momentum indicator measured by typically subtracting a 26 period moving average from a 12 period moving average. - method `MacdHistogram MacdHistogram(DataSeries source, int longCycle, int shortCycle, int signalPeriods)` | py `api.Indicators.MacdHistogram(source: DataSeries, longCycle: int, shortCycle: int, signalPeriods: int) -> MacdHistogram` — Initializes the MacdHistogram indicator instance for a specific source series - method `MacdOscillatorMovingAverage MacdOscillatorMovingAverage(int longCycle, int shortCycle, int signalPeriods, MovingAverageType maType)` | py `api.Indicators.MacdOscillatorMovingAverage(longCycle: int, shortCycle: int, signalPeriods: int, maType: MovingAverageType) -> MacdOscillatorMovingAverage` — The Oscillator of a Moving Average (OsMA) over the MACD. - method `MacdOscillatorMovingAverage MacdOscillatorMovingAverage(DataSeries source, int longCycle, int shortCycle, int signalPeriods, MovingAverageType maType)` | py `api.Indicators.MacdOscillatorMovingAverage(source: DataSeries, longCycle: int, shortCycle: int, signalPeriods: int, maType: MovingAverageType) -> MacdOscillatorMovingAverage` — The Oscillator of a Moving Average (OsMA) over the MACD. - method `MarketFacilitationIndex MarketFacilitationIndex()` | py `api.Indicators.MarketFacilitationIndex() -> MarketFacilitationIndex` — The indicator shows the effectiveness of price movement by computing the price movement per volume unit - method `MarketFacilitationIndex MarketFacilitationIndex(Bars bars)` | py `api.Indicators.MarketFacilitationIndex(bars: Bars) -> MarketFacilitationIndex` — The indicator shows the effectiveness of price movement by computing the price movement per volume unit - method `MassIndex MassIndex(int periods)` | py `api.Indicators.MassIndex(periods: int) -> MassIndex` — The Mass Index indicator is used to predict trend reversals. - method `MassIndex MassIndex(Bars bars, int periods)` | py `api.Indicators.MassIndex(bars: Bars, periods: int) -> MassIndex` — The Mass Index indicator is used to predict trend reversals. - method `MedianPrice MedianPrice()` | py `api.Indicators.MedianPrice() -> MedianPrice` — The Median indicator is the average of the high and the low. - method `MedianPrice MedianPrice(Bars bars)` | py `api.Indicators.MedianPrice(bars: Bars) -> MedianPrice` — The Median indicator is the average of the high and the low. - method `MomentumOscillator MomentumOscillator(DataSeries source, int periods)` | py `api.Indicators.MomentumOscillator(source: DataSeries, periods: int) -> MomentumOscillator` — The Momentum Oscillator measures the momentum of the price. - method `MoneyFlowIndex MoneyFlowIndex(int periods)` | py `api.Indicators.MoneyFlowIndex(periods: int) -> MoneyFlowIndex` — The Money Flow Index measures the strength of the money flow. - method `MoneyFlowIndex MoneyFlowIndex(Bars bars, int periods)` | py `api.Indicators.MoneyFlowIndex(bars: Bars, periods: int) -> MoneyFlowIndex` — The Money Flow Index measures the strength of the money flow. - method `MovingAverage MovingAverage(DataSeries source, int periods, MovingAverageType maType)` | py `api.Indicators.MovingAverage(source: DataSeries, periods: int, maType: MovingAverageType) -> MovingAverage` — Moving Average indicators are used to smooth data producing trend indicators. - method `NegativeVolumeIndex NegativeVolumeIndex(DataSeries source)` | py `api.Indicators.NegativeVolumeIndex(source: DataSeries) -> NegativeVolumeIndex` — The Negative Volume Index is a calculation of the percentage change in price on days when trading volume declines. - method `OnBalanceVolume OnBalanceVolume(DataSeries source)` | py `api.Indicators.OnBalanceVolume(source: DataSeries) -> OnBalanceVolume` — The On Balance Volume indicator relates price and volume. - method `OscillatorMovingAverage OscillatorMovingAverage(DataSeries source, int periods, MovingAverageType maType)` | py `api.Indicators.OscillatorMovingAverage(source: DataSeries, periods: int, maType: MovingAverageType) -> OscillatorMovingAverage` — The Oscillator of a Moving Average (OsMA) is a technical indicator that shows the difference between an oscillator and its moving average over a given period of time. - method `ParabolicSAR ParabolicSAR(double minAf, double maxAf)` | py `api.Indicators.ParabolicSAR(minAf: float, maxAf: float) -> ParabolicSAR` — The Parabolic SAR indicator identifies potential reversals in the market direction - method `ParabolicSAR ParabolicSAR(Bars bars, double minAf, double maxAf)` | py `api.Indicators.ParabolicSAR(bars: Bars, minAf: float, maxAf: float) -> ParabolicSAR` — The Parabolic SAR indicator identifies potential reversals in the market direction - method `PolynomialRegressionChannels PolynomialRegressionChannels(int degree, int periods, double standardDeviation, double standardDeviation2)` | py `api.Indicators.PolynomialRegressionChannels(degree: int, periods: int, standardDeviation: float, standardDeviation2: float) -> PolynomialRegressionChannels` — Polynomial Regression Channel (PRC) is an RTX Extension indicator that draws a best fit n-degree polynomial regression line through a recent period of data. - method `PositiveVolumeIndex PositiveVolumeIndex(DataSeries source)` | py `api.Indicators.PositiveVolumeIndex(source: DataSeries) -> PositiveVolumeIndex` — The Positive Volume Index is a calculation of the percentage change in price on days when trading volume increased. - method `PriceOscillator PriceOscillator(DataSeries source, int longCycle, int shortCycle, MovingAverageType maType)` | py `api.Indicators.PriceOscillator(source: DataSeries, longCycle: int, shortCycle: int, maType: MovingAverageType) -> PriceOscillator` — The Price Oscillator calculates the difference between two moving averages. - method `PriceROC PriceROC(DataSeries source, int periods)` | py `api.Indicators.PriceROC(source: DataSeries, periods: int) -> PriceROC` — The Price Rate of Change indicator is the percentage change of the current price and the price N periods ago. - method `PriceVolumeTrend PriceVolumeTrend(DataSeries source)` | py `api.Indicators.PriceVolumeTrend(source: DataSeries) -> PriceVolumeTrend` — The Price Volume Trend indicator shows the relationship between price and volume. - method `RainbowOscillator RainbowOscillator(DataSeries source, int levels, MovingAverageType maType)` | py `api.Indicators.RainbowOscillator(source: DataSeries, levels: int, maType: MovingAverageType) -> RainbowOscillator` — The Rainbow Oscillator is a process of repetitive smoothing of simple moving averages resulting in a full spectrum of trends. - method `RelativeStrengthIndex RelativeStrengthIndex(DataSeries source, int periods)` | py `api.Indicators.RelativeStrengthIndex(source: DataSeries, periods: int) -> RelativeStrengthIndex` — The Relative Strength Index indicator measures turns in price by measuring turns in momentum. - method `RelativeVigorIndex RelativeVigorIndex(int periods)` | py `api.Indicators.RelativeVigorIndex(periods: int) -> RelativeVigorIndex` — The Relative Vigor Index is a momentum oscillator, measuring the strength of a trend. - method `RelativeVigorIndex RelativeVigorIndex(Bars bars, int periods)` | py `api.Indicators.RelativeVigorIndex(bars: Bars, periods: int) -> RelativeVigorIndex` — The Relative Vigor Index is a momentum oscillator, measuring the strength of a trend. - method `SimpleMovingAverage SimpleMovingAverage(DataSeries source, int periods)` | py `api.Indicators.SimpleMovingAverage(source: DataSeries, periods: int) -> SimpleMovingAverage` — The simple moving average smoothes the price data producing a trend indicator - method `StandardDeviation StandardDeviation(DataSeries source, int periods, MovingAverageType maType)` | py `api.Indicators.StandardDeviation(source: DataSeries, periods: int, maType: MovingAverageType) -> StandardDeviation` — The Standard Deviation indicator shows volatility. - method `StochasticOscillator StochasticOscillator(int kPeriods, int kSlowing, int dPeriods, MovingAverageType maType)` | py `api.Indicators.StochasticOscillator(kPeriods: int, kSlowing: int, dPeriods: int, maType: MovingAverageType) -> StochasticOscillator` — The Stochastic Oscillator is a momentum indicator that aims to show price reversals by comparing the closing price to the price range. - method `StochasticOscillator StochasticOscillator(int kPeriods, int kSlowing, int dPeriods, MovingAverageType maType, StochasticCalculationType calculationType)` | py `api.Indicators.StochasticOscillator(kPeriods: int, kSlowing: int, dPeriods: int, maType: MovingAverageType, calculationType: StochasticCalculationType) -> StochasticOscillator` — The Stochastic Oscillator is a momentum indicator that aims to show price reversals by comparing the closing price to the price range. - method `StochasticOscillator StochasticOscillator(Bars bars, int kPeriods, int kSlowing, int dPeriods, MovingAverageType maType)` | py `api.Indicators.StochasticOscillator(bars: Bars, kPeriods: int, kSlowing: int, dPeriods: int, maType: MovingAverageType) -> StochasticOscillator` — The Stochastic Oscillator is a momentum indicator that aims to show price reversals by comparing the closing price to the price range. - method `StochasticOscillator StochasticOscillator(Bars bars, int kPeriods, int kSlowing, int dPeriods, MovingAverageType maType, StochasticCalculationType calculationType)` | py `api.Indicators.StochasticOscillator(bars: Bars, kPeriods: int, kSlowing: int, dPeriods: int, maType: MovingAverageType, calculationType: StochasticCalculationType) -> StochasticOscillator` — The Stochastic Oscillator is a momentum indicator that aims to show price reversals by comparing the closing price to the price range. - method `Supertrend Supertrend(int periods, double multiplier)` | py `api.Indicators.Supertrend(periods: int, multiplier: float) -> Supertrend` — Supertrend is one of the most popular trend trading indicators - method `SwingIndex SwingIndex(int limitMoveValue)` | py `api.Indicators.SwingIndex(limitMoveValue: int) -> SwingIndex` — Returns the Swing Index indicator instance. - method `SwingIndex SwingIndex(Bars bars, int limitMoveValue)` | py `api.Indicators.SwingIndex(bars: Bars, limitMoveValue: int) -> SwingIndex` — Returns the Swing Index indicator instance. - method `TickVolume TickVolume()` | py `api.Indicators.TickVolume() -> TickVolume` — Tick Volume gives you the number of ticks for each bar. - method `TimeSeriesMovingAverage TimeSeriesMovingAverage(DataSeries source, int periods)` | py `api.Indicators.TimeSeriesMovingAverage(source: DataSeries, periods: int) -> TimeSeriesMovingAverage` — The Time Series Moving Average is a moving average based on linear regression - method `TradeVolumeIndex TradeVolumeIndex(DataSeries source)` | py `api.Indicators.TradeVolumeIndex(source: DataSeries) -> TradeVolumeIndex` — Trade Volume Index indicator measures the amount of money flowing in and out of an asset. - method `TriangularMovingAverage TriangularMovingAverage(DataSeries source, int periods)` | py `api.Indicators.TriangularMovingAverage(source: DataSeries, periods: int) -> TriangularMovingAverage` — The Triangular Moving Average is averaged twice to produce a double smoothed trend indicator - method `TripleExponentialMovingAverage TripleExponentialMovingAverage(DataSeries source, int periods)` | py `api.Indicators.TripleExponentialMovingAverage(source: DataSeries, periods: int) -> TripleExponentialMovingAverage` — The Triple Exponential Moving Average (TEMA) is a technical indicator that provides a smoothed representation of price data by applying three levels of exponential smoothing - method `Trix Trix(DataSeries source, int periods)` | py `api.Indicators.Trix(source: DataSeries, periods: int) -> Trix` — The Trix indicator shows the slope of a triple-smoothed exponential moving average. - method `TrueRange TrueRange()` | py `api.Indicators.TrueRange() -> TrueRange` — Initializes the True Range indicator. - method `TrueRange TrueRange(Bars bars)` | py `api.Indicators.TrueRange(bars: Bars) -> TrueRange` — Initializes the True Range indicator. - method `TypicalPrice TypicalPrice()` | py `api.Indicators.TypicalPrice() -> TypicalPrice` — The Typical Price indicator is the average of the high, low, and closing prices. - method `TypicalPrice TypicalPrice(Bars bars)` | py `api.Indicators.TypicalPrice(bars: Bars) -> TypicalPrice` — The Typical Price indicator is the average of the high, low, and closing prices. - method `UltimateOscillator UltimateOscillator(int cycle1, int cycle2, int cycle3)` | py `api.Indicators.UltimateOscillator(cycle1: int, cycle2: int, cycle3: int) -> UltimateOscillator` — Returns the Ultimate Oscillator indicator instance. - method `UltimateOscillator UltimateOscillator(Bars bars, int cycle1, int cycle2, int cycle3)` | py `api.Indicators.UltimateOscillator(bars: Bars, cycle1: int, cycle2: int, cycle3: int) -> UltimateOscillator` — Returns the Ultimate Oscillator indicator instance. - method `VariableIndexDynamicAverage VariableIndexDynamicAverage(DataSeries source, int cmoPeriods, int smoothPeriods)` | py `api.Indicators.VariableIndexDynamicAverage(source: DataSeries, cmoPeriods: int, smoothPeriods: int) -> VariableIndexDynamicAverage` — The Variable Index Dynamic Average (VIDYA) indicator is a type of moving average that dynamically adjusts its smoothing period based on market volatility. - method `VariableIndexDynamicAverage VariableIndexDynamicAverage(int cmoPeriods, int smoothPeriods)` | py `api.Indicators.VariableIndexDynamicAverage(cmoPeriods: int, smoothPeriods: int) -> VariableIndexDynamicAverage` — The Variable Index Dynamic Average (VIDYA) indicator is a type of moving average that dynamically adjusts its smoothing period based on market volatility. - method `VerticalHorizontalFilter VerticalHorizontalFilter(DataSeries source, int periods)` | py `api.Indicators.VerticalHorizontalFilter(source: DataSeries, periods: int) -> VerticalHorizontalFilter` — The Vertical Horizontal Filter indicator measures the level of trend activity. - method `VolumeOscillator VolumeOscillator(int shortTerm, int longTerm)` | py `api.Indicators.VolumeOscillator(shortTerm: int, longTerm: int) -> VolumeOscillator` — The Volume Oscillator indicator is the difference between two moving averages. - method `VolumeOscillator VolumeOscillator(Bars bars, int shortTerm, int longTerm)` | py `api.Indicators.VolumeOscillator(bars: Bars, shortTerm: int, longTerm: int) -> VolumeOscillator` — The Volume Oscillator indicator is the difference between two moving averages. - method `VolumeROC VolumeROC(int periods)` | py `api.Indicators.VolumeROC(periods: int) -> VolumeROC` — Volume Rate of Change Indicator measures the rate of change of the tick volume. - method `VolumeROC VolumeROC(Bars bars, int periods)` | py `api.Indicators.VolumeROC(bars: Bars, periods: int) -> VolumeROC` — Volume Rate of Change Indicator measures the rate of change of the tick volume. - method `WeightedClose WeightedClose()` | py `api.Indicators.WeightedClose() -> WeightedClose` — The WeightedClose indicator is an average of each day's price with extra weight given to the closing price. - method `WeightedClose WeightedClose(Bars bars)` | py `api.Indicators.WeightedClose(bars: Bars) -> WeightedClose` — The WeightedClose indicator is an average of each day's price with extra weight given to the closing price. - method `WeightedMovingAverage WeightedMovingAverage(DataSeries source, int periods)` | py `api.Indicators.WeightedMovingAverage(source: DataSeries, periods: int) -> WeightedMovingAverage` — The Weighted Moving Average smoothes the price data producing a trend indicator. - method `WellesWilderSmoothing WellesWilderSmoothing(DataSeries source, int periods)` | py `api.Indicators.WellesWilderSmoothing(source: DataSeries, periods: int) -> WellesWilderSmoothing` — Welles Wilder Smoothing eliminates noise to identify the trend. - method `WilliamsAccumulationDistribution WilliamsAccumulationDistribution()` | py `api.Indicators.WilliamsAccumulationDistribution() -> WilliamsAccumulationDistribution` — The Williams Accumulation Distribution indicator shows bullish or bearish trends. - method `WilliamsAccumulationDistribution WilliamsAccumulationDistribution(Bars bars)` | py `api.Indicators.WilliamsAccumulationDistribution(bars: Bars) -> WilliamsAccumulationDistribution` — The Williams Accumulation Distribution indicator shows bullish or bearish trends. - method `WilliamsPctR WilliamsPctR(int periods)` | py `api.Indicators.WilliamsPctR(periods: int) -> WilliamsPctR` — The Williams Percent R indicator is a momentum indicator measuring overbought and oversold levels. - method `WilliamsPctR WilliamsPctR(Bars bars, int periods)` | py `api.Indicators.WilliamsPctR(bars: Bars, periods: int) -> WilliamsPctR` — The Williams Percent R indicator is a momentum indicator measuring overbought and oversold levels. ## interface cAlgo.API.Internals.INotifications — It is an interface that represents all Notifications. [CLI works differently; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Notifications/INotifications/index.md) - method `void PlaySound(string fileName)` | py `api.Notifications.PlaySound(fileName: str) -> None` — Plays a notification sound. [CLI not supported; Cloud not supported] - method `void PlaySound(SoundType soundType)` | py `api.Notifications.PlaySound(soundType: SoundType) -> None` — Plays the specified SoundType. [CLI not supported; Cloud not supported] - method `void SendEmail(string from, string to, string subject, string text)` | py `api.Notifications.SendEmail(from: str, to: str, subject: str, text: str) -> None` — Sends a notification email message. [Cloud not supported] - method `PopupNotification ShowPopup(string caption, string message, PopupNotificationState initialState)` | py `api.Notifications.ShowPopup(caption: str, message: str, initialState: PopupNotificationState) -> PopupNotification` — Shows a popup notification. [CLI not supported; Cloud not supported] ## interface cAlgo.API.Collections.IReadonlyList — Represents a read only collection of a specified type (https://help.ctrader.com/ctrader-algo/references/Collections/IReadonlyList/index.md) - property `int Count {get;}` | py `readonlyList.Count: int` — The total number of elements contained in the collection - property `T Item {get;}` | py `readonlyList[index: int] -> T` — Represents the item contained in the collection at a specific index ## interface cAlgo.API.Internals.IServer — Server related information. (https://help.ctrader.com/ctrader-algo/references/Application/IServer/index.md) - property `bool IsConnected {get;}` | py `api.Server.IsConnected: bool` — Indicates current connection status with the server - property `DateTime Time {get;}` | py `api.Server.Time: DateTime` — Returns the server time. - property `DateTime TimeInUtc {get;}` | py `api.Server.TimeInUtc: DateTime` — Returns the server time in UTC. - event `event Action Connected;` | py `api.Server.Connected += handler # handler()` — Event raised when successfully connected with the server - event `event Action Disconnected;` | py `api.Server.Disconnected += handler # handler()` — Disconnected - Event raised when connection with the server is lost ## interface cAlgo.API.Indicators.IchimokuKinkoHyo — Ichimoku Kinko Hyo Indicator. (https://help.ctrader.com/ctrader-algo/references/Indicators/IchimokuKinkoHyo/index.md) - property `IndicatorDataSeries ChikouSpan {get; set;}` | py `ichimokuKinkoHyo.ChikouSpan: IndicatorDataSeries` — It is used as a support-resistance aid. - property `IndicatorDataSeries KijunSen {get; set;}` | py `ichimokuKinkoHyo.KijunSen: IndicatorDataSeries` — This is a confirmation line, a support-resistance line, and can be used as a trailing stop line. - property `IndicatorDataSeries SenkouSpanA {get; set;}` | py `ichimokuKinkoHyo.SenkouSpanA: IndicatorDataSeries` — Leading span 1, this line forms one edge of the kumo, or cloud. If the price is above the Senkou span, the top line serves as the first support level while the bottom line serves as the second support level. - property `IndicatorDataSeries SenkouSpanB {get; set;}` | py `ichimokuKinkoHyo.SenkouSpanB: IndicatorDataSeries` — Leading span 2, this line forms the other edge of the kumo. - property `IndicatorDataSeries TenkanSen {get; set;}` | py `ichimokuKinkoHyo.TenkanSen: IndicatorDataSeries` — It is primarily used as a signal line and a minor support-resistance line. ## class cAlgo.API.Image — Represents the image chart control. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/Image/index.md) - constructor `public Image()` | py `Image()` — Initializes a new instance of the Image class. [CLI not supported; Cloud not supported] - property `public object Source {get; set;}` | py `image.Source: object` — Gets or sets the source of the image. [CLI not supported; Cloud not supported] - property `public Stretch Stretch {get; set;}` | py `image.Stretch: Stretch` — Gets or sets a value that describes how an Image should be stretched to fill the destination rectangle. [CLI not supported; Cloud not supported] - property `public StretchDirection StretchDirection {get; set;}` | py `image.StretchDirection: StretchDirection` — Gets or sets a value that indicates how the image is scaled. [CLI not supported; Cloud not supported] ## class cAlgo.API.Indicator — Base class for Indicators. (https://help.ctrader.com/ctrader-algo/references/General/Indicator/index.md) - method `public ChartIndicator AddToChart()` | py `api.AddToChart() -> ChartIndicator` — Adds current indicator to chart if not added yet. - method `public abstract void Calculate(int index)` | py `api.Calculate(index: int) -> None` — Calculate the value(s) of indicator for the given index. - method `public TradeResult CancelPendingOrder(PendingOrder pendingOrder)` | py `api.CancelPendingOrder(pendingOrder: PendingOrder) -> TradeResult` — Cancel a Pending Order - method `public TradeOperation CancelPendingOrderAsync(PendingOrder pendingOrder, Action callback)` | py `api.CancelPendingOrderAsync(pendingOrder: PendingOrder, callback: Callable[[TradeResult], None]) -> TradeOperation` — Cancel a Pending Order in asynchronous execution mode - method `public TradeResult ClosePosition(Position position)` | py `api.ClosePosition(position: Position) -> TradeResult` — Close a position - method `public TradeResult ClosePosition(Position position, long volume)` | py `api.ClosePosition(position: Position, volume: int) -> TradeResult` — Close a position - method `public TradeResult ClosePosition(Position position, double volume)` | py `api.ClosePosition(position: Position, volume: float) -> TradeResult` — Close a position - method `public TradeOperation ClosePositionAsync(Position position, Action callback)` | py `api.ClosePositionAsync(position: Position, callback: Callable[[TradeResult], None]) -> TradeOperation` — Close a position in asynchronous execution mode - method `public TradeOperation ClosePositionAsync(Position position, long volume, Action callback)` | py `api.ClosePositionAsync(position: Position, volume: int, callback: Callable[[TradeResult], None]) -> TradeOperation` — Close a position in asynchronous execution mode - method `public TradeOperation ClosePositionAsync(Position position, double volume, Action callback)` | py `api.ClosePositionAsync(position: Position, volume: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Close a position in asynchronous execution mode - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLossPips: float | None, takeProfitPips: float | None) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, string comment)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, StopLossBreakEven stopLossBreakEven)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, hasTrailingStop: bool) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Execute a Market Order - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, string comment, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLossPips: float | None, takeProfitPips: float | None) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips, string comment)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, StopLossBreakEven stopLossBreakEven)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, hasTrailingStop: bool) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Execute a Market Order - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips, string comment, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `protected internal void Initialize()` | py `api.Initialize() -> None` — Custom initialization for the Indicator. This method is invoked when an indicator is launched. - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, long volume)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: int) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, long volume)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: int) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, long volume, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: int, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, long volume)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: int) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, long volume, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: int, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume, bool hasTrailingStop)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, long volume, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: int, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, long volume, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: int, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, long volume, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: int, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, long volume, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: int, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, long volume, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: int, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume, bool hasTrailingStop, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeResult ModifyPosition(Position position, double volume)` | py `api.ModifyPosition(position: Position, volume: float) -> TradeResult` — Modify the volume of a position - method `public TradeResult ModifyPosition(Position position, double? stopLoss, double? takeProfit, ProtectionType? protectionType)` | py `api.ModifyPosition(position: Position, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None) -> TradeResult` — Modify the protection of a position - method `public TradeResult ModifyPosition(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits)` | py `api.ModifyPosition(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections) -> TradeResult` — Modify the protection of a position - method `public TradeResult ModifyPosition(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits)` | py `api.ModifyPosition(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections) -> TradeResult` — Modify the protection of a position - method `public TradeResult ModifyPosition(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPosition(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify the protection of a position - method `public TradeResult ModifyPosition(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPosition(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify the protection of a position - method `public TradeResult ModifyPosition(Position position, double? stopLoss, double? takeProfit, ProtectionType? protectionType, bool hasTrailingStop)` | py `api.ModifyPosition(position: Position, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, hasTrailingStop: bool) -> TradeResult` — Modify the protection of a position - method `public TradeResult ModifyPosition(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, bool hasTrailingStop)` | py `api.ModifyPosition(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, hasTrailingStop: bool) -> TradeResult` — Modify the protection of a position - method `public TradeResult ModifyPosition(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, bool hasTrailingStop)` | py `api.ModifyPosition(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, hasTrailingStop: bool) -> TradeResult` — Modify the protection of a position - method `public TradeResult ModifyPosition(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPosition(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify the protection of a position - method `public TradeResult ModifyPosition(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPosition(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify the protection of a position - method `public TradeResult ModifyPosition(Position position, double? stopLoss, double? takeProfit, ProtectionType? protectionType, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ModifyPosition(position: Position, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Modify the protection of a position - method `public TradeResult ModifyPosition(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ModifyPosition(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Modify the protection of a position - method `public TradeResult ModifyPosition(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ModifyPosition(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Modify the protection of a position - method `public TradeResult ModifyPosition(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPosition(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify the protection of a position - method `public TradeResult ModifyPosition(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPosition(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify the protection of a position - method `public TradeOperation ModifyPositionAsync(Position position, double volume, Action callback)` | py `api.ModifyPositionAsync(position: Position, volume: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, double? stopLoss, double? takeProfit, ProtectionType? protectionType, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, double? stopLoss, double? takeProfit, ProtectionType? protectionType, bool hasTrailingStop, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, bool hasTrailingStop, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, bool hasTrailingStop, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, double? stopLoss, double? takeProfit, ProtectionType? protectionType, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `protected internal void OnDestroy()` | py `api.OnDestroy() -> None` — Called when Indicator is destroyed. - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop)` | py `api.PlaceLimitOrder(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) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.PlaceLimitOrder(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) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(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) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(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) -> TradeResult` — Place a Limit Order - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, Action callback)` | py `api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, Action callback)` | py `api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, Action callback)` | py `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` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, Action callback)` | py `api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, Action callback)` | py `api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, Action callback)` | py `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` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, Action callback)` | py `api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven, Action callback)` | py `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` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, Action callback)` | py `api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven, Action callback)` | py `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` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, Action callback)` | py `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` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, Action callback)` | py `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` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven, Action callback)` | py `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` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, Action callback)` | py `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` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven, Action callback)` | py `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` — Place limit order in asynchronous execution mode - method `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 callback)` | py `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` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, Action callback)` | py `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` — Place limit order in asynchronous execution mode - method `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 callback)` | py `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` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, Action callback)` | py `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` — Place limit order in asynchronous execution mode - method `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 callback)` | py `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` — Place limit order in asynchronous execution mode - method `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 callback)` | py `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` — Place limit order in asynchronous execution mode - method `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 callback)` | py `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` — Place limit order in asynchronous execution mode - method `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 callback)` | py `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` — Place limit order in asynchronous execution mode - method `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 callback)` | py `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` — Place limit order in asynchronous execution mode - method `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 callback)` | py `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` — Place limit order in asynchronous execution mode - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str, hasTrailingStop: bool) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: 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` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop)` | py `api.PlaceStopOrder(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) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.PlaceStopOrder(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) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(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) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(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) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod)` | py `api.PlaceStopOrder(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, stopOrderTriggerMethod: StopTriggerMethod) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(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 callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(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 callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(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 callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, Action callback)` | py `api.PlaceStopOrderAsync(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, stopOrderTriggerMethod: StopTriggerMethod, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeResult ReversePosition(Position position)` | py `api.ReversePosition(position: Position) -> TradeResult` — Modify the direction of trade at position - method `public TradeResult ReversePosition(Position position, double volume)` | py `api.ReversePosition(position: Position, volume: float) -> TradeResult` — Modify the direction of trade and volume of a position - method `public TradeOperation ReversePositionAsync(Position position, Action callback)` | py `api.ReversePositionAsync(position: Position, callback: Callable[[TradeResult], None]) -> TradeOperation` — Reverses Position in asynchronous execution mode - method `public TradeOperation ReversePositionAsync(Position position, double volume, Action callback)` | py `api.ReversePositionAsync(position: Position, volume: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Reverses Position in asynchronous execution mode - method `protected void SetBarColor(IndicatorBarOutput barOutput, int barIndex, Color outlineColor)` | py `api.SetBarColor(barOutput: IndicatorBarOutput, barIndex: int, outlineColor: Color) -> None` — Sets appearance of an indicator bar output from startIndex to last index. [CLI not supported; Cloud not supported] - method `protected void SetBarColor(IndicatorBarOutput barOutput, int barIndex, Color outlineColor, Color fillColor)` | py `api.SetBarColor(barOutput: IndicatorBarOutput, barIndex: int, outlineColor: Color, fillColor: Color) -> None` — Sets appearance of an indicator bar output from startIndex to startIndex + count. [CLI not supported; Cloud not supported] - method `protected void SetBarColor(IndicatorBarOutput barOutput, int barIndex, Color outlineColor, Color fillColor, Color volumeColor)` | py `api.SetBarColor(barOutput: IndicatorBarOutput, barIndex: int, outlineColor: Color, fillColor: Color, volumeColor: Color) -> None` — Sets appearance of an indicator bar output from startIndex to last index. [CLI not supported; Cloud not supported] - method `protected void SetLineAppearance(IndicatorLineOutput lineOutput, int startIndex, Color color)` | py `api.SetLineAppearance(lineOutput: IndicatorLineOutput, startIndex: int, color: Color) -> None` — Sets appearance of an indicator line output from startIndex to last index. [CLI not supported; Cloud not supported] - method `protected void SetLineAppearance(IndicatorLineOutput lineOutput, int startIndex, Color color, int thickness)` | py `api.SetLineAppearance(lineOutput: IndicatorLineOutput, startIndex: int, color: Color, thickness: int) -> None` — Sets appearance of an indicator line output from startIndex to last index. [CLI not supported; Cloud not supported] - method `protected void SetLineAppearance(IndicatorLineOutput lineOutput, int startIndex, Color color, int thickness, LineStyle lineStyle)` | py `api.SetLineAppearance(lineOutput: IndicatorLineOutput, startIndex: int, color: Color, thickness: int, lineStyle: LineStyle) -> None` — Sets appearance of an indicator line output from startIndex to last index. [CLI not supported; Cloud not supported] - method `protected void SetLineAppearance(IndicatorLineOutput lineOutput, int startIndex, int count, Color color)` | py `api.SetLineAppearance(lineOutput: IndicatorLineOutput, startIndex: int, count: int, color: Color) -> None` — Sets appearance of an indicator line output from startIndex to startIndex + count. [CLI not supported; Cloud not supported] - method `protected void SetLineAppearance(IndicatorLineOutput lineOutput, int startIndex, int count, Color color, int thickness)` | py `api.SetLineAppearance(lineOutput: IndicatorLineOutput, startIndex: int, count: int, color: Color, thickness: int) -> None` — Sets appearance of an indicator line output from startIndex to startIndex + count. [CLI not supported; Cloud not supported] - method `protected void SetLineAppearance(IndicatorLineOutput lineOutput, int startIndex, int count, Color color, int thickness, LineStyle lineStyle)` | py `api.SetLineAppearance(lineOutput: IndicatorLineOutput, startIndex: int, count: int, color: Color, thickness: int, lineStyle: LineStyle) -> None` — Sets appearance of an indicator line output from startIndex to startIndex + count. [CLI not supported; Cloud not supported] - property `public IAccount Account {get;}` | py `api.Account: IAccount` — Contains information of the current account. - property `public IndicatorArea IndicatorArea {get;}` | py `api.IndicatorArea: IndicatorArea` — Defines the area where the indicator is placed. - property `public bool IsLastBar {get;}` | py `api.IsLastBar: bool` — Returns true, if Calculate is invoked for the last bar - property `public TradeResult LastResult {get;}` | py `api.LastResult: TradeResult` — The latest trade result - property `public Permissions Permissions {get;}` | py `api.Permissions: Permissions` — Contains all Permissions information ## interface cAlgo.API.IndicatorArea — Represents the area where the Indicator is placed. (https://help.ctrader.com/ctrader-algo/references/Chart/IndicatorArea/index.md) ## class cAlgo.API.IndicatorAreaAddedEventArgs — Provides data for the indicator area adding event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/IndicatorAreaAddedEventArgs/index.md) ## class cAlgo.API.IndicatorAreaEventArgs — The arguments for the indicator area event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/IndicatorAreaEventArgs/index.md) - property `public IndicatorArea Area {get;}` | py `indicatorAreaEventArgs.Area: IndicatorArea` — Gets the area. - property `public Chart Chart {get;}` | py `indicatorAreaEventArgs.Chart: Chart` — Gets the chart. ## class cAlgo.API.IndicatorAreaRemovedEventArgs — Provides data for the indicator area removing event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/IndicatorAreaRemovedEventArgs/index.md) ## class cAlgo.API.IndicatorAttribute — Indicator Attribute. Applies metadata to enable the indicator plot. (https://help.ctrader.com/ctrader-algo/references/Attributes/IndicatorAttribute/index.md) - constructor `public IndicatorAttribute()` | py `IndicatorAttribute()` — Initializes a new instance of the IndicatorAttribute - property `public AccessRights AccessRights {get; set;}` | py `indicatorAttribute.AccessRights: AccessRights` — Gets or sets the access rights required for Indicator. - property `public string AdditionalInfoUrl {get; set;}` | py `indicatorAttribute.AdditionalInfoUrl: str` — Gets or sets additional info url. - property `public bool AutoRescale {get; set;}` | py `indicatorAttribute.AutoRescale: bool` — Indicates whether this instance automatically rescales the chart or not. Default value is true. - property `public bool IsOverlay {get; set;}` | py `indicatorAttribute.IsOverlay: bool` — Indicates whether this instance is overlayed on the chart or plotted on a separate indicator panel - property `public bool IsPercentage {get; set;}` | py `indicatorAttribute.IsPercentage: bool` — Gets or sets whether the indicator is a percentage indicator. If one or more percentage indicators are added to the same panel, they will share the same scale. The default value is false . - property `public string Name {get;}` | py `indicatorAttribute.Name: str` — The name of the Indicator. - property `public int ScalePrecision {get; set;}` | py `indicatorAttribute.ScalePrecision: int` — The price scale precision. - property `public string TimeZone {get; set;}` | py `indicatorAttribute.TimeZone: str` — Gets or sets the chart timezone of the displayed indicator. ## interface cAlgo.API.IndicatorBarOutput — The interface representing an indicator bars output. Provides properties that allow for accessing various information about a bars output. (https://help.ctrader.com/ctrader-algo/references/Chart/Indicators/IndicatorBarOutput/index.md) - property `Color AreaChartFillColor {get; set;}` | py `indicatorBarOutput.AreaChartFillColor: Color` — Gets or sets the color of the area chart. - property `Color BearFillColor {get; set;}` | py `indicatorBarOutput.BearFillColor: Color` — Gets or sets the color of the bear candle fill. - property `Color BearOutlineColor {get; set;}` | py `indicatorBarOutput.BearOutlineColor: Color` — Gets or sets the color of the bear candle or bar outline. - property `Color BullFillColor {get; set;}` | py `indicatorBarOutput.BullFillColor: Color` — Gets or sets the color of the bull candle fill. - property `Color BullOutlineColor {get; set;}` | py `indicatorBarOutput.BullOutlineColor: Color` — Gets or sets the color of the bull candle or bar outline. - property `ChartType ChartType {get; set;}` | py `indicatorBarOutput.ChartType: ChartType` — Gets or sets the type of the chart - Bar, Candlesticks, Line or Dots chart. - property `Color DotChartColor {get; set;}` | py `indicatorBarOutput.DotChartColor: Color` — Gets or sets the color of the dot chart. - property `bool IsVisible {get; set;}` | py `indicatorBarOutput.IsVisible: bool` — Gets or sets the visibility of a line. - property `string Name {get;}` | py `indicatorBarOutput.Name: str` — Gets the name of a line. - property `Color TickVolumeColor {get; set;}` | py `indicatorBarOutput.TickVolumeColor: Color` — Gets or sets the color of the tick volume bars. ## interface cAlgo.API.IndicatorBars — The interface representing an indicator bars that are displayed as an output. (https://help.ctrader.com/ctrader-algo/references/Collections/DataSeries/IndicatorBars/index.md) - property `DataSeries ClosePrices {get;}` | py `indicatorBars.ClosePrices: DataSeries` — Gets the Close price bars data. - property `int Count {get;}` | py `indicatorBars.Count: int` — Gets the number of bars. - property `DataSeries HighPrices {get;}` | py `indicatorBars.HighPrices: DataSeries` — Gets the High price bars data. - property `OhlcvBar Item {get; set;}` | py `indicatorBars[index: int] -> OhlcvBar` — Gets or sets a bar based on it is index. - property `DataSeries LowPrices {get;}` | py `indicatorBars.LowPrices: DataSeries` — Gets the Low price bars data. - property `DataSeries OpenPrices {get;}` | py `indicatorBars.OpenPrices: DataSeries` — Gets the Open price bars data. - property `IndicatorBarOutput Output {get;}` | py `indicatorBars.Output: IndicatorBarOutput` — Gets the indicator output. - property `DataSeries TickVolumes {get;}` | py `indicatorBars.TickVolumes: DataSeries` — Gets the Tick volumes data. ## interface cAlgo.API.IndicatorDataSeries — Represents a mutable array of values. An extension of DataSeries used to represent indicator values. (https://help.ctrader.com/ctrader-algo/references/Collections/DataSeries/IndicatorDataSeries/index.md) - property `double Item {get; set;}` | py `indicatorDataSeries[index: int] -> float` — Gets or sets the value at the specified index. - property `IndicatorLineOutput LineOutput {get;}` | py `indicatorDataSeries.LineOutput: IndicatorLineOutput` — Gets the indicator line output. ## interface cAlgo.API.IndicatorLineOutput — The interface representing an indicator line. Provides properties that allow for accessing various information about a line. (https://help.ctrader.com/ctrader-algo/references/Chart/Indicators/IndicatorLineOutput/index.md) - property `Color Color {get; set;}` | py `indicatorLineOutput.Color: Color` — Gets or sets the Color of a line. - property `bool IsVisible {get; set;}` | py `indicatorLineOutput.IsVisible: bool` — Gets or sets the visibility of a line. - property `LineStyle LineStyle {get; set;}` | py `indicatorLineOutput.LineStyle: LineStyle` — Gets or sets the LineStyle of a line. - property `string Name {get;}` | py `indicatorLineOutput.Name: str` — Gets the name of a line. - property `PlotType PlotType {get;}` | py `indicatorLineOutput.PlotType: PlotType` — Gets the PlotType of a line. - property `bool StickToBottom {get; set;}` | py `indicatorLineOutput.StickToBottom: bool` — Gets or sets whether line should stick to bottom of it's panel or not similar to Tick Volume (Default: false). - property `float Thickness {get; set;}` | py `indicatorLineOutput.Thickness: float` — Gets or sets the thickness of a line. ## interface cAlgo.API.IndicatorType — Represents an indicator algorithm type. (https://help.ctrader.com/ctrader-algo/references/AlgoRegistry/IndicatorType/index.md) - property `IReadonlyList Bars {get;}` | py `indicatorType.Bars: IReadonlyList[IndicatorTypeBarOutput]` — Gets collection of indicator bar outputs. - property `IReadonlyList Lines {get;}` | py `indicatorType.Lines: IReadonlyList[IndicatorTypeLineOutput]` — Gets collection of indicator line outputs. - property `IReadonlyList Parameters {get;}` | py `indicatorType.Parameters: IReadonlyList[AlgoParameter]` — Gets collection of indicator parameters. ## interface cAlgo.API.IndicatorTypeBarOutput — Represents an indicator type bar output. (https://help.ctrader.com/ctrader-algo/references/AlgoRegistry/IndicatorTypeBarOutput/index.md) - property `Color DefaultAreaChartFillColor {get;}` | py `indicatorTypeBarOutput.DefaultAreaChartFillColor: Color` — Gets default color of the area chart. - property `Color DefaultBearFillColor {get;}` | py `indicatorTypeBarOutput.DefaultBearFillColor: Color` — Gets default bear fill color. - property `Color DefaultBearOutlineColor {get;}` | py `indicatorTypeBarOutput.DefaultBearOutlineColor: Color` — Gets default bear outline color. - property `Color DefaultBullFillColor {get;}` | py `indicatorTypeBarOutput.DefaultBullFillColor: Color` — Gets default bull fill color. - property `Color DefaultBullOutlineColor {get;}` | py `indicatorTypeBarOutput.DefaultBullOutlineColor: Color` — Gets default bull outline color. - property `ChartType DefaultChartType {get;}` | py `indicatorTypeBarOutput.DefaultChartType: ChartType` — Gets default chart type. - property `Color DefaultDotChartColor {get;}` | py `indicatorTypeBarOutput.DefaultDotChartColor: Color` — Gets default color of the dot chart. - property `Color DefaultTickVolumeColor {get;}` | py `indicatorTypeBarOutput.DefaultTickVolumeColor: Color` — Gets default tick volume color. - property `string Name {get;}` | py `indicatorTypeBarOutput.Name: str` — Gets output name. ## interface cAlgo.API.IndicatorTypeLineOutput — Represents an indicator type line output. (https://help.ctrader.com/ctrader-algo/references/AlgoRegistry/IndicatorTypeLineOutput/index.md) - property `Color DefaultColor {get;}` | py `indicatorTypeLineOutput.DefaultColor: Color` — Gets default color. - property `LineStyle DefaultLineStyle {get;}` | py `indicatorTypeLineOutput.DefaultLineStyle: LineStyle` — Gets default line style. - property `PlotType DefaultPlotType {get;}` | py `indicatorTypeLineOutput.DefaultPlotType: PlotType` — Gets the PlotType . - property `float DefaultThickness {get;}` | py `indicatorTypeLineOutput.DefaultThickness: float` — Gets default thickness. - property `string Name {get;}` | py `indicatorTypeLineOutput.Name: str` — Gets output name. ## enum cAlgo.API.InstallationError — Represents the predefined algo installation errors. (https://help.ctrader.com/ctrader-algo/references/AlgoRegistry/InstallationError/index.md) - enum value `InstallationError.Forbidden;` | py `InstallationError.Forbidden` — Installation error due to lack of permission by user. - enum value `InstallationError.InvalidFile;` | py `InstallationError.InvalidFile` — Installation error due to algo file being invalid. - enum value `InstallationError.FileNotFound;` | py `InstallationError.FileNotFound` — Installation error due to algo file not found in provided path (Only for file path based installations). - enum value `InstallationError.DownloadError;` | py `InstallationError.DownloadError` — Installation error due to algo file downloading error (Only for URI based installations). - enum value `InstallationError.Canceled;` | py `InstallationError.Canceled` — When user cancels installation dialog. - enum value `InstallationError.Unknown;` | py `InstallationError.Unknown` — Unknown or unrecognized error. ## class cAlgo.API.InstallationOperation — Provides access to the properties describing an asynchronous algo installation operation. (https://help.ctrader.com/ctrader-algo/references/AlgoRegistry/InstallationOperation/index.md) - property `public bool IsExecuting {get;}` | py `installationOperation.IsExecuting: bool` — True if installation operation is being executed, false if it completed. - property `public InstallationResult Result {get;}` | py `installationOperation.Result: InstallationResult` — The result of installation operation. ## interface cAlgo.API.InstallationPermission — Algo Installation Permission (https://help.ctrader.com/ctrader-algo/references/Permissions/InstallationPermission/index.md) ## class cAlgo.API.InstallationResult — The result of an algo installation. (https://help.ctrader.com/ctrader-algo/references/AlgoRegistry/InstallationResult/index.md) - property `public InstallationError? Error {get;}` | py `installationResult.Error: InstallationError | None` — Returns algo installation error if algo installation failed otherwise null. - property `public bool Succeeded {get;}` | py `installationResult.Succeeded: bool` — Returns True if algo installation succeeded otherwise false. ## interface cAlgo.API.Indicators.KaufmanAdaptiveMovingAverage — The Kaufman's Adaptive Moving Average (KAMA) indicator is a type of adaptive moving average designed to adjust its smoothing factor based on market volatility (https://help.ctrader.com/ctrader-algo/references/Indicators/KaufmanAdaptiveMovingAverage/index.md) ## interface cAlgo.API.Indicators.KeltnerChannels — The Keltner Channels are volatility-based envelopes set above and below an exponential moving average. (https://help.ctrader.com/ctrader-algo/references/Indicators/KeltnerChannels/index.md) - property `IndicatorDataSeries Bottom {get;}` | py `keltnerChannels.Bottom: IndicatorDataSeries` — Moving Average - ATR * BandDistance - property `IndicatorDataSeries Main {get;}` | py `keltnerChannels.Main: IndicatorDataSeries` — Moving Average Line - property `IndicatorDataSeries Top {get;}` | py `keltnerChannels.Top: IndicatorDataSeries` — Moving Average + ATR * BandDistance ## enum cAlgo.API.Key — Specifies the possible key values on a keyboard. (https://help.ctrader.com/ctrader-algo/references/Utility/Key/index.md) - enum value `Key.None;` | py `Key.None` — No key pressed. - enum value `Key.Cancel;` | py `Key.Cancel` — The Cancel key. - enum value `Key.Back;` | py `Key.Back` — The Backspace key. - enum value `Key.Tab;` | py `Key.Tab` — The Tab key. - enum value `Key.LineFeed;` | py `Key.LineFeed` — The Linefeed key. - enum value `Key.Clear;` | py `Key.Clear` — The Clear key. - enum value `Key.Enter;` | py `Key.Enter` — The Enter key. - enum value `Key.Pause;` | py `Key.Pause` — The Pause key. - enum value `Key.CapsLock;` | py `Key.CapsLock` — The Caps Lock key. - enum value `Key.KanaMode;` | py `Key.KanaMode` — The IME Kana mode key. - enum value `Key.JunjaMode;` | py `Key.JunjaMode` — The IME Junja mode key. - enum value `Key.FinalMode;` | py `Key.FinalMode` — The IME Final mode key. - enum value `Key.HanjaMode;` | py `Key.HanjaMode` — The IME Hanja mode key. - enum value `Key.Escape;` | py `Key.Escape` — The ESC key. - enum value `Key.ImeConvert;` | py `Key.ImeConvert` — The IME Convert key. - enum value `Key.ImeNonConvert;` | py `Key.ImeNonConvert` — The IME NonConvert key. - enum value `Key.ImeAccept;` | py `Key.ImeAccept` — The IME Accept key. - enum value `Key.ImeModeChange;` | py `Key.ImeModeChange` — The IME Mode change request. - enum value `Key.Space;` | py `Key.Space` — The Spacebar key. - enum value `Key.PageUp;` | py `Key.PageUp` — The Page Up key. - enum value `Key.PageDown;` | py `Key.PageDown` — The Page Down key. - enum value `Key.End;` | py `Key.End` — The End key. - enum value `Key.Home;` | py `Key.Home` — The Home key. - enum value `Key.Left;` | py `Key.Left` — The Left Arrow key. - enum value `Key.Up;` | py `Key.Up` — The Up Arrow key. - enum value `Key.Right;` | py `Key.Right` — The Right Arrow key. - enum value `Key.Down;` | py `Key.Down` — The Down Arrow key. - enum value `Key.Select;` | py `Key.Select` — The Select key. - enum value `Key.Print;` | py `Key.Print` — The Print key. - enum value `Key.Execute;` | py `Key.Execute` — The Execute key. - enum value `Key.PrintScreen;` | py `Key.PrintScreen` — The Print Screen key. - enum value `Key.Insert;` | py `Key.Insert` — The Insert key. - enum value `Key.Delete;` | py `Key.Delete` — The Delete key. - enum value `Key.Help;` | py `Key.Help` — The Help key. - enum value `Key.D0;` | py `Key.D0` — The 0 (zero) key. - enum value `Key.D1;` | py `Key.D1` — The 1 (one) key. - enum value `Key.D2;` | py `Key.D2` — The 2 key. - enum value `Key.D3;` | py `Key.D3` — The 3 key. - enum value `Key.D4;` | py `Key.D4` — The 4 key. - enum value `Key.D5;` | py `Key.D5` — The 5 key. - enum value `Key.D6;` | py `Key.D6` — The 6 key. - enum value `Key.D7;` | py `Key.D7` — The 7 key. - enum value `Key.D8;` | py `Key.D8` — The 8 key. - enum value `Key.D9;` | py `Key.D9` — The 9 key. - enum value `Key.A;` | py `Key.A` — The A key. - enum value `Key.B;` | py `Key.B` — The B key. - enum value `Key.C;` | py `Key.C` — The C key. - enum value `Key.D;` | py `Key.D` — The D key. - enum value `Key.E;` | py `Key.E` — The E key. - enum value `Key.F;` | py `Key.F` — The F key. - enum value `Key.G;` | py `Key.G` — The G key. - enum value `Key.H;` | py `Key.H` — The H key. - enum value `Key.I;` | py `Key.I` — The I key. - enum value `Key.J;` | py `Key.J` — The J key. - enum value `Key.K;` | py `Key.K` — The K key. - enum value `Key.L;` | py `Key.L` — The L key. - enum value `Key.M;` | py `Key.M` — The M key. - enum value `Key.N;` | py `Key.N` — The N key. - enum value `Key.O;` | py `Key.O` — The O key. - enum value `Key.P;` | py `Key.P` — The P key. - enum value `Key.Q;` | py `Key.Q` — The Q key. - enum value `Key.R;` | py `Key.R` — The R key. - enum value `Key.S;` | py `Key.S` — The S key. - enum value `Key.T;` | py `Key.T` — The T key. - enum value `Key.U;` | py `Key.U` — The U key. - enum value `Key.V;` | py `Key.V` — The V key. - enum value `Key.W;` | py `Key.W` — The W key. - enum value `Key.X;` | py `Key.X` — The X key. - enum value `Key.Y;` | py `Key.Y` — The Y key. - enum value `Key.Z;` | py `Key.Z` — The Z key. - enum value `Key.LWin;` | py `Key.LWin` — The left Windows logo key (Microsoft Natural Keyboard). - enum value `Key.RWin;` | py `Key.RWin` — The right Windows logo key (Microsoft Natural Keyboard). - enum value `Key.Apps;` | py `Key.Apps` — The Application key (Microsoft Natural Keyboard). - enum value `Key.Sleep;` | py `Key.Sleep` — The Computer Sleep key. - enum value `Key.NumPad0;` | py `Key.NumPad0` — The 0 key on the numeric keypad. - enum value `Key.NumPad1;` | py `Key.NumPad1` — The 1 key on the numeric keypad. - enum value `Key.NumPad2;` | py `Key.NumPad2` — The 2 key on the numeric keypad. - enum value `Key.NumPad3;` | py `Key.NumPad3` — The 3 key on the numeric keypad. - enum value `Key.NumPad4;` | py `Key.NumPad4` — The 4 key on the numeric keypad. - enum value `Key.NumPad5;` | py `Key.NumPad5` — The 5 key on the numeric keypad. - enum value `Key.NumPad6;` | py `Key.NumPad6` — The 6 key on the numeric keypad. - enum value `Key.NumPad7;` | py `Key.NumPad7` — The 7 key on the numeric keypad. - enum value `Key.NumPad8;` | py `Key.NumPad8` — The 8 key on the numeric keypad. - enum value `Key.NumPad9;` | py `Key.NumPad9` — The 9 key on the numeric keypad. - enum value `Key.Multiply;` | py `Key.Multiply` — The Multiply key. - enum value `Key.Add;` | py `Key.Add` — The Add key. - enum value `Key.Separator;` | py `Key.Separator` — The Separator key. - enum value `Key.Subtract;` | py `Key.Subtract` — The Subtract key. - enum value `Key.Decimal;` | py `Key.Decimal` — The Decimal key. - enum value `Key.Divide;` | py `Key.Divide` — The Divide key. - enum value `Key.F1;` | py `Key.F1` — The F1 key. - enum value `Key.F2;` | py `Key.F2` — The F2 key. - enum value `Key.F3;` | py `Key.F3` — The F3 key. - enum value `Key.F4;` | py `Key.F4` — The F4 key. - enum value `Key.F5;` | py `Key.F5` — The F5 key. - enum value `Key.F6;` | py `Key.F6` — The F6 key. - enum value `Key.F7;` | py `Key.F7` — The F7 key. - enum value `Key.F8;` | py `Key.F8` — The F8 key. - enum value `Key.F9;` | py `Key.F9` — The F9 key. - enum value `Key.F10;` | py `Key.F10` — The F10 key. - enum value `Key.F11;` | py `Key.F11` — The F11 key. - enum value `Key.F12;` | py `Key.F12` — The F12 key. - enum value `Key.F13;` | py `Key.F13` — The F13 key. - enum value `Key.F14;` | py `Key.F14` — The F14 key. - enum value `Key.F15;` | py `Key.F15` — The F15 key. - enum value `Key.F16;` | py `Key.F16` — The F16 key. - enum value `Key.F17;` | py `Key.F17` — The F17 key. - enum value `Key.F18;` | py `Key.F18` — The F18 key. - enum value `Key.F19;` | py `Key.F19` — The F19 key. - enum value `Key.F20;` | py `Key.F20` — The F20 key. - enum value `Key.F21;` | py `Key.F21` — The F21 key. - enum value `Key.F22;` | py `Key.F22` — The F22 key. - enum value `Key.F23;` | py `Key.F23` — The F23 key. - enum value `Key.F24;` | py `Key.F24` — The F24 key. - enum value `Key.NumLock;` | py `Key.NumLock` — The Num Lock key. - enum value `Key.Scroll;` | py `Key.Scroll` — The Scroll Lock key. - enum value `Key.LeftShift;` | py `Key.LeftShift` — The left Shift key. - enum value `Key.RightShift;` | py `Key.RightShift` — The right Shift key. - enum value `Key.LeftCtrl;` | py `Key.LeftCtrl` — The left CTRL key. - enum value `Key.RightCtrl;` | py `Key.RightCtrl` — The right CTRL key. - enum value `Key.LeftAlt;` | py `Key.LeftAlt` — The left ALT key. - enum value `Key.RightAlt;` | py `Key.RightAlt` — The right ALT key. - enum value `Key.BrowserBack;` | py `Key.BrowserBack` — The Browser Back key. - enum value `Key.BrowserForward;` | py `Key.BrowserForward` — The Browser Forward key. - enum value `Key.BrowserRefresh;` | py `Key.BrowserRefresh` — The Browser Refresh key. - enum value `Key.BrowserStop;` | py `Key.BrowserStop` — The Browser Stop key. - enum value `Key.BrowserSearch;` | py `Key.BrowserSearch` — The Browser Search key. - enum value `Key.BrowserFavorites;` | py `Key.BrowserFavorites` — The Browser Favorites key. - enum value `Key.BrowserHome;` | py `Key.BrowserHome` — The Browser Home key. - enum value `Key.VolumeMute;` | py `Key.VolumeMute` — The Volume Mute key. - enum value `Key.VolumeDown;` | py `Key.VolumeDown` — The Volume Down key. - enum value `Key.VolumeUp;` | py `Key.VolumeUp` — The Volume Up key. - enum value `Key.MediaNextTrack;` | py `Key.MediaNextTrack` — The Media Next Track key. - enum value `Key.MediaPreviousTrack;` | py `Key.MediaPreviousTrack` — The Media Previous Track key. - enum value `Key.MediaStop;` | py `Key.MediaStop` — The Media Stop key. - enum value `Key.MediaPlayPause;` | py `Key.MediaPlayPause` — The Media Play Pause key. - enum value `Key.LaunchMail;` | py `Key.LaunchMail` — The Launch Mail key. - enum value `Key.SelectMedia;` | py `Key.SelectMedia` — The Select Media key. - enum value `Key.LaunchApplication1;` | py `Key.LaunchApplication1` — The Launch Application1 key. - enum value `Key.LaunchApplication2;` | py `Key.LaunchApplication2` — The Launch Application2 key. - enum value `Key.Oem1;` | py `Key.Oem1` — The OEM 1 key. - enum value `Key.OemPlus;` | py `Key.OemPlus` — The OEM Addition key. - enum value `Key.OemComma;` | py `Key.OemComma` — The OEM Comma key. - enum value `Key.OemMinus;` | py `Key.OemMinus` — The OEM Minus key. - enum value `Key.OemPeriod;` | py `Key.OemPeriod` — The OEM Period key. - enum value `Key.Oem2;` | py `Key.Oem2` — The OEM 2 key. - enum value `Key.Oem3;` | py `Key.Oem3` — The OEM 3 key. - enum value `Key.AbntC1;` | py `Key.AbntC1` — The ABNT_C1 (Brazilian) key. - enum value `Key.AbntC2;` | py `Key.AbntC2` — The ABNT_C2 (Brazilian) key. - enum value `Key.Oem4;` | py `Key.Oem4` — The OEM 4 key. - enum value `Key.Oem5;` | py `Key.Oem5` — The OEM 5 key. - enum value `Key.Oem6;` | py `Key.Oem6` — The OEM 6 key. - enum value `Key.Oem7;` | py `Key.Oem7` — The OEM 7 key. - enum value `Key.Oem8;` | py `Key.Oem8` — The OEM 8 key. - enum value `Key.Oem102;` | py `Key.Oem102` — The OEM 102 key. - enum value `Key.ImeProcessed;` | py `Key.ImeProcessed` — A special key masking the real key being processed by an IME. - enum value `Key.System;` | py `Key.System` — A special key masking the real key being processed as a system key. - enum value `Key.OemAttn;` | py `Key.OemAttn` — The OEM ATTN key. - enum value `Key.OemFinish;` | py `Key.OemFinish` — The OEM FINISH key. - enum value `Key.OemCopy;` | py `Key.OemCopy` — The OEM COPY key. - enum value `Key.OemAuto;` | py `Key.OemAuto` — The OEM AUTO key. - enum value `Key.OemEnlw;` | py `Key.OemEnlw` — The OEM ENLW key. - enum value `Key.OemBackTab;` | py `Key.OemBackTab` — The OEM BACKTAB key. - enum value `Key.Attn;` | py `Key.Attn` — The ATTN key. - enum value `Key.CrSel;` | py `Key.CrSel` — The CRSEL key. - enum value `Key.ExSel;` | py `Key.ExSel` — The EXSEL key. - enum value `Key.EraseEof;` | py `Key.EraseEof` — The ERASE EOF key. - enum value `Key.Play;` | py `Key.Play` — The PLAY key. - enum value `Key.Zoom;` | py `Key.Zoom` — The ZOOM key. - enum value `Key.NoName;` | py `Key.NoName` — A constant reserved for future use. - enum value `Key.Pa1;` | py `Key.Pa1` — The PA1 key. - enum value `Key.OemClear;` | py `Key.OemClear` — The OEM Clear key. - enum value `Key.DeadCharProcessed;` | py `Key.DeadCharProcessed` — The key is used with another key to create a single combined character. ## interface cAlgo.API.Language — Represents the application language. (https://help.ctrader.com/ctrader-algo/references/Application/Language/index.md) - property `string CultureName {get;}` | py `language.CultureName: str` — Gets the culture name of the language. - property `string TwoLetterCode {get;}` | py `language.TwoLetterCode: str` — Gets the two-letter code of the language. ## class cAlgo.API.LanguageChangedEventArgs — Provides data for the language changed event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/LanguageChangedEventArgs/index.md) - property `public Language Language {get;}` | py `languageChangedEventArgs.Language: Language` — Gets the language. ## class cAlgo.API.LevelsAttribute — Levels Attribute. Applies metadata to enable the plot of level lines. (https://help.ctrader.com/ctrader-algo/references/Attributes/LevelsAttribute/index.md) - constructor `public LevelsAttribute(double[] levels)` | py `LevelsAttribute(levels: list[float])` — Initializes a new LevelsAttribute instance - property `public double[] Levels {get; set;}` | py `levelsAttribute.Levels: list[float]` — The array of price values that are ploted as level lines ## interface cAlgo.API.Internals.LeverageTier — Tier of dynamic leverage. (https://help.ctrader.com/ctrader-algo/references/MarketData/Symbols/LeverageTier/index.md) - property `double Leverage {get;}` | py `leverageTier.Leverage: float` — Leverage of dynamic leverage tier. - property `double Volume {get;}` | py `leverageTier.Volume: float` — Volume of dynamic leverage tier. ## class cAlgo.API.Line — Represents the line shape. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/Layout/Shapes/Line/index.md) - constructor `public Line()` | py `Line()` — Initializes a new instance of the Line class. [CLI not supported; Cloud not supported] - property `public double X1 {get; set;}` | py `line.X1: float` — Gets or sets x-axis point 1 data. [CLI not supported; Cloud not supported] - property `public double X2 {get; set;}` | py `line.X2: float` — Gets or sets the x-axis point 2 data. [CLI not supported; Cloud not supported] - property `public double Y1 {get; set;}` | py `line.Y1: float` — Gets or sets the y-axis point 2 data. [CLI not supported; Cloud not supported] - property `public double Y2 {get; set;}` | py `line.Y2: float` — Gets or sets the y-axis point 2 data. [CLI not supported; Cloud not supported] ## enum cAlgo.API.LineStackingStrategy — Describes a mechanism by which a line box is determined for each line. (https://help.ctrader.com/ctrader-algo/references/Controls/LineStackingStrategy/index.md) - enum value `LineStackingStrategy.BlockLineHeight;` | py `LineStackingStrategy.BlockLineHeight` — The stack height is determined by the block element line-height property value. - enum value `LineStackingStrategy.MaxHeight;` | py `LineStackingStrategy.MaxHeight` — The stack height is the smallest value that containing all the inline elements on that line when those elements are properly aligned. ## enum cAlgo.API.LineStyle — An enumeration of different stroke styles used to render lines. (https://help.ctrader.com/ctrader-algo/references/Chart/LineStyle/index.md) - enum value `LineStyle.Solid;` | py `LineStyle.Solid` — A solid line: ----- - enum value `LineStyle.Dots;` | py `LineStyle.Dots` — A dotted line: ..... - enum value `LineStyle.DotsRare;` | py `LineStyle.DotsRare` — A dotted line, large gap between dots: . . . . - enum value `LineStyle.DotsVeryRare;` | py `LineStyle.DotsVeryRare` — A dotted line, extra large gap between dots: . . . . - enum value `LineStyle.LinesDots;` | py `LineStyle.LinesDots` — A mixed line / dot style is used to render the line: - . - . - . - enum value `LineStyle.Lines;` | py `LineStyle.Lines` — Lines with gaps are used to render the line: - - - - ## interface cAlgo.API.Indicators.LinearRegressionForecast — Linear Regression Forecast is one of the indicators calculated by the Linear Regression approach. (https://help.ctrader.com/ctrader-algo/references/Indicators/LinearRegressionForecast/index.md) - property `IndicatorDataSeries Result {get;}` | py `linearRegressionForecast.Result: IndicatorDataSeries` — The Result Series of the Linear Regression Forecast Indicator ## interface cAlgo.API.Indicators.LinearRegressionIntercept — Linear Regression Intercept is one of the indicators calculated by the Linear Regression approach. (https://help.ctrader.com/ctrader-algo/references/Indicators/LinearRegressionIntercept/index.md) - property `IndicatorDataSeries Result {get;}` | py `linearRegressionIntercept.Result: IndicatorDataSeries` — The Result Series of the Linear Regression Intercept Indicator ## interface cAlgo.API.Indicators.LinearRegressionRSquared — The Linear Regression R Squared is used to confirm the strength of the market trend. (https://help.ctrader.com/ctrader-algo/references/Indicators/LinearRegressionRSquared/index.md) - property `IndicatorDataSeries Result {get;}` | py `linearRegressionRSquared.Result: IndicatorDataSeries` — The Result Series of the Linear Regression R Squared indicator. ## interface cAlgo.API.Indicators.LinearRegressionSlope — The calculation of the Linear Regression Slope Indicator. (https://help.ctrader.com/ctrader-algo/references/Indicators/LinearRegressionSlope/index.md) - property `IndicatorDataSeries Result {get;}` | py `linearRegressionSlope.Result: IndicatorDataSeries` — The resulting time series of the calculation of the Linear Regression Slope indicator. ## enum cAlgo.API.LinkedChartGroup — Represents the predefined chart linked groups. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Chart/LinkedChartGroup/index.md) - enum value `LinkedChartGroup.None;` | py `LinkedChartGroup.None` — No Group. [CLI not supported; Cloud not supported] - enum value `LinkedChartGroup.A;` | py `LinkedChartGroup.A` — A Group. [CLI not supported; Cloud not supported] - enum value `LinkedChartGroup.B;` | py `LinkedChartGroup.B` — B Group. [CLI not supported; Cloud not supported] - enum value `LinkedChartGroup.C;` | py `LinkedChartGroup.C` — C Group. [CLI not supported; Cloud not supported] - enum value `LinkedChartGroup.D;` | py `LinkedChartGroup.D` — D Group. [CLI not supported; Cloud not supported] - enum value `LinkedChartGroup.E;` | py `LinkedChartGroup.E` — E Group. [CLI not supported; Cloud not supported] - enum value `LinkedChartGroup.F;` | py `LinkedChartGroup.F` — F Group. [CLI not supported; Cloud not supported] - enum value `LinkedChartGroup.G;` | py `LinkedChartGroup.G` — G Group. [CLI not supported; Cloud not supported] - enum value `LinkedChartGroup.H;` | py `LinkedChartGroup.H` — H Group. [CLI not supported; Cloud not supported] ## interface cAlgo.API.LocalStorage — Represents the local storage API. [Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Localstorage/LocalStorage/index.md) - method `void Flush(LocalStorageScope localStorageScope)` | py `api.LocalStorage.Flush(localStorageScope: LocalStorageScope) -> None` — Saves all data to the disk. When using local storage, data is automatically saved every minute. Use this method if you want to save data without delays. [Cloud not supported] - method `T GetObject(string key)` | py `api.LocalStorage.GetObject(key: str) -> T` — Gets an object from local storage. This method will search all available scopes (Instance -> Type -> Device) and stops on first found value. [Cloud works differently] - method `T GetObject(string key, LocalStorageScope localStorageScope)` | py `api.LocalStorage.GetObject(key: str, localStorageScope: LocalStorageScope) -> T` — Gets an object from local storage. [Cloud works differently] - method `string GetString(string key)` | py `api.LocalStorage.GetString(key: str) -> str` — Gets a string value from local storage. This method will search all available scopes (Instance -> Type -> Device) and stops on first found value. [Cloud works differently] - method `string GetString(string key, LocalStorageScope localStorageScope)` | py `api.LocalStorage.GetString(key: str, localStorageScope: LocalStorageScope) -> str` — Gets a string value from local storage. [Cloud works differently] - method `void Reload(LocalStorageScope localStorageScope)` | py `api.LocalStorage.Reload(localStorageScope: LocalStorageScope) -> None` — Reloads all values from the disk. When calling this method, unsaved pending changes may be lost. To avoid losing information, call the Flush() method first. [Cloud not supported] - method `void Remove(string key)` | py `api.LocalStorage.Remove(key: str) -> None` — Removes an element from local storage. This method will search all available scopes (Instance -> Type -> Device) and stops on first found value. [Cloud works differently] - method `void Remove(string key, LocalStorageScope localStorageScope)` | py `api.LocalStorage.Remove(key: str, localStorageScope: LocalStorageScope) -> None` — Removes an element from local storage. [Cloud works differently] - method `void SetObject(string key, object obj)` | py `api.LocalStorage.SetObject(key: str, obj: object) -> None` — Saves an object to local storage. The storage scope is LocalStorageScope.Instance. [Cloud works differently] - method `void SetObject(string key, object obj, LocalStorageScope localStorageScope)` | py `api.LocalStorage.SetObject(key: str, obj: object, localStorageScope: LocalStorageScope) -> None` — Saves an object to local storage. [Cloud works differently] - method `void SetString(string key, string value)` | py `api.LocalStorage.SetString(key: str, value: str) -> None` — Saves a string value to local storage. The storage scope is LocalStorageScope.Instance. [Cloud works differently] - method `void SetString(string key, string value, LocalStorageScope localStorageScope)` | py `api.LocalStorage.SetString(key: str, value: str, localStorageScope: LocalStorageScope) -> None` — Saves a string value to local storage. [Cloud works differently] ## class cAlgo.API.LocalStorageException — Represents errors that occur during local storage operations. This exception will be passed to cBot / indicator OnException method. (https://help.ctrader.com/ctrader-algo/references/Localstorage/LocalStorageException/index.md) ## enum cAlgo.API.LocalStorageScope — Defines the local storage scope. (https://help.ctrader.com/ctrader-algo/references/Localstorage/LocalStorageScope/index.md) - enum value `LocalStorageScope.Instance;` | py `LocalStorageScope.Instance` — The value is stored and can be accessed only by a specific running instance of a cBot/Indicator. - enum value `LocalStorageScope.Type;` | py `LocalStorageScope.Type` — The value is stored and can be accessed by all running instances of one or more cBot(s)/Indicator(s). - enum value `LocalStorageScope.Device;` | py `LocalStorageScope.Device` — The value is stored and can be accessed by all running instances of a cBots/Indicators on this device. ## interface cAlgo.API.Indicators.MacdCrossOver — Calculates the MACD (Moving Average Convergence/Divergence) indicator. (https://help.ctrader.com/ctrader-algo/references/Indicators/MacdCrossOver/index.md) - property `IndicatorDataSeries Histogram {get;}` | py `macdCrossOver.Histogram: IndicatorDataSeries` — Gets the Histogram (bar graph). - property `IndicatorDataSeries MACD {get;}` | py `macdCrossOver.MACD: IndicatorDataSeries` — Gets the main MACD line (blue line). - property `IndicatorDataSeries Signal {get;}` | py `macdCrossOver.Signal: IndicatorDataSeries` — Gets the Signal line of MACD (red line). ## interface cAlgo.API.Indicators.MacdHistogram — The calculation of the MACD Histogram. (https://help.ctrader.com/ctrader-algo/references/Indicators/MacdHistogram/index.md) - property `IndicatorDataSeries Histogram {get;}` | py `macdHistogram.Histogram: IndicatorDataSeries` — The histogram (bar graph). The difference between the short and long cycles. - property `IndicatorDataSeries Signal {get;}` | py `macdHistogram.Signal: IndicatorDataSeries` — The signal (red line). The exponential moving average of the MACD histogram. ## interface cAlgo.API.Indicators.MacdOscillatorMovingAverage — The calculation of the Oscillator of a Moving Average over MACD. (https://help.ctrader.com/ctrader-algo/references/Indicators/MacdOscillatorMovingAverage/index.md) ## interface cAlgo.API.MainMenu — Provides plugins access to main menu API. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/MainMenu/MainMenu/index.md) - method `MainMenuBottomCustomItem AddBottomItem(string name, SvgIcon icon)` | py `api.MainMenu.AddBottomItem(name: str, icon: SvgIcon) -> MainMenuBottomCustomItem` — Adds a new bottom custom item to main menu. [CLI not supported; Cloud not supported] - method `MainMenuOwnCustomItem AddItem(string name, SvgIcon icon)` | py `api.MainMenu.AddItem(name: str, icon: SvgIcon) -> MainMenuOwnCustomItem` — Adds a new custom item to main menu. [CLI not supported; Cloud not supported] - method `bool ContainsBottomItem(string name)` | py `api.MainMenu.ContainsBottomItem(name: str) -> bool` — Allows checking if a bottom custom item exist with passed name or not. [CLI not supported; Cloud not supported] - method `bool ContainsItem(string name)` | py `api.MainMenu.ContainsItem(name: str) -> bool` — Allows checking if a custom item exist with passed name or not. [CLI not supported; Cloud not supported] - method `MainMenuBuiltInItem GetBuiltInItem(MainMenuBuiltInItemType type)` | py `api.MainMenu.GetBuiltInItem(type: MainMenuBuiltInItemType) -> MainMenuBuiltInItem | None` — Returns a built-in item by type. [CLI not supported; Cloud not supported] - method `bool RemoveBottomItem(MainMenuBottomCustomItem item)` | py `api.MainMenu.RemoveBottomItem(item: MainMenuBottomCustomItem) -> bool` — Removes a previously added bottom item from main menu. [CLI not supported; Cloud not supported] - method `bool RemoveItem(MainMenuOwnCustomItem item)` | py `api.MainMenu.RemoveItem(item: MainMenuOwnCustomItem) -> bool` — Removes a previously added custom item from main menu. [CLI not supported; Cloud not supported] - method `bool TryChangeSelectedItem(MainMenuBuiltInItem builtInItem)` | py `api.MainMenu.TryChangeSelectedItem(builtInItem: MainMenuBuiltInItem) -> bool` — Tries to change selected item to passed built-in item. [CLI not supported; Cloud not supported] - method `bool TryChangeSelectedItem(MainMenuOwnCustomItem customItem)` | py `api.MainMenu.TryChangeSelectedItem(customItem: MainMenuOwnCustomItem) -> bool` — Tries to change selected item to passed custom item. [CLI not supported; Cloud not supported] - property `IReadonlyList BuiltInItems {get;}` | py `api.MainMenu.BuiltInItems: IReadonlyList[MainMenuBuiltInItem]` — Gets a collection of built-in items. [CLI not supported; Cloud not supported] - property `bool IsExpanded {get; set;}` | py `api.MainMenu.IsExpanded: bool` — Gets or sets main menu expanded state. [CLI not supported; Cloud not supported] - property `MainMenuItem SelectedItem {get;}` | py `api.MainMenu.SelectedItem: MainMenuItem` — Gets or sets main menu selected item. [CLI not supported; Cloud not supported] - event `event Action SelectedItemChanged;` | py `api.MainMenu.SelectedItemChanged += handler # handler(obj: MainMenuSelectedItemChangedEventArgs)` — Occurs when main menu selected item changes. [CLI not supported; Cloud not supported] ## interface cAlgo.API.MainMenuBottomCustomItem — Represents a bottom custom item in main menu. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/MainMenu/MainMenuBottomCustomItem/index.md) - property `Action Handler {get; set;}` | py `mainMenuBottomCustomItem.Handler: Action` — Get / set handler of bottom item. [CLI not supported; Cloud not supported] - property `string Name {get;}` | py `mainMenuBottomCustomItem.Name: str` — Gets name of item. [CLI not supported; Cloud not supported] ## interface cAlgo.API.MainMenuBottomItem — Represents a bottom item in main menu. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/MainMenu/MainMenuBottomItem/index.md) ## interface cAlgo.API.MainMenuBuiltInItem — Represents a built-in item in main menu. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/MainMenu/MainMenuBuiltInItem/index.md) - property `MainMenuBuiltInItemType Type {get;}` | py `mainMenuBuiltInItem.Type: MainMenuBuiltInItemType` — Gets type of built-in item. [CLI not supported; Cloud not supported] ## enum cAlgo.API.MainMenuBuiltInItemType — Represents main menu section built-in item types. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/MainMenu/MainMenuBuiltInItemType/index.md) - enum value `MainMenuBuiltInItemType.Trade;` | py `MainMenuBuiltInItemType.Trade` — Trade [CLI not supported; Cloud not supported] - enum value `MainMenuBuiltInItemType.Copy;` | py `MainMenuBuiltInItemType.Copy` — Copy [CLI not supported; Cloud not supported] - enum value `MainMenuBuiltInItemType.Algo;` | py `MainMenuBuiltInItemType.Algo` — Algo [CLI not supported; Cloud not supported] - enum value `MainMenuBuiltInItemType.Analyze;` | py `MainMenuBuiltInItemType.Analyze` — Analyze [CLI not supported; Cloud not supported] - enum value `MainMenuBuiltInItemType.Invite;` | py `MainMenuBuiltInItemType.Invite` — Invite [CLI not supported; Cloud not supported] ## interface cAlgo.API.MainMenuCustomItem — Represents a custom item in main menu. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/MainMenu/MainMenuCustomItem/index.md) - property `string Name {get;}` | py `mainMenuCustomItem.Name: str` — Gets name of item. [CLI not supported; Cloud not supported] ## interface cAlgo.API.MainMenuItem — Represents a item in main menu. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/MainMenu/MainMenuItem/index.md) ## interface cAlgo.API.MainMenuOwnCustomItem — Represents a custom item in main menu which is owned / added by plugin. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/MainMenu/MainMenuOwnCustomItem/index.md) - property `ControlBase Child {get; set;}` | py `mainMenuOwnCustomItem.Child: ControlBase` — Get / set content of item. [CLI not supported; Cloud not supported] ## class cAlgo.API.MainMenuSelectedItemChangedEventArgs — Provides data for the main menu selected item changed event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/MainMenuSelectedItemChangedEventArgs/index.md) - property `public MainMenuItem NewItem {get;}` | py `mainMenuSelectedItemChangedEventArgs.NewItem: MainMenuItem` — Gets new selected item. [CLI not supported; Cloud not supported] - property `public MainMenuItem OldItem {get;}` | py `mainMenuSelectedItemChangedEventArgs.OldItem: MainMenuItem` — Gets old selected item. [CLI not supported; Cloud not supported] ## interface cAlgo.API.Internals.MarketData — Provide access to charts data (bars and ticks) and to the Depth of Market data. (https://help.ctrader.com/ctrader-algo/references/MarketData/MarketData/index.md) - method `Bars GetBars(TimeFrame timeFrame)` | py `api.MarketData.GetBars(timeFrame: TimeFrame) -> Bars` — Gets the bars for the specific timeframe. - method `Bars GetBars(TimeFrame timeFrame, string symbolName)` | py `api.MarketData.GetBars(timeFrame: TimeFrame, symbolName: str) -> Bars` — Gets the chart bars for the specific timeframe for the specific symbol. - method `void GetBarsAsync(TimeFrame timeFrame, Action callback)` | py `api.MarketData.GetBarsAsync(timeFrame: TimeFrame, callback: Callable[[Bars], None]) -> None` — The asynchronous method to get the bars for the specific timeframe for the specific symbol. - method `void GetBarsAsync(TimeFrame timeFrame, string symbolName, Action callback)` | py `api.MarketData.GetBarsAsync(timeFrame: TimeFrame, symbolName: str, callback: Callable[[Bars], None]) -> None` — The asynchronous method to get the specific bars for the specific timeframe for the specific symbol. - method `MarketDepth GetMarketDepth(string symbolName)` | py `api.MarketData.GetMarketDepth(symbolName: str) -> MarketDepth` — Gets the Depth of Market for the specific symbol. - method `Ticks GetTicks()` | py `api.MarketData.GetTicks() -> Ticks` — Gets the Tick data. - method `Ticks GetTicks(string symbolName)` | py `api.MarketData.GetTicks(symbolName: str) -> Ticks` — Gets the Tick data for the specific symbol. - method `void GetTicksAsync(Action callback)` | py `api.MarketData.GetTicksAsync(callback: Callable[[Ticks], None]) -> None` — The asynchronous method to get tick data. - method `void GetTicksAsync(string symbolName, Action callback)` | py `api.MarketData.GetTicksAsync(symbolName: str, callback: Callable[[Ticks], None]) -> None` — The asynchronous method to get tick data for the specific symbol. ## class cAlgo.API.MarketDataLoadException — Represents errors that occur during loading market data (Bars/Ticks) (https://help.ctrader.com/ctrader-algo/references/MarketData/MarketDataLoadException/index.md) ## interface cAlgo.API.MarketDepth — Access to MarketDepth Ask Entries, Bid Entries and the event at which the market depth gets updated (https://help.ctrader.com/ctrader-algo/references/MarketData/MarketDepth/MarketDepth/index.md) - property `IReadonlyList AskEntries {get;}` | py `marketDepth.AskEntries: IReadonlyList[MarketDepthEntry]` — The total number of Ask entries - property `IReadonlyList BidEntries {get;}` | py `marketDepth.BidEntries: IReadonlyList[MarketDepthEntry]` — The total number of Bid entries - event `event Action Updated;` | py `marketDepth.Updated += handler # handler()` — The event at which the market depth gets updated ## interface cAlgo.API.MarketDepthEntry — Provides access to market depth prices and volumes (https://help.ctrader.com/ctrader-algo/references/MarketData/MarketDepth/MarketDepthEntry/index.md) - property `double Price {get;}` | py `marketDepthEntry.Price: float` — The price of this market depth entry - property `double VolumeInUnits {get;}` | py `marketDepthEntry.VolumeInUnits: float` — The volume of this market depth entry ## interface cAlgo.API.Indicators.MarketFacilitationIndex — The calculation of the Market Facilitation Index. (https://help.ctrader.com/ctrader-algo/references/Indicators/MarketFacilitationIndex/index.md) - property `IndicatorDataSeries Result {get;}` | py `marketFacilitationIndex.Result: IndicatorDataSeries` — Gets the resulting series of the Market Facilitation Index calculation. ## interface cAlgo.API.Internals.MarketHours — Access to symbol's trading sessions schedule (https://help.ctrader.com/ctrader-algo/references/MarketData/Symbols/MarketHours/index.md) - method `bool IsOpened()` | py `marketHours.IsOpened() -> bool` — Indicates if trading session is active - method `bool IsOpened(DateTime datetime)` | py `marketHours.IsOpened(datetime: DateTime) -> bool` — Indicates if trading session is active - method `TimeSpan TimeTillClose()` | py `marketHours.TimeTillClose() -> TimeSpan` — Time left till end of current trading session. Returns 0 if session is not active - method `TimeSpan TimeTillOpen()` | py `marketHours.TimeTillOpen() -> TimeSpan` — Time left till start of new trading session. Returns 0 if session is already active - property `IReadonlyList Holidays {get;}` | py `marketHours.Holidays: IReadonlyList[TradingHoliday]` — List of all symbol's trading holidays - property `IReadonlyList Sessions {get;}` | py `marketHours.Sessions: IReadonlyList[TradingSession]` — List of all symbol's trading sessions ## enum cAlgo.API.MarketSession — Represents the predefined market sessions. (https://help.ctrader.com/ctrader-algo/references/MarketData/MarketSession/index.md) - enum value `MarketSession.None;` | py `MarketSession.None` — None - enum value `MarketSession.Wellington;` | py `MarketSession.Wellington` — Wellington - enum value `MarketSession.Tokyo;` | py `MarketSession.Tokyo` — Tokyo - enum value `MarketSession.Sydney;` | py `MarketSession.Sydney` — Sydney - enum value `MarketSession.Singapore;` | py `MarketSession.Singapore` — Singapore - enum value `MarketSession.Frankfurt;` | py `MarketSession.Frankfurt` — Frankfurt - enum value `MarketSession.London;` | py `MarketSession.London` — London - enum value `MarketSession.NewYork;` | py `MarketSession.NewYork` — NewYork ## class cAlgo.API.MarketSessionChangedEventArgs — The arguments for MarketSessionsChanged event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/MarketSessionChangedEventArgs/index.md) - property `public MarketSession NewSessions {get;}` | py `marketSessionChangedEventArgs.NewSessions: MarketSession` — All current sessions including any new sessions that have just begun. The value of NewSessions is always equal to the value of the MarketSessions property of a cBot / indicator. Returns MarketSession.None if no new sessions started when the MarketSessionsChanged event was triggered. - property `public MarketSession PreviousSessions {get;}` | py `marketSessionChangedEventArgs.PreviousSessions: MarketSession` — Returns the previous value of the MarketSessions property before the MarketSessionsChanged event was triggered. Returns MarketSession.None if no previous sessions ended when the event was triggered. ## interface cAlgo.API.Indicators.MassIndex — The Mass Index Indicator interface. (https://help.ctrader.com/ctrader-algo/references/Indicators/MassIndex/index.md) - property `IndicatorDataSeries Result {get;}` | py `massIndex.Result: IndicatorDataSeries` — Gets the resulting series of the calculation of the Mass Index indicator. ## interface cAlgo.API.Indicators.MedianPrice — A Median Price is an average of one period’s high and low values. (https://help.ctrader.com/ctrader-algo/references/Indicators/MedianPrice/index.md) - property `IndicatorDataSeries Result {get;}` | py `medianPrice.Result: IndicatorDataSeries` — The resulting series of the calculation of Median Price ## class cAlgo.API.MessageArgs — Provides data for the message handler. (https://help.ctrader.com/ctrader-algo/references/Messages/MessageArgs/index.md) - property `public string ChartId {get;}` | py `messageArgs.ChartId: str` — Gets message sender ChartId. ChartId is null for plugin sent messages. - property `public TMessage Message {get;}` | py `messageArgs.Message: TMessage` — Gets the message. - property `public string SenderInstanceId {get;}` | py `messageArgs.SenderInstanceId: str` — Gets message sender instance Id. - property `public MessageSubscription Subscription {get;}` | py `messageArgs.Subscription: MessageSubscription` — Gets message subscription. ## class cAlgo.API.MessageBox — A message dialog window that you can use to show a message with buttons [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/Windows/MessageBox/index.md) - method `public static MessageBoxResult Show(string messageBoxText)` | py `MessageBox.Show(messageBoxText: str) -> MessageBoxResult` — Shows a MessageBox with just a text [CLI not supported; Cloud not supported] - method `public static MessageBoxResult Show(string messageBoxText, string caption)` | py `MessageBox.Show(messageBoxText: str, caption: str) -> MessageBoxResult` — Shows a MessageBox with text and caption / title [CLI not supported; Cloud not supported] - method `public static MessageBoxResult Show(string messageBoxText, string caption, MessageBoxButton button)` | py `MessageBox.Show(messageBoxText: str, caption: str, button: MessageBoxButton) -> MessageBoxResult` — Shows a MessageBox with text, caption / title, and button [CLI not supported; Cloud not supported] - method `public static MessageBoxResult Show(string messageBoxText, string caption, MessageBoxButton button, MessageBoxImage icon)` | py `MessageBox.Show(messageBoxText: str, caption: str, button: MessageBoxButton, icon: MessageBoxImage) -> MessageBoxResult` — Shows a MessageBox with text, caption / title, button, and an image icon [CLI not supported; Cloud not supported] - method `public static MessageBoxResult Show(string messageBoxText, string caption, MessageBoxButton button, MessageBoxImage icon, MessageBoxResult defaultResult)` | py `MessageBox.Show(messageBoxText: str, caption: str, button: MessageBoxButton, icon: MessageBoxImage, defaultResult: MessageBoxResult) -> MessageBoxResult` — Shows a MessageBox with text, caption / title, button, icon, and a default result [CLI not supported; Cloud not supported] - method `public static MessageBoxResult Show(Window owner, string messageBoxText)` | py `MessageBox.Show(owner: Window, messageBoxText: str) -> MessageBoxResult` — Shows a MessageBox with text that is a child of another window [CLI not supported; Cloud not supported] - method `public static MessageBoxResult Show(Window owner, string messageBoxText, string caption)` | py `MessageBox.Show(owner: Window, messageBoxText: str, caption: str) -> MessageBoxResult` — Shows a MessageBox with text, and caption / title that is a child of another window [CLI not supported; Cloud not supported] - method `public static MessageBoxResult Show(Window owner, string messageBoxText, string caption, MessageBoxButton button)` | py `MessageBox.Show(owner: Window, messageBoxText: str, caption: str, button: MessageBoxButton) -> MessageBoxResult` — Shows a MessageBox with text, caption / title, and button that is a child of another window [CLI not supported; Cloud not supported] - method `public static MessageBoxResult Show(Window owner, string messageBoxText, string caption, MessageBoxButton button, MessageBoxImage icon)` | py `MessageBox.Show(owner: Window, messageBoxText: str, caption: str, button: MessageBoxButton, icon: MessageBoxImage) -> MessageBoxResult` — Shows a MessageBox with text, caption / title, button, and image icon that is a child of another window [CLI not supported; Cloud not supported] - method `public static MessageBoxResult Show(Window owner, string messageBoxText, string caption, MessageBoxButton button, MessageBoxImage icon, MessageBoxResult defaultResult)` | py `MessageBox.Show(owner: Window, messageBoxText: str, caption: str, button: MessageBoxButton, icon: MessageBoxImage, defaultResult: MessageBoxResult) -> MessageBoxResult` — Shows a MessageBox with text, caption / title, button, icon, and a default result that is a child of another window [CLI not supported; Cloud not supported] ## enum cAlgo.API.MessageBoxButton — This Enum contains MessageBox buttons (https://help.ctrader.com/ctrader-algo/references/Controls/Windows/MessageBoxButton/index.md) - enum value `MessageBoxButton.OK;` | py `MessageBoxButton.OK` — Show just an OK button on MessageBox - enum value `MessageBoxButton.OKCancel;` | py `MessageBoxButton.OKCancel` — Show an OK and Cancel button on MessageBox - enum value `MessageBoxButton.YesNoCancel;` | py `MessageBoxButton.YesNoCancel` — Show Yes, No, and Cancel button on MessageBox - enum value `MessageBoxButton.YesNo;` | py `MessageBoxButton.YesNo` — Show Yes and No button on MessageBox ## enum cAlgo.API.MessageBoxImage — This Enum contains MessageBox image icons (https://help.ctrader.com/ctrader-algo/references/Controls/Windows/MessageBoxImage/index.md) - enum value `MessageBoxImage.None;` | py `MessageBoxImage.None` — The default value, MessageBox without any icon - enum value `MessageBoxImage.Error;` | py `MessageBoxImage.Error` — Shows an error icon on MessageBox - enum value `MessageBoxImage.Question;` | py `MessageBoxImage.Question` — Shows a question icon on MessageBox - enum value `MessageBoxImage.Warning;` | py `MessageBoxImage.Warning` — Shows a warning icon on MessageBox - enum value `MessageBoxImage.Information;` | py `MessageBoxImage.Information` — Shows an information icon on MessageBox ## enum cAlgo.API.MessageBoxResult — This Enum contains MessageBox results (https://help.ctrader.com/ctrader-algo/references/Controls/Windows/MessageBoxResult/index.md) - enum value `MessageBoxResult.None;` | py `MessageBoxResult.None` — The default result for MessageBox - enum value `MessageBoxResult.OK;` | py `MessageBoxResult.OK` — MessageBox result if OK button clicked by user - enum value `MessageBoxResult.Cancel;` | py `MessageBoxResult.Cancel` — MessageBox result if Cancel button clicked by user - enum value `MessageBoxResult.Yes;` | py `MessageBoxResult.Yes` — MessageBox result if Yes button clicked by user - enum value `MessageBoxResult.No;` | py `MessageBoxResult.No` — MessageBox result if No button clicked by user ## interface cAlgo.API.MessageSubscription — Represents a message subscription. (https://help.ctrader.com/ctrader-algo/references/Messages/MessageSubscription/index.md) - method `void Unsubscribe()` | py `messageSubscription.Unsubscribe() -> None` — Unsubscribes current subscription. - property `string Id {get;}` | py `messageSubscription.Id: str` — Gets subscription Id. - property `string Subject {get;}` | py `messageSubscription.Subject: str` — GGets message subject. ## interface cAlgo.API.Messages — Provides access to messaging API. [Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Messages/Messages/index.md) - method `void Send(string subject, TMessage message)` | py `api.Messages.Send(subject: str, message: TMessage) -> None` — Sends a message for a specific subject. [Cloud works differently] - method `MessageSubscription Subscribe(string subject, Action> handler)` | py `api.Messages.Subscribe(subject: str, handler: Callable[[MessageArgs[TMessage]], None]) -> MessageSubscription` — Subscribes to a message subject. [Cloud works differently] ## enum cAlgo.API.ModifierKeys — Specifies the set of modifier keys. (https://help.ctrader.com/ctrader-algo/references/Utility/ModifierKeys/index.md) - enum value `ModifierKeys.None;` | py `ModifierKeys.None` — No modifiers are pressed. - enum value `ModifierKeys.Alt;` | py `ModifierKeys.Alt` — The ALT key. - enum value `ModifierKeys.Control;` | py `ModifierKeys.Control` — The CTRL key. - enum value `ModifierKeys.Shift;` | py `ModifierKeys.Shift` — The SHIFT key. ## interface cAlgo.API.Indicators.MomentumOscillator — The calculation of the Momentum Oscillator indicator. (https://help.ctrader.com/ctrader-algo/references/Indicators/MomentumOscillator/index.md) - property `IndicatorDataSeries Result {get;}` | py `momentumOscillator.Result: IndicatorDataSeries` — Gets the resulting series of the Momentum Oscillator indicator calculation. ## interface cAlgo.API.Indicators.MoneyFlowIndex — The Money Flow Index is an oscillator that calculates buying and selling pressure using typical price and volume. It oscillates between zero and one hundred. It is typically used to identify trend reversals and price extremes. (https://help.ctrader.com/ctrader-algo/references/Indicators/MoneyFlowIndex/index.md) - property `IndicatorDataSeries Result {get; set;}` | py `moneyFlowIndex.Result: IndicatorDataSeries` — The time series of the Money Flow Index indicator. ## enum cAlgo.API.MonteCarloMethod — Specifies the Monte Carlo simulation method that is applied to a completed backtest. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Backtesting/MonteCarloMethod/index.md) - enum value `MonteCarloMethod.Reshuffle;` | py `MonteCarloMethod.Reshuffle` — Randomly reorders the backtest trades. The total net profit stays the same, but the equity path, the drawdowns and the risk of ruin change, showing how much the result depended on the order the trades happened in. [CLI not supported; Cloud not supported] - enum value `MonteCarloMethod.Bootstrap;` | py `MonteCarloMethod.Bootstrap` — Draws trades at random with replacement, so some trades repeat and others are left out. The total profit varies between iterations, estimating how sensitive the result is to the specific trades that occurred. [CLI not supported; Cloud not supported] - enum value `MonteCarloMethod.BlockBootstrap;` | py `MonteCarloMethod.BlockBootstrap` — Resamples fixed size blocks of consecutive trades, preserving the short winning and losing streaks that a plain bootstrap would break apart. The block length is taken from the BlockSize property. [CLI not supported; Cloud not supported] - enum value `MonteCarloMethod.StationaryBootstrap;` | py `MonteCarloMethod.StationaryBootstrap` — Resamples random length blocks of consecutive trades, preserving streaks while avoiding the artificial cut points that fixed size blocks introduce. The BlockSize property is used as the mean block length. [CLI not supported; Cloud not supported] - enum value `MonteCarloMethod.SyntheticPricePath;` | py `MonteCarloMethod.SyntheticPricePath` — Reshuffles the historical price returns and re-runs the full backtest on each synthetic price path. The strategy reacts to the new prices, so the trades, the profit and the drawdowns all differ. This method is slower than the resampling ones and can take several minutes. [CLI not supported; Cloud not supported] ## record cAlgo.API.MonteCarloSettings — Represents the optional Monte Carlo simulation that is attached to a backtest. A backtest produces a single equity curve, the one historical ordering of its trades. A Monte Carlo simulation re-runs that result many times, each time resampling or perturbing it, and reports the distribution of the outcomes instead of the single historical path. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Backtesting/MonteCarloSettings/index.md) - constructor `public MonteCarloSettings(MonteCarloMethod method, string outputFilePath)` | py `MonteCarloSettings(method: MonteCarloMethod, outputFilePath: str)` — Initializes a new instance of the MonteCarloSettings record. The method and the output file path are required, every other setting is optional. [CLI not supported; Cloud not supported] - constructor `public MonteCarloSettings(MonteCarloSettings original)` | py `MonteCarloSettings(original: MonteCarloSettings)` — [CLI not supported; Cloud not supported] - property `public int BlockSize {get; set;}` | py `monteCarloSettings.BlockSize: int` — Gets the number of consecutive trades that are kept together when resampling. It is used only by the BlockBootstrap and StationaryBootstrap methods and is ignored by the others. It must be greater than or equal to 1 and the default value is 5. [CLI not supported; Cloud not supported] - property `public int Iterations {get; set;}` | py `monteCarloSettings.Iterations: int` — Gets the number of simulated iterations. When it is 0, the default, the method default is used, which is 1000 for the resampling methods and 100 for SyntheticPricePath. Any other value outside the range of the method, which is 100 to 100000 for the resampling methods and 100 to 1000 for SyntheticPricePath, is reported as an invalid settings error instead of being clamped. [CLI not supported; Cloud not supported] - property `public MonteCarloMethod Method {get;}` | py `monteCarloSettings.Method: MonteCarloMethod` — Gets the Monte Carlo simulation method. [CLI not supported; Cloud not supported] - property `public string OutputFilePath {get;}` | py `monteCarloSettings.OutputFilePath: str` — Gets the destination file path for the Monte Carlo result JSON. The file uses the same snapshot format the desktop Monte Carlo tab saves, so it can be loaded back by the desktop application. [CLI not supported; Cloud not supported] - property `public double RuinFloor {get; set;}` | py `monteCarloSettings.RuinFloor: float` — Gets the equity level that is treated as account ruin. The risk of ruin is the share of the simulations whose equity drops to or below this level. It must be greater than or equal to 0 and the default value is 0. [CLI not supported; Cloud not supported] - property `public int Seed {get; set;}` | py `monteCarloSettings.Seed: int` — Gets the random seed that makes the simulation reproducible. The same seed with the same inputs produces the same result, even across application restarts. The default value is 0. [CLI not supported; Cloud not supported] - property `public double StartingEquity {get; set;}` | py `monteCarloSettings.StartingEquity: float` — Gets the starting equity used as the additive base for the simulated equity curves. When it is 0, the default, the initial balance of the backtest is used. [CLI not supported; Cloud not supported] ## interface cAlgo.API.Indicators.MovingAverage — The Moving Average Indicator calculation. (https://help.ctrader.com/ctrader-algo/references/Indicators/MovingAverage/index.md) - property `IndicatorDataSeries Result {get;}` | py `movingAverage.Result: IndicatorDataSeries` — The resulting time series of the calculation. ## enum cAlgo.API.MovingAverageType — An enumeration of the different MovingAverage weighting (smoothing) methods. (https://help.ctrader.com/ctrader-algo/references/Indicators/MovingAverageType/index.md) - enum value `MovingAverageType.Simple;` | py `MovingAverageType.Simple` — Use uniform weighting. Represents indicator of SimpleMovingAverage type. - enum value `MovingAverageType.Exponential;` | py `MovingAverageType.Exponential` — Use exponential weighting. Represents indicator of ExponentialMovingAverage type. - enum value `MovingAverageType.TimeSeries;` | py `MovingAverageType.TimeSeries` — Represents indicator of TimeSeriesMovingAverage type. - enum value `MovingAverageType.Triangular;` | py `MovingAverageType.Triangular` — Represents indicator of TriangularMovingAverage type. - enum value `MovingAverageType.VIDYA;` | py `MovingAverageType.VIDYA` — VIDYA (Variable Index Dynamic Average) variable length weighting. Represents indicator of VariableIndexDynamicAverage type. - enum value `MovingAverageType.Weighted;` | py `MovingAverageType.Weighted` — Represents indicator of WeightedMovingAverage type. - enum value `MovingAverageType.WilderSmoothing;` | py `MovingAverageType.WilderSmoothing` — Represents indicator of WellesWilderSmoothing type. - enum value `MovingAverageType.Hull;` | py `MovingAverageType.Hull` — Represents indicator of HullMovingAverage type. - enum value `MovingAverageType.DoubleExponential;` | py `MovingAverageType.DoubleExponential` — Represents indicator of DoubleExponentialMovingAverage type. - enum value `MovingAverageType.TripleExponential;` | py `MovingAverageType.TripleExponential` — Represents indicator of TripleExponentialMovingAverage type. - enum value `MovingAverageType.KaufmanAdaptive;` | py `MovingAverageType.KaufmanAdaptive` — Represents indicator of KaufmanAdaptiveMovingAverage type. ## class cAlgo.API.MultiSelect — A control that shows list of unique items and allows user to select multiple items from the list [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/MultiSelect/index.md) - constructor `public MultiSelect()` | py `MultiSelect()` — Creates a new empty MultiSelect with default MultiSelect Style [CLI not supported; Cloud not supported] - method `public bool AddItem(string item)` | py `multiSelect.AddItem(item: str) -> bool` — Adds a new item to the MultiSelect [CLI not supported; Cloud not supported] - method `public bool RemoveItem(string item)` | py `multiSelect.RemoveItem(item: str) -> bool` — Removes an existing item from the MultiSelect [CLI not supported; Cloud not supported] - method `public void SelectAllItems()` | py `multiSelect.SelectAllItems() -> None` — Selects all items on the MultiSelect [CLI not supported; Cloud not supported] - method `public bool SelectItem(string item)` | py `multiSelect.SelectItem(item: str) -> bool` — Selects item on the MultiSelect [CLI not supported; Cloud not supported] - method `public void SelectItems(IEnumerable items)` | py `multiSelect.SelectItems(items: Iterable[str]) -> None` — Selects items on the MultiSelect [CLI not supported; Cloud not supported] - method `public void UnselectAllItems()` | py `multiSelect.UnselectAllItems() -> None` — Unselects all items on the MultiSelect [CLI not supported; Cloud not supported] - method `public bool UnselectItem(string item)` | py `multiSelect.UnselectItem(item: str) -> bool` — Unselects item on the MultiSelect [CLI not supported; Cloud not supported] - method `public void UnselectItems(IEnumerable items)` | py `multiSelect.UnselectItems(items: Iterable[str]) -> None` — Unselects items on the MultiSelect [CLI not supported; Cloud not supported] - property `public IReadonlyList Items {get;}` | py `multiSelect.Items: IReadonlyList[str]` — Get the read-only copy of MultiSelect items [CLI not supported; Cloud not supported] - property `public IReadonlyList SelectedItems {get;}` | py `multiSelect.SelectedItems: IReadonlyList[str]` — Get the read-only copy of MultiSelect selected items [CLI not supported; Cloud not supported] - event `public event Action SelectedItemsChanged;` | py `multiSelect.SelectedItemsChanged += handler # handler(obj: MultiSelectSelectedItemsChangedEventArgs)` — This event will trigger if the MultiSelect selected items changed [CLI not supported; Cloud not supported] ## class cAlgo.API.MultiSelectSelectedItemsChangedEventArgs — Provides data for MultiSelect SelectedItemsChanged event handlers [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/MultiSelectSelectedItemsChangedEventArgs/index.md) - property `public MultiSelect MultiSelect {get;}` | py `multiSelectSelectedItemsChangedEventArgs.MultiSelect: MultiSelect` — The ComboBox that it is selected item changed [CLI not supported; Cloud not supported] ## interface cAlgo.API.Indicators.NegativeVolumeIndex — Dysart's Negative Volume Index assumes that the smart money is active on days when volume decreases and the not-so-smart money is active on days when volume increases (measured by the Positive Volume Index). (https://help.ctrader.com/ctrader-algo/references/Indicators/NegativeVolumeIndex/index.md) - property `IndicatorDataSeries Result {get; set;}` | py `negativeVolumeIndex.Result: IndicatorDataSeries` — The time series of the Negative Volume Index indicator. ## class cAlgo.API.NewOrderDialog — Represents a common dialog box that allows a user to create a new order. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Dialogs/NewOrderDialog/index.md) - constructor `public NewOrderDialog()` | py `NewOrderDialog()` — Creates a NewOrderDialog. [CLI not supported; Cloud not supported] - method `public void ShowDialog()` | py `newOrderDialog.ShowDialog() -> None` — Shows the dialog. [CLI not supported; Cloud not supported] - property `public string Comment {get; set;}` | py `newOrderDialog.Comment: str` — Gets or sets the Comment. [CLI not supported; Cloud not supported] - property `public DateTime? Expiration {get; set;}` | py `newOrderDialog.Expiration: DateTime | None` — Gets or sets the Expiration. [CLI not supported; Cloud not supported] - property `public bool HasTrailingStop {get; set;}` | py `newOrderDialog.HasTrailingStop: bool` — Gets or sets the HasTrailingStop. [CLI not supported; Cloud not supported] - property `public double? MarketRangePips {get; set;}` | py `newOrderDialog.MarketRangePips: float | None` — Gets or sets the MarketRangePips. [CLI not supported; Cloud not supported] - property `public OrderType OrderType {get; set;}` | py `newOrderDialog.OrderType: OrderType` — Gets or sets the OrderType. [CLI not supported; Cloud not supported] - property `public double? StopLimitRangePips {get; set;}` | py `newOrderDialog.StopLimitRangePips: float | None` — Gets or sets the StopLimitRangePips. [CLI not supported; Cloud not supported] - property `public double? StopLossPips {get; set;}` | py `newOrderDialog.StopLossPips: float | None` — Gets or sets the StopLossPips. [CLI not supported; Cloud not supported] - property `public StopTriggerMethod? StopLossTriggerMethod {get; set;}` | py `newOrderDialog.StopLossTriggerMethod: StopTriggerMethod | None` — Gets or sets Trigger method for order StopLoss [CLI not supported; Cloud not supported] - property `public StopTriggerMethod? StopOrderTriggerMethod {get; set;}` | py `newOrderDialog.StopOrderTriggerMethod: StopTriggerMethod | None` — Gets or sets the HasTrailingStop. [CLI not supported; Cloud not supported] - property `public string SymbolName {get; set;}` | py `newOrderDialog.SymbolName: str` — Gets or sets the SymbolName. [CLI not supported; Cloud not supported] - property `public double? TakeProfitPips {get; set;}` | py `newOrderDialog.TakeProfitPips: float | None` — Gets or sets the TakeProfitPips. [CLI not supported; Cloud not supported] - property `public double? TargetPrice {get; set;}` | py `newOrderDialog.TargetPrice: float | None` — Gets or sets the TargetPrice. [CLI not supported; Cloud not supported] - property `public TradeType TradeType {get; set;}` | py `newOrderDialog.TradeType: TradeType` — Gets or sets the TradeType. [CLI not supported; Cloud not supported] - property `public double? Volume {get; set;}` | py `newOrderDialog.Volume: float | None` — Gets or sets the Volume. [CLI not supported; Cloud not supported] ## struct cAlgo.API.OhlcvBar — Represents a OHLCV Bar object. (https://help.ctrader.com/ctrader-algo/references/MarketData/Bars/OhlcvBar/index.md) - constructor `public OhlcvBar(double open, double high, double low, double close, long tickVolume)` | py `OhlcvBar(open: float, high: float, low: float, close: float, tickVolume: int)` — Create a OHLCV bar. - property `public double Close {get;}` | py `ohlcvBar.Close: float` — Gets the Close price. - property `public double High {get;}` | py `ohlcvBar.High: float` — Gets the High price. - property `public double Low {get;}` | py `ohlcvBar.Low: float` — Gets the Low price. - property `public double Open {get;}` | py `ohlcvBar.Open: float` — Gets the open price. - property `public long TickVolume {get;}` | py `ohlcvBar.TickVolume: int` — Gets the Tick volume. ## interface cAlgo.API.Indicators.OnBalanceVolume — On Balance Volume measures buying and selling pressure as a cumulative indicator that adds volume on up days and subtracts volume on down days. (https://help.ctrader.com/ctrader-algo/references/Indicators/OnBalanceVolume/index.md) - property `IndicatorDataSeries Result {get; set;}` | py `onBalanceVolume.Result: IndicatorDataSeries` — Gets or sets the time series of the On Balance Volume indicator. ## class cAlgo.API.OpenFileDialog — Represents a common dialog box that allows a user to specify a filename for one or more files to open. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Dialogs/OpenFileDialog/index.md) - constructor `public OpenFileDialog()` | py `OpenFileDialog()` — Creates an OpenFileDialog. [CLI not supported; Cloud not supported] - method `public void Reset()` | py `openFileDialog.Reset() -> None` — Resets all dialog properties to their default values. [CLI not supported; Cloud not supported] - method `public FileDialogResult ShowDialog()` | py `openFileDialog.ShowDialog() -> FileDialogResult` — Shows a file dialog, with the owner as the main Window [CLI not supported; Cloud not supported] - method `public FileDialogResult ShowDialog(Window owner)` | py `openFileDialog.ShowDialog(owner: Window) -> FileDialogResult` — Shows a file dialog, with the passed owner window. [CLI not supported; Cloud not supported] - property `public bool AddExtension {get; set;}` | py `openFileDialog.AddExtension: bool` — Gets or sets a value indicating whether a file dialog automatically adds an extension to a file name if the user omits an extension. [CLI not supported; Cloud not supported] - property `public string DefaultExt {get; set;}` | py `openFileDialog.DefaultExt: str` — Gets or sets a value that specifies the default extension string to use to filter the list of files that are displayed. [CLI not supported; Cloud not supported] - property `public string FileName {get;}` | py `openFileDialog.FileName: str` — Gets a string containing the full path of the file selected in a file dialog. [CLI not supported; Cloud not supported] - property `public string[] FileNames {get;}` | py `openFileDialog.FileNames: list[str]` — Gets an array that contains one file name for each selected file. [CLI not supported; Cloud not supported] - property `public string Filter {get; set;}` | py `openFileDialog.Filter: str` — Gets or sets the filter string that determines what types of files are displayed in file dialog. [CLI not supported; Cloud not supported] - property `public string InitialDirectory {get; set;}` | py `openFileDialog.InitialDirectory: str` — Gets or sets the initial directory that is displayed by a file dialog. [CLI not supported; Cloud not supported] - property `public bool Multiselect {get; set;}` | py `openFileDialog.Multiselect: bool` — Gets or sets an option indicating whether OpenFileDialog allows users to select multiple files. [CLI not supported; Cloud not supported] - property `public string Title {get; set;}` | py `openFileDialog.Title: str` — Gets or sets a string shown in the title bar of the dialog. If this property is null, a localized default from the operating system itself will be used. [CLI not supported; Cloud not supported] - property `public bool ValidateNames {get; set;}` | py `openFileDialog.ValidateNames: bool` — Gets or sets a value indicating whether the dialog accepts only valid file names. [CLI not supported; Cloud not supported] ## class cAlgo.API.OpenFolderDialog — Represents a common dialog box that allows the user to open one or more folders. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Dialogs/OpenFolderDialog/index.md) - constructor `public OpenFolderDialog()` | py `OpenFolderDialog()` — Creates an OpenFolderDialog. [CLI not supported; Cloud not supported] - method `public void Reset()` | py `openFolderDialog.Reset() -> None` — Resets all dialog properties to their default values. [CLI not supported; Cloud not supported] - method `public FileDialogResult ShowDialog()` | py `openFolderDialog.ShowDialog() -> FileDialogResult` — Shows a file dialog, with the owner as the main Window [CLI not supported; Cloud not supported] - method `public FileDialogResult ShowDialog(Window owner)` | py `openFolderDialog.ShowDialog(owner: Window) -> FileDialogResult` — Shows a file dialog, with the passed owner window. [CLI not supported; Cloud not supported] - property `public string FolderName {get;}` | py `openFolderDialog.FolderName: str` — Gets a string containing the full path of the folder selected in an open folder dialog. [CLI not supported; Cloud not supported] - property `public string InitialDirectory {get; set;}` | py `openFolderDialog.InitialDirectory: str` — Gets or sets the initial directory that is displayed by a file dialog. [CLI not supported; Cloud not supported] - property `public string Title {get; set;}` | py `openFolderDialog.Title: str` — Gets or sets a string shown in the title bar of the dialog. If this property is null, a localized default from the operating system itself will be used. [CLI not supported; Cloud not supported] ## interface cAlgo.API.Optimization — Provides methods and events to manage and monitor cBot parameter optimization processes. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/Optimization/index.md) - method `OptimizationProcess Start(RobotType robotType, string symbolName, TimeFrame timeFrame, OptimizationSettings settings, OptimizationParameter[] parameters)` | py `api.Optimization.Start(robotType: RobotType, symbolName: str, timeFrame: TimeFrame, settings: OptimizationSettings, parameters: list[OptimizationParameter]) -> OptimizationProcess` — Starts an optimization process. [CLI not supported; Cloud not supported] - method `OptimizationProcess Start(RobotType robotType, string symbolName, IEnumerable timeFrames, OptimizationSettings settings, OptimizationParameter[] parameters)` | py `api.Optimization.Start(robotType: RobotType, symbolName: str, timeFrames: Iterable[TimeFrame], settings: OptimizationSettings, parameters: list[OptimizationParameter]) -> OptimizationProcess` — Starts an optimization process across multiple time frames. Use this overload to optimize the time frame alongside the cBot parameters, mirroring the desktop UI where the time frame can itself be part of the optimization. Each time frame is combined with the supplied parameter set during the optimization. [CLI not supported; Cloud not supported] - event `event Action Completed;` | py `api.Optimization.Completed += handler # handler(obj: OptimizationCompletedEventArgs)` — Occurs when the optimization process is completed. [CLI not supported; Cloud not supported] - event `event Action PassCompleted;` | py `api.Optimization.PassCompleted += handler # handler(obj: OptimizationPassCompletedEventArgs)` — Occurs when an individual optimization pass completes. [CLI not supported; Cloud not supported] - event `event Action ProgressChanged;` | py `api.Optimization.ProgressChanged += handler # handler(obj: OptimizationProgressChangedEventArgs)` — Occurs when the optimization progress changes. [CLI not supported; Cloud not supported] ## record cAlgo.API.OptimizationBooleanParameter — A bool cBot parameter, optimized over a set of values or held fixed. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationBooleanParameter/index.md) - constructor `public OptimizationBooleanParameter(string name, IEnumerable values)` | py `OptimizationBooleanParameter(name: str, values: Iterable[bool])` — Optimizes the parameter over the given values. [CLI not supported; Cloud not supported] - constructor `public OptimizationBooleanParameter(string name, bool value)` | py `OptimizationBooleanParameter(name: str, value: bool)` — Holds the parameter fixed at the given value. [CLI not supported; Cloud not supported] - constructor `public OptimizationBooleanParameter(OptimizationBooleanParameter original)` | py `OptimizationBooleanParameter(original: OptimizationBooleanParameter)` — [CLI not supported; Cloud not supported] - property `public IReadOnlyList Values {get;}` | py `optimizationBooleanParameter.Values: Sequence[bool]` — Gets the discrete set of values to optimize over. [CLI not supported; Cloud not supported] ## record cAlgo.API.OptimizationColorParameter — A Color cBot parameter. Not optimizable; always held fixed. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationColorParameter/index.md) - constructor `public OptimizationColorParameter(string name, Color value)` | py `OptimizationColorParameter(name: str, value: Color)` — Holds the parameter fixed at the given value. [CLI not supported; Cloud not supported] - constructor `public OptimizationColorParameter(OptimizationColorParameter original)` | py `OptimizationColorParameter(original: OptimizationColorParameter)` — [CLI not supported; Cloud not supported] ## record cAlgo.API.OptimizationCompletedEventArgs — Provides data for the optimization completed event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationCompletedEventArgs/index.md) - constructor `public OptimizationCompletedEventArgs(OptimizationCompletedEventArgs original)` | py `OptimizationCompletedEventArgs(original: OptimizationCompletedEventArgs)` — [CLI not supported; Cloud not supported] - property `public OptimizationPass BestPass {get;}` | py `optimizationCompletedEventArgs.BestPass: OptimizationPass` — Gets the best pass by the configured criteria or custom fitness, or null if no pass completed. [CLI not supported; Cloud not supported] - property `public string JsonReport {get;}` | py `optimizationCompletedEventArgs.JsonReport: str` — Gets the full optimization result as JSON (the .optres content). [CLI not supported; Cloud not supported] - property `public OptimizationProcess Process {get;}` | py `optimizationCompletedEventArgs.Process: OptimizationProcess` — Gets the optimization process that has completed. [CLI not supported; Cloud not supported] ## struct cAlgo.API.OptimizationCriterion — A single optimization criterion: a performance index and the direction to optimize it. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationCriterion/index.md) - constructor `public OptimizationCriterion(OptimizationCriterionType Type, OptimizationCriterionDirection Direction)` | py `OptimizationCriterion(Type: OptimizationCriterionType, Direction: OptimizationCriterionDirection)` — A single optimization criterion: a performance index and the direction to optimize it. [CLI not supported; Cloud not supported] - property `public OptimizationCriterionDirection Direction {get; set;}` | py `optimizationCriterion.Direction: OptimizationCriterionDirection` — Whether to maximize or minimize the index. [CLI not supported; Cloud not supported] - property `public OptimizationCriterionType Type {get; set;}` | py `optimizationCriterion.Type: OptimizationCriterionType` — The performance index to optimize. [CLI not supported; Cloud not supported] ## enum cAlgo.API.OptimizationCriterionDirection — The direction in which an optimization criterion is optimized. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationCriterionDirection/index.md) - enum value `OptimizationCriterionDirection.Maximize;` | py `OptimizationCriterionDirection.Maximize` — Maximize the index. [CLI not supported; Cloud not supported] - enum value `OptimizationCriterionDirection.Minimize;` | py `OptimizationCriterionDirection.Minimize` — Minimize the index. [CLI not supported; Cloud not supported] ## enum cAlgo.API.OptimizationCriterionType — The performance index used as an optimization criterion. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationCriterionType/index.md) - enum value `OptimizationCriterionType.NetProfit;` | py `OptimizationCriterionType.NetProfit` — Net profit. [CLI not supported; Cloud not supported] - enum value `OptimizationCriterionType.ProfitFactor;` | py `OptimizationCriterionType.ProfitFactor` — Profit factor. [CLI not supported; Cloud not supported] - enum value `OptimizationCriterionType.MaxEquityDrawdownPercentages;` | py `OptimizationCriterionType.MaxEquityDrawdownPercentages` — Maximum equity drawdown, as a percentage. [CLI not supported; Cloud not supported] - enum value `OptimizationCriterionType.MaxBalanceDrawdownPercentages;` | py `OptimizationCriterionType.MaxBalanceDrawdownPercentages` — Maximum balance drawdown, as a percentage. [CLI not supported; Cloud not supported] - enum value `OptimizationCriterionType.MaxEquityDrawdown;` | py `OptimizationCriterionType.MaxEquityDrawdown` — Maximum equity drawdown, in deposit currency. [CLI not supported; Cloud not supported] - enum value `OptimizationCriterionType.MaxBalanceDrawdown;` | py `OptimizationCriterionType.MaxBalanceDrawdown` — Maximum balance drawdown, in deposit currency. [CLI not supported; Cloud not supported] - enum value `OptimizationCriterionType.WinningTrades;` | py `OptimizationCriterionType.WinningTrades` — Number of winning trades. [CLI not supported; Cloud not supported] - enum value `OptimizationCriterionType.LosingTrades;` | py `OptimizationCriterionType.LosingTrades` — Number of losing trades. [CLI not supported; Cloud not supported] - enum value `OptimizationCriterionType.TotalTrades;` | py `OptimizationCriterionType.TotalTrades` — Total number of trades. [CLI not supported; Cloud not supported] - enum value `OptimizationCriterionType.AverageTrade;` | py `OptimizationCriterionType.AverageTrade` — Average trade result. [CLI not supported; Cloud not supported] ## record cAlgo.API.OptimizationDataSeriesParameter — A DataSeries cBot parameter, held fixed at a standard series type. The selector is StandardSeriesType — a live DataSeries cannot itself be an optimization input, and data series parameters cannot be optimized over multiple values. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationDataSeriesParameter/index.md) - constructor `public OptimizationDataSeriesParameter(string name, StandardSeriesType value)` | py `OptimizationDataSeriesParameter(name: str, value: StandardSeriesType)` — Holds the parameter fixed at the given value. [CLI not supported; Cloud not supported] - constructor `public OptimizationDataSeriesParameter(OptimizationDataSeriesParameter original)` | py `OptimizationDataSeriesParameter(original: OptimizationDataSeriesParameter)` — [CLI not supported; Cloud not supported] ## record cAlgo.API.OptimizationDateOnlyParameter — A DateOnly cBot parameter, optimized over a date range or held fixed. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationDateOnlyParameter/index.md) - constructor `public OptimizationDateOnlyParameter(string name, DateOnly min, DateOnly max, TimeSpan step)` | py `OptimizationDateOnlyParameter(name: str, min: DateOnly, max: DateOnly, step: TimeSpan)` — Optimizes the parameter over the range the minimum to the maximum by the step. [CLI not supported; Cloud not supported] - constructor `public OptimizationDateOnlyParameter(string name, DateOnly value)` | py `OptimizationDateOnlyParameter(name: str, value: DateOnly)` — Holds the parameter fixed at the given value. [CLI not supported; Cloud not supported] - constructor `public OptimizationDateOnlyParameter(OptimizationDateOnlyParameter original)` | py `OptimizationDateOnlyParameter(original: OptimizationDateOnlyParameter)` — [CLI not supported; Cloud not supported] - property `public DateOnly Max {get;}` | py `optimizationDateOnlyParameter.Max: DateOnly` — Gets the inclusive maximum of the range. [CLI not supported; Cloud not supported] - property `public DateOnly Min {get;}` | py `optimizationDateOnlyParameter.Min: DateOnly` — Gets the inclusive minimum of the range. [CLI not supported; Cloud not supported] - property `public TimeSpan Step {get;}` | py `optimizationDateOnlyParameter.Step: TimeSpan` — Gets the step of the range, as a time span. [CLI not supported; Cloud not supported] ## record cAlgo.API.OptimizationDateTimeParameter — A DateTime cBot parameter, optimized over a date-time range or held fixed. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationDateTimeParameter/index.md) - constructor `public OptimizationDateTimeParameter(string name, DateTime min, DateTime max, TimeSpan step)` | py `OptimizationDateTimeParameter(name: str, min: DateTime, max: DateTime, step: TimeSpan)` — Optimizes the parameter over the range the minimum to the maximum by the step. [CLI not supported; Cloud not supported] - constructor `public OptimizationDateTimeParameter(string name, DateTime value)` | py `OptimizationDateTimeParameter(name: str, value: DateTime)` — Holds the parameter fixed at the given value. [CLI not supported; Cloud not supported] - constructor `public OptimizationDateTimeParameter(OptimizationDateTimeParameter original)` | py `OptimizationDateTimeParameter(original: OptimizationDateTimeParameter)` — [CLI not supported; Cloud not supported] - property `public DateTime Max {get;}` | py `optimizationDateTimeParameter.Max: DateTime` — Gets the inclusive maximum of the range. [CLI not supported; Cloud not supported] - property `public DateTime Min {get;}` | py `optimizationDateTimeParameter.Min: DateTime` — Gets the inclusive minimum of the range. [CLI not supported; Cloud not supported] - property `public TimeSpan Step {get;}` | py `optimizationDateTimeParameter.Step: TimeSpan` — Gets the step of the range, as a time span. [CLI not supported; Cloud not supported] ## record cAlgo.API.OptimizationDoubleParameter — A double cBot parameter, optimized over a numeric range or held fixed. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationDoubleParameter/index.md) - constructor `public OptimizationDoubleParameter(string name, double min, double max, double step)` | py `OptimizationDoubleParameter(name: str, min: float, max: float, step: float)` — Optimizes the parameter over the range the minimum to the maximum by the step. [CLI not supported; Cloud not supported] - constructor `public OptimizationDoubleParameter(string name, double value)` | py `OptimizationDoubleParameter(name: str, value: float)` — Holds the parameter fixed at the given value. [CLI not supported; Cloud not supported] - constructor `public OptimizationDoubleParameter(OptimizationDoubleParameter original)` | py `OptimizationDoubleParameter(original: OptimizationDoubleParameter)` — [CLI not supported; Cloud not supported] - property `public double Max {get;}` | py `optimizationDoubleParameter.Max: float` — Gets the inclusive maximum of the range. [CLI not supported; Cloud not supported] - property `public double Min {get;}` | py `optimizationDoubleParameter.Min: float` — Gets the inclusive minimum of the range. [CLI not supported; Cloud not supported] - property `public double Step {get;}` | py `optimizationDoubleParameter.Step: float` — Gets the step of the range. [CLI not supported; Cloud not supported] ## record cAlgo.API.OptimizationEnumParameter — An enum cBot parameter, optimized over a set of members or held fixed. The CLR enum type is resolved from the cBot metadata, so members are supplied by their string names. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationEnumParameter/index.md) - constructor `public OptimizationEnumParameter(string name, IEnumerable values)` | py `OptimizationEnumParameter(name: str, values: Iterable[str])` — Optimizes over the enum members named by the given values. [CLI not supported; Cloud not supported] - constructor `public OptimizationEnumParameter(string name, string value)` | py `OptimizationEnumParameter(name: str, value: str)` — Holds the parameter fixed at the enum member named by the given value. [CLI not supported; Cloud not supported] - constructor `public OptimizationEnumParameter(OptimizationEnumParameter original)` | py `OptimizationEnumParameter(original: OptimizationEnumParameter)` — [CLI not supported; Cloud not supported] - property `public IReadOnlyList Values {get;}` | py `optimizationEnumParameter.Values: Sequence[str]` — Gets the discrete set of enum member names to optimize over. [CLI not supported; Cloud not supported] ## enum cAlgo.API.OptimizationError — Describes why an optimization process failed. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationError/index.md) - enum value `OptimizationError.None;` | py `OptimizationError.None` — No error. [CLI not supported; Cloud not supported] - enum value `OptimizationError.Other;` | py `OptimizationError.Other` — An unspecified error occurred. [CLI not supported; Cloud not supported] - enum value `OptimizationError.Net4IsNotSupported;` | py `OptimizationError.Net4IsNotSupported` — Optimization is not supported on .NET Framework 4. [CLI not supported; Cloud not supported] - enum value `OptimizationError.NoConnection;` | py `OptimizationError.NoConnection` — No connection to the server. [CLI not supported; Cloud not supported] - enum value `OptimizationError.NoHistoricalData;` | py `OptimizationError.NoHistoricalData` — No historical data is available for the requested period. [CLI not supported; Cloud not supported] - enum value `OptimizationError.NotSupported;` | py `OptimizationError.NotSupported` — Optimization is not supported in the current environment. [CLI not supported; Cloud not supported] - enum value `OptimizationError.InvalidSettings;` | py `OptimizationError.InvalidSettings` — The optimization settings are invalid. [CLI not supported; Cloud not supported] - enum value `OptimizationError.InvalidParameters;` | py `OptimizationError.InvalidParameters` — No parameter was marked for optimization, or a parameter's range or values are invalid. [CLI not supported; Cloud not supported] ## record cAlgo.API.OptimizationFileParameter — A File cBot parameter (a file path). Not optimizable; always held fixed. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationFileParameter/index.md) - constructor `public OptimizationFileParameter(string name, string value)` | py `OptimizationFileParameter(name: str, value: str)` — Holds the parameter fixed at the given value. [CLI not supported; Cloud not supported] - constructor `public OptimizationFileParameter(OptimizationFileParameter original)` | py `OptimizationFileParameter(original: OptimizationFileParameter)` — [CLI not supported; Cloud not supported] ## record cAlgo.API.OptimizationIntegerParameter — An int cBot parameter, optimized over an integer range or held fixed. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationIntegerParameter/index.md) - constructor `public OptimizationIntegerParameter(string name, int min, int max, int step)` | py `OptimizationIntegerParameter(name: str, min: int, max: int, step: int)` — Optimizes the parameter over the range the minimum to the maximum by the step. [CLI not supported; Cloud not supported] - constructor `public OptimizationIntegerParameter(string name, int value)` | py `OptimizationIntegerParameter(name: str, value: int)` — Holds the parameter fixed at the given value. [CLI not supported; Cloud not supported] - constructor `public OptimizationIntegerParameter(OptimizationIntegerParameter original)` | py `OptimizationIntegerParameter(original: OptimizationIntegerParameter)` — [CLI not supported; Cloud not supported] - property `public int Max {get;}` | py `optimizationIntegerParameter.Max: int` — Gets the inclusive maximum of the range. [CLI not supported; Cloud not supported] - property `public int Min {get;}` | py `optimizationIntegerParameter.Min: int` — Gets the inclusive minimum of the range. [CLI not supported; Cloud not supported] - property `public int Step {get;}` | py `optimizationIntegerParameter.Step: int` — Gets the step of the range. [CLI not supported; Cloud not supported] ## enum cAlgo.API.OptimizationMethod — Specifies the method used to explore the parameter space during optimization. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationMethod/index.md) - enum value `OptimizationMethod.Genetic;` | py `OptimizationMethod.Genetic` — Genetic algorithm — explores a subset of parameter combinations heuristically. [CLI not supported; Cloud not supported] - enum value `OptimizationMethod.Grid;` | py `OptimizationMethod.Grid` — Grid search — exhaustively evaluates every parameter combination. [CLI not supported; Cloud not supported] ## record cAlgo.API.OptimizationMultiEnumParameter — An Enum[] (multi-enum) cBot parameter. Not optimizable; always held fixed. Members are supplied by their string names. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationMultiEnumParameter/index.md) - constructor `public OptimizationMultiEnumParameter(string name, IReadOnlyList value)` | py `OptimizationMultiEnumParameter(name: str, value: Sequence[str])` — Holds the parameter fixed at the given value. [CLI not supported; Cloud not supported] - constructor `public OptimizationMultiEnumParameter(OptimizationMultiEnumParameter original)` | py `OptimizationMultiEnumParameter(original: OptimizationMultiEnumParameter)` — [CLI not supported; Cloud not supported] ## record cAlgo.API.OptimizationMultiFileParameter — A MultiFile (a set of file paths) cBot parameter. Not optimizable; always held fixed. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationMultiFileParameter/index.md) - constructor `public OptimizationMultiFileParameter(string name, IReadOnlyList value)` | py `OptimizationMultiFileParameter(name: str, value: Sequence[str])` — Holds the parameter fixed at the given value. [CLI not supported; Cloud not supported] - constructor `public OptimizationMultiFileParameter(OptimizationMultiFileParameter original)` | py `OptimizationMultiFileParameter(original: OptimizationMultiFileParameter)` — [CLI not supported; Cloud not supported] ## record cAlgo.API.OptimizationMultiSymbolParameter — A Symbol[] (multi-symbol) cBot parameter. Not optimizable; always held fixed. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationMultiSymbolParameter/index.md) - constructor `public OptimizationMultiSymbolParameter(string name, IReadOnlyList value)` | py `OptimizationMultiSymbolParameter(name: str, value: Sequence[Symbol])` — Holds the parameter fixed at the given value. [CLI not supported; Cloud not supported] - constructor `public OptimizationMultiSymbolParameter(OptimizationMultiSymbolParameter original)` | py `OptimizationMultiSymbolParameter(original: OptimizationMultiSymbolParameter)` — [CLI not supported; Cloud not supported] ## record cAlgo.API.OptimizationMultiTimeFrameParameter — A TimeFrame[] (multi-time-frame) cBot parameter. Not optimizable; always held fixed. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationMultiTimeFrameParameter/index.md) - constructor `public OptimizationMultiTimeFrameParameter(string name, IReadOnlyList value)` | py `OptimizationMultiTimeFrameParameter(name: str, value: Sequence[TimeFrame])` — Holds the parameter fixed at the given value. [CLI not supported; Cloud not supported] - constructor `public OptimizationMultiTimeFrameParameter(OptimizationMultiTimeFrameParameter original)` | py `OptimizationMultiTimeFrameParameter(original: OptimizationMultiTimeFrameParameter)` — [CLI not supported; Cloud not supported] ## record cAlgo.API.OptimizationParameter — Base type for a cBot parameter's optimization configuration. One derived record exists for each AlgoParameterType. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationParameter/index.md) - property `public bool IsOptimized {get;}` | py `optimizationParameter.IsOptimized: bool` — Gets a value indicating whether the parameter is included in the sweep. When false, the parameter is held fixed at its value. [CLI not supported; Cloud not supported] - property `public string Name {get;}` | py `optimizationParameter.Name: str` — Gets the cBot parameter name (must match its property name). [CLI not supported; Cloud not supported] ## record cAlgo.API.OptimizationParameter-API — Base type for a typed optimization parameter that carries a scalar value (used when the parameter is held fixed). [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationParameter-API/index.md) - property `public T Value {get;}` | py `optimizationParameter.Value: T` — Gets the scalar value used when the parameter is held fixed. [CLI not supported; Cloud not supported] ## interface cAlgo.API.OptimizationPass — Represents a single completed optimization pass and its key statistics. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationPass/index.md) - property `double Fitness {get;}` | py `optimizationPass.Fitness: float` — Gets the fitness value of the pass. [CLI not supported; Cloud not supported] - property `int Id {get;}` | py `optimizationPass.Id: int` — Gets the pass id. [CLI not supported; Cloud not supported] - property `string JsonReport {get;}` | py `optimizationPass.JsonReport: str` — Gets the full per-pass backtest result as JSON. [CLI not supported; Cloud not supported] - property `double MaxEquityDrawdownPercentages {get;}` | py `optimizationPass.MaxEquityDrawdownPercentages: float` — Gets the maximum equity drawdown of the pass, as a percentage. [CLI not supported; Cloud not supported] - property `double NetProfit {get;}` | py `optimizationPass.NetProfit: float` — Gets the net profit of the pass. [CLI not supported; Cloud not supported] - property `IReadOnlyDictionary ParameterValues {get;}` | py `optimizationPass.ParameterValues: dict[str, str]` — Gets the exact parameter values this pass used, keyed by parameter name. [CLI not supported; Cloud not supported] - property `double ProfitFactor {get;}` | py `optimizationPass.ProfitFactor: float` — Gets the profit factor of the pass. [CLI not supported; Cloud not supported] - property `TimeFrame TimeFrame {get;}` | py `optimizationPass.TimeFrame: TimeFrame` — Gets the time frame of the pass. [CLI not supported; Cloud not supported] - property `int TotalTrades {get;}` | py `optimizationPass.TotalTrades: int` — Gets the total number of trades in the pass. [CLI not supported; Cloud not supported] ## record cAlgo.API.OptimizationPassCompletedEventArgs — Provides data for the optimization pass completed event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationPassCompletedEventArgs/index.md) - constructor `public OptimizationPassCompletedEventArgs(OptimizationPassCompletedEventArgs original)` | py `OptimizationPassCompletedEventArgs(original: OptimizationPassCompletedEventArgs)` — [CLI not supported; Cloud not supported] - property `public OptimizationPass Pass {get;}` | py `optimizationPassCompletedEventArgs.Pass: OptimizationPass` — Gets the pass that completed. [CLI not supported; Cloud not supported] - property `public OptimizationProcess Process {get;}` | py `optimizationPassCompletedEventArgs.Process: OptimizationProcess` — Gets the optimization process that produced the pass. [CLI not supported; Cloud not supported] ## interface cAlgo.API.OptimizationProcess — Represents an optimization process with methods and properties to monitor its status and results. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationProcess/index.md) - method `void Terminate()` | py `optimizationProcess.Terminate() -> None` — Terminates the optimization process. [CLI not supported; Cloud not supported] - property `OptimizationPass BestPass {get;}` | py `optimizationProcess.BestPass: OptimizationPass` — Gets the best pass by the configured criteria or custom fitness, or null if no pass has completed. [CLI not supported; Cloud not supported] - property `bool IsCompleted {get;}` | py `optimizationProcess.IsCompleted: bool` — Gets a value indicating whether the optimization process is completed. [CLI not supported; Cloud not supported] - property `string JsonReport {get;}` | py `optimizationProcess.JsonReport: str` — Gets the optimization result as JSON (the .optres content): configuration plus every pass with its statistics. Returns null if the optimization is not finished or an error occurred. The format matches the desktop optimization "Save results", so the JSON can be opened or imported by the desktop optimization UI. [CLI not supported; Cloud not supported] - property `OptimizationError OptimizationError {get;}` | py `optimizationProcess.OptimizationError: OptimizationError` — Gets the error information if the optimization process failed. [CLI not supported; Cloud not supported] - property `IReadOnlyList Passes {get;}` | py `optimizationProcess.Passes: Sequence[OptimizationPass]` — Gets the passes completed so far, ordered by pass id. While running this grows as passes finish; on completion it holds every pass. [CLI not supported; Cloud not supported] - event `event Action Completed;` | py `optimizationProcess.Completed += handler # handler(obj: OptimizationCompletedEventArgs)` — Occurs when the optimization process is completed. [CLI not supported; Cloud not supported] - event `event Action PassCompleted;` | py `optimizationProcess.PassCompleted += handler # handler(obj: OptimizationPassCompletedEventArgs)` — Occurs when an individual optimization pass completes. [CLI not supported; Cloud not supported] - event `event Action ProgressChanged;` | py `optimizationProcess.ProgressChanged += handler # handler(obj: OptimizationProgressChangedEventArgs)` — Occurs when the optimization progress changes. [CLI not supported; Cloud not supported] ## record cAlgo.API.OptimizationProgressChangedEventArgs — Provides data for the optimization progress changed event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationProgressChangedEventArgs/index.md) - constructor `public OptimizationProgressChangedEventArgs(OptimizationProgressChangedEventArgs original)` | py `OptimizationProgressChangedEventArgs(original: OptimizationProgressChangedEventArgs)` — [CLI not supported; Cloud not supported] - property `public string Operation {get;}` | py `optimizationProgressChangedEventArgs.Operation: str` — Gets the description of the current operation. [CLI not supported; Cloud not supported] - property `public OptimizationProcess Process {get;}` | py `optimizationProgressChangedEventArgs.Process: OptimizationProcess` — Gets the optimization process that reported progress. [CLI not supported; Cloud not supported] - property `public double Progress {get;}` | py `optimizationProgressChangedEventArgs.Progress: float` — Gets the progress percentage of the current operation. [CLI not supported; Cloud not supported] ## record cAlgo.API.OptimizationSettings — Represents settings for configuring an optimization process. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationSettings/index.md) - constructor `public OptimizationSettings(DateTime startTimeUtc, DateTime endTimeUtc, double balance, IEnumerable criteria)` | py `OptimizationSettings(startTimeUtc: DateTime, endTimeUtc: DateTime, balance: float, criteria: Iterable[OptimizationCriterion])` — Initializes a new instance of the OptimizationSettings record. [CLI not supported; Cloud not supported] - constructor `public OptimizationSettings(OptimizationSettings original)` | py `OptimizationSettings(original: OptimizationSettings)` — [CLI not supported; Cloud not supported] - property `public bool ApplyCommissionAutomatically {get; set;}` | py `optimizationSettings.ApplyCommissionAutomatically: bool` — Gets a value that indicates whether the commission type and value of the optimized symbol are applied automatically. When it is set to true the Commission and CommissionType properties are ignored. The default value is false. [CLI not supported; Cloud not supported] - property `public bool AutoSelectBest {get; set;}` | py `optimizationSettings.AutoSelectBest: bool` — Gets a value indicating whether the best pass is auto-selected on completion. [CLI not supported; Cloud not supported] - property `public double Balance {get;}` | py `optimizationSettings.Balance: float` — Gets the initial balance for each pass. [CLI not supported; Cloud not supported] - property `public double Commission {get; set;}` | py `optimizationSettings.Commission: float` — Gets the commission value, it is interpreted based on the CommissionType property value. It is ignored when ApplyCommissionAutomatically is set to true. The default value is 0. [CLI not supported; Cloud not supported] - property `public SymbolCommissionType CommissionType {get; set;}` | py `optimizationSettings.CommissionType: SymbolCommissionType` — Gets the commission type that defines how the Commission property value is interpreted. It is ignored when ApplyCommissionAutomatically is set to true. The default value is SymbolCommissionType.UsdPerMillionUsdVolume. [CLI not supported; Cloud not supported] - property `public int Cores {get; set;}` | py `optimizationSettings.Cores: int` — Gets the number of CPU cores used to run passes in parallel. Must be greater than or equal to 1. Zero will use the platform default which is ProcessorCount / 2 + 1. [CLI not supported; Cloud not supported] - property `public IReadOnlyList Criteria {get;}` | py `optimizationSettings.Criteria: Sequence[OptimizationCriterion]` — Gets the standard optimization criteria. Ignored when OptimizationSettings.UseCustomFitness is true. [CLI not supported; Cloud not supported] - property `public string DataFile {get; set;}` | py `optimizationSettings.DataFile: str` — Gets the path to the data file used for the optimization. [CLI not supported; Cloud not supported] - property `public BacktestingDataMode DataMode {get; set;}` | py `optimizationSettings.DataMode: BacktestingDataMode` — Gets the data mode used for the optimization. [CLI not supported; Cloud not supported] - property `public DateTime EndTimeUtc {get;}` | py `optimizationSettings.EndTimeUtc: DateTime` — Gets the end time in UTC for the optimization period. [CLI not supported; Cloud not supported] - property `public OptimizationMethod Method {get; set;}` | py `optimizationSettings.Method: OptimizationMethod` — Gets the optimization method. Defaults to OptimizationMethod.Genetic. [CLI not supported; Cloud not supported] - property `public bool PreciseConversion {get; set;}` | py `optimizationSettings.PreciseConversion: bool` — Gets a value indicating whether historical data for additional symbols is downloaded to convert profit and margin into the account deposit currency precisely. When true, real historical exchange rates of the additional symbols are used; when false, the default, approximated rates are used. Enabling it can increase the run time and the amount of downloaded data. [CLI not supported; Cloud not supported] - property `public double SpreadPips {get; set;}` | py `optimizationSettings.SpreadPips: float` — Gets the spread in pips. [CLI not supported; Cloud not supported] - property `public DateTime StartTimeUtc {get;}` | py `optimizationSettings.StartTimeUtc: DateTime` — Gets the start time in UTC for the optimization period. [CLI not supported; Cloud not supported] - property `public bool UseCustomFitness {get; set;}` | py `optimizationSettings.UseCustomFitness: bool` — Gets a value indicating whether to use the cBot's custom GetFitness instead of OptimizationSettings.Criteria. [CLI not supported; Cloud not supported] ## record cAlgo.API.OptimizationStringParameter — A string cBot parameter. Not optimizable; always held fixed. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationStringParameter/index.md) - constructor `public OptimizationStringParameter(string name, string value)` | py `OptimizationStringParameter(name: str, value: str)` — Holds the parameter fixed at the given value. [CLI not supported; Cloud not supported] - constructor `public OptimizationStringParameter(OptimizationStringParameter original)` | py `OptimizationStringParameter(original: OptimizationStringParameter)` — [CLI not supported; Cloud not supported] ## record cAlgo.API.OptimizationSymbolParameter — A Symbol cBot parameter, optimized over a set of symbols or held fixed. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationSymbolParameter/index.md) - constructor `public OptimizationSymbolParameter(string name, IEnumerable values)` | py `OptimizationSymbolParameter(name: str, values: Iterable[Symbol])` — Optimizes the parameter over the given values. [CLI not supported; Cloud not supported] - constructor `public OptimizationSymbolParameter(string name, Symbol value)` | py `OptimizationSymbolParameter(name: str, value: Symbol)` — Holds the parameter fixed at the given value. [CLI not supported; Cloud not supported] - constructor `public OptimizationSymbolParameter(OptimizationSymbolParameter original)` | py `OptimizationSymbolParameter(original: OptimizationSymbolParameter)` — [CLI not supported; Cloud not supported] - property `public IReadOnlyList Values {get;}` | py `optimizationSymbolParameter.Values: Sequence[Symbol]` — Gets the discrete set of symbols to optimize over. [CLI not supported; Cloud not supported] ## record cAlgo.API.OptimizationTimeFrameParameter — A TimeFrame cBot parameter, optimized over a set of time frames or held fixed. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationTimeFrameParameter/index.md) - constructor `public OptimizationTimeFrameParameter(string name, IEnumerable values)` | py `OptimizationTimeFrameParameter(name: str, values: Iterable[TimeFrame])` — Optimizes the parameter over the given values. [CLI not supported; Cloud not supported] - constructor `public OptimizationTimeFrameParameter(string name, TimeFrame value)` | py `OptimizationTimeFrameParameter(name: str, value: TimeFrame)` — Holds the parameter fixed at the given value. [CLI not supported; Cloud not supported] - constructor `public OptimizationTimeFrameParameter(OptimizationTimeFrameParameter original)` | py `OptimizationTimeFrameParameter(original: OptimizationTimeFrameParameter)` — [CLI not supported; Cloud not supported] - property `public IReadOnlyList Values {get;}` | py `optimizationTimeFrameParameter.Values: Sequence[TimeFrame]` — Gets the discrete set of time frames to optimize over. [CLI not supported; Cloud not supported] ## record cAlgo.API.OptimizationTimeSpanParameter — A TimeSpan cBot parameter, optimized over a range or held fixed. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Optimization/OptimizationTimeSpanParameter/index.md) - constructor `public OptimizationTimeSpanParameter(string name, TimeSpan min, TimeSpan max, TimeSpan step)` | py `OptimizationTimeSpanParameter(name: str, min: TimeSpan, max: TimeSpan, step: TimeSpan)` — Optimizes the parameter over the range the minimum to the maximum by the step. [CLI not supported; Cloud not supported] - constructor `public OptimizationTimeSpanParameter(string name, TimeSpan value)` | py `OptimizationTimeSpanParameter(name: str, value: TimeSpan)` — Holds the parameter fixed at the given value. [CLI not supported; Cloud not supported] - constructor `public OptimizationTimeSpanParameter(OptimizationTimeSpanParameter original)` | py `OptimizationTimeSpanParameter(original: OptimizationTimeSpanParameter)` — [CLI not supported; Cloud not supported] - property `public TimeSpan Max {get;}` | py `optimizationTimeSpanParameter.Max: TimeSpan` — Gets the inclusive maximum of the range. [CLI not supported; Cloud not supported] - property `public TimeSpan Min {get;}` | py `optimizationTimeSpanParameter.Min: TimeSpan` — Gets the inclusive minimum of the range. [CLI not supported; Cloud not supported] - property `public TimeSpan Step {get;}` | py `optimizationTimeSpanParameter.Step: TimeSpan` — Gets the step of the range. [CLI not supported; Cloud not supported] ## enum cAlgo.API.OrderType — Represents the different types of orders. (https://help.ctrader.com/ctrader-algo/references/Trading/OrderType/index.md) - enum value `OrderType.Market;` | py `OrderType.Market` — Market order. - enum value `OrderType.Limit;` | py `OrderType.Limit` — Limit order. - enum value `OrderType.Stop;` | py `OrderType.Stop` — Stop order. - enum value `OrderType.StopLimit;` | py `OrderType.StopLimit` — Stop limit order. ## enum cAlgo.API.Orientation — Defines the different orientations that panel layout can have. (https://help.ctrader.com/ctrader-algo/references/Controls/Orientation/index.md) - enum value `Orientation.Horizontal;` | py `Orientation.Horizontal` — Elements in the panel layout should be horizontally oriented. - enum value `Orientation.Vertical;` | py `Orientation.Vertical` — Elements in the panel layout should be vertically oriented. ## interface cAlgo.API.Indicators.OscillatorMovingAverage — The calculation of the Oscillator of a Moving Average. (https://help.ctrader.com/ctrader-algo/references/Indicators/OscillatorMovingAverage/index.md) - property `IndicatorDataSeries Histogram {get;}` | py `oscillatorMovingAverage.Histogram: IndicatorDataSeries` — The Oscillator of a Moving Average is a technical indicator that shows the difference between an oscillator and its moving average over a given period of time. ## class cAlgo.API.OutputAttribute — This attribute is used for marking an indicator IndicatorDataSeries property as a line Output. (https://help.ctrader.com/ctrader-algo/references/Attributes/OutputAttribute/index.md) - constructor `public OutputAttribute(string lineName)` | py `OutputAttribute(lineName: str)` — Initializes a new instance of the OutputAttribute and sets the name. - property `public string Description {get; set;}` | py `outputAttribute.Description: str` — Gets or sets description for output that will be shown in UI. - property `public bool IsColorCustomizable {get; set;}` | py `outputAttribute.IsColorCustomizable: bool` — Gets or sets if Output line color is customizable or not. - property `public bool IsLastValueVisibleInTitle {get; set;}` | py `outputAttribute.IsLastValueVisibleInTitle: bool` — Gets or sets if output last value should be visible or not in instance title (default: true). - property `public bool IsVisible {get; set;}` | py `outputAttribute.IsVisible: bool` — Gets or sets default visibility of output. - property `public string LineColor {get; set;}` | py `outputAttribute.LineColor: str` — Gets or sets the Color of the Output property. This Color will be used when the line for this Output is plotted. - property `public LineStyle LineStyle {get; set;}` | py `outputAttribute.LineStyle: LineStyle` — Gets or sets the Line Style for given Output property. By default it is set to Solid - property `public string Name {get;}` | py `outputAttribute.Name: str` — The plot name - property `public PlotType PlotType {get; set;}` | py `outputAttribute.PlotType: PlotType` — Plot type. - property `public float Thickness {get; set;}` | py `outputAttribute.Thickness: float` — Sets the Width of the Output property. ## enum cAlgo.API.OwnerType — The types of owners for windows (https://help.ctrader.com/ctrader-algo/references/Controls/Windows/OwnerType/index.md) - enum value `OwnerType.None;` | py `OwnerType.None` — The default owner type, which means the window has no owner - enum value `OwnerType.Chart;` | py `OwnerType.Chart` — The chart owns the window - enum value `OwnerType.Application;` | py `OwnerType.Application` — The application main window owns the window ## class cAlgo.API.Panel — Provides a base class for all Panel elements. Use Panel elements to position and arrange child objects. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/Layout/Panel/index.md) - method `public void AddChild(ControlBase child)` | py `panel.AddChild(child: ControlBase) -> None` — Adds the child element. [CLI not supported; Cloud not supported] - method `public bool HasChild(ControlBase child)` | py `panel.HasChild(child: ControlBase) -> bool` — Returns True if panel has passed child otherwise false. [CLI not supported; Cloud not supported] - method `public void RemoveChild(ControlBase child)` | py `panel.RemoveChild(child: ControlBase) -> None` — Removes the child element. [CLI not supported; Cloud not supported] - property `public Color BackgroundColor {get; set;}` | py `panel.BackgroundColor: Color` — Gets or sets the color of the panel background. [CLI not supported; Cloud not supported] - property `public int ChildCount {get;}` | py `panel.ChildCount: int` — Gets count of panel children. [CLI not supported; Cloud not supported] - property `public IEnumerable Children {get;}` | py `panel.Children: Iterable[ControlBase]` — Gets panel children. [CLI not supported; Cloud not supported] ## interface cAlgo.API.Indicators.ParabolicSAR — The calculation of the Parabolic SAR Indicator. (https://help.ctrader.com/ctrader-algo/references/Indicators/ParabolicSAR/index.md) - property `IndicatorDataSeries Result {get;}` | py `parabolicSAR.Result: IndicatorDataSeries` — Gets the resulting series of the Parabolic SAR indicator. ## class cAlgo.API.ParameterAttribute — The Parameter Attribute class. (https://help.ctrader.com/ctrader-algo/references/Attributes/ParameterAttribute/index.md) - constructor `public ParameterAttribute(string name)` | py `ParameterAttribute(name: str)` — Initializes a new ParameterAttribute instance and sets the name. - constructor `public ParameterAttribute()` | py `ParameterAttribute()` — Initializes a new instance of the ParameterAttribute class. - property `public object DefaultValue {get; set;}` | py `parameterAttribute.DefaultValue: object` — Gets or sets the default value of this Parameter property. - property `public string Description {get; set;}` | py `parameterAttribute.Description: str` — Gets or sets description for input parameter that will be shown in UI. - property `public string Group {get; set;}` | py `parameterAttribute.Group: str` — Groups parameters in UI. - property `public bool IsValueVisibleInTitle {get; set;}` | py `parameterAttribute.IsValueVisibleInTitle: bool` — Gets or sets whether parameter value should be visible or not in instance title (default: true). - property `public object MaxValue {get; set;}` | py `parameterAttribute.MaxValue: object` — Gets or sets the maximum value of this Parameter property. It is used for validating user input. - property `public object MinValue {get; set;}` | py `parameterAttribute.MinValue: object` — Gets or sets the minimum value of this Parameter property. It is used for validating user input. - property `public string Name {get;}` | py `parameterAttribute.Name: str` — The input parameter name. - property `public double Step {get; set;}` | py `parameterAttribute.Step: float` — Gets or sets the step of this Parameter. Step is used in NumericUpDown controls in parameter editors. ## enum cAlgo.API.PenLineCap — Describes the shape at the end of a line or segment. (https://help.ctrader.com/ctrader-algo/references/Controls/Layout/Shapes/PenLineCap/index.md) - enum value `PenLineCap.Flat;` | py `PenLineCap.Flat` — A cap that does not extend past the last point of the line. Comparable to no line cap. - enum value `PenLineCap.Square;` | py `PenLineCap.Square` — A rectangle that has a height equal to the line thickness and a length equal to half the line thickness. - enum value `PenLineCap.Round;` | py `PenLineCap.Round` — A semicircle that has a diameter equal to the line thickness. - enum value `PenLineCap.Triangle;` | py `PenLineCap.Triangle` — An isosceles right triangle whose base length is equal to the thickness of the line. ## enum cAlgo.API.PenLineJoin — Describes the shape that joins two lines or segments. (https://help.ctrader.com/ctrader-algo/references/Controls/Layout/Shapes/PenLineJoin/index.md) - enum value `PenLineJoin.Miter;` | py `PenLineJoin.Miter` — Regular angular vertices. - enum value `PenLineJoin.Bevel;` | py `PenLineJoin.Bevel` — Beveled vertices. - enum value `PenLineJoin.Round;` | py `PenLineJoin.Round` — Rounded vertices. ## interface cAlgo.API.PendingOrder — Provides access to properties of pending orders (https://help.ctrader.com/ctrader-algo/references/Trading/Orders/PendingOrder/index.md) - method `TradeResult Cancel()` | py `pendingOrder.Cancel() -> TradeResult` — Shortcut for Robot.CancelPendingOrder method - method `TradeResult ModifyExpirationTime(DateTime? expirationTime)` | py `pendingOrder.ModifyExpirationTime(expirationTime: DateTime | None) -> TradeResult` — Shortcut for Robot.ModifyPendingOrder method to change Expiration Time - method `TradeResult ModifyStopLimitRange(double stopLimitRangePips)` | py `pendingOrder.ModifyStopLimitRange(stopLimitRangePips: float) -> TradeResult` — Shortcut for Robot.ModifyPendingOrder method to change Stop Limit Range - method `TradeResult ModifyStopLossBreakEven(StopLossBreakEven stopLossBreakEven)` | py `pendingOrder.ModifyStopLossBreakEven(stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Shortcut for the Robot.ModifyPosition method to change the StopLoss Break-Even. - method `TradeResult ModifyStopLossPips(double? stopLossPips)` | py `pendingOrder.ModifyStopLossPips(stopLossPips: float | None) -> TradeResult` — Shortcut for Robot.ModifyPendingOrder method to change Stop Loss - method `TradeResult ModifyStopLossPrice(double? stopLoss)` | py `pendingOrder.ModifyStopLossPrice(stopLoss: float | None) -> TradeResult` — Shortcut for Robot.ModifyPendingOrder method to change Stop Loss - method `TradeResult ModifyTakeProfit(RelativeTakeProfitProtections takeProfitProtections)` | py `pendingOrder.ModifyTakeProfit(takeProfitProtections: RelativeTakeProfitProtections) -> TradeResult` — Shortcut for the Robot.ModifyTakeProfit method to change the Take Profit protection - method `TradeResult ModifyTakeProfit(AbsoluteTakeProfitProtections takeProfitProtections)` | py `pendingOrder.ModifyTakeProfit(takeProfitProtections: AbsoluteTakeProfitProtections) -> TradeResult` — Shortcut for the Robot.ModifyTakeProfit method to change the Take Profit protection - method `TradeResult ModifyTakeProfitPips(double? takeProfitPips)` | py `pendingOrder.ModifyTakeProfitPips(takeProfitPips: float | None) -> TradeResult` — Shortcut for Robot.ModifyPendingOrder method to change Take Profit - method `TradeResult ModifyTakeProfitPrice(double? takeProfit)` | py `pendingOrder.ModifyTakeProfitPrice(takeProfit: float | None) -> TradeResult` — Shortcut for Robot.ModifyPendingOrder method to change Take Profit - method `TradeResult ModifyTargetPrice(double targetPrice)` | py `pendingOrder.ModifyTargetPrice(targetPrice: float) -> TradeResult` — Shortcut for Robot.ModifyPendingOrder method to change Target Price - method `TradeResult ModifyVolume(double volume)` | py `pendingOrder.ModifyVolume(volume: float) -> TradeResult` — Shortcut for Robot.ModifyPendingOrder method to change VolumeInUnits - property `AbsoluteTakeProfitProtections AbsoluteTakeProfitProtections {get;}` | py `pendingOrder.AbsoluteTakeProfitProtections: AbsoluteTakeProfitProtections` — The absolute take profit protections of the order. Null if order has no take profit. - property `string Channel {get;}` | py `pendingOrder.Channel: str` — Gets the channel via which the order was placed in a string format. [CLI works differently; Cloud works differently] - property `string Comment {get;}` | py `pendingOrder.Comment: str` — User assigned Order Comment - property `double CurrentPrice {get;}` | py `pendingOrder.CurrentPrice: float` — Gets the current price of the symbol for which the pending order is placed. - property `double DistancePips {get;}` | py `pendingOrder.DistancePips: float` — Gets the distance in pips between the current price of the symbol and the target price of the pending order (via TargetPrice ). - property `DateTime? ExpirationTime {get;}` | py `pendingOrder.ExpirationTime: DateTime | None` — The order Expiration time The Timezone used is set in the Robot attribute - property `bool HasTrailingStop {get;}` | py `pendingOrder.HasTrailingStop: bool` — When HasTrailingStop set to true, server updates Stop Loss every time position moves in your favor. - property `int Id {get;}` | py `pendingOrder.Id: int` — Unique order Id. - property `string Label {get;}` | py `pendingOrder.Label: str` — User assigned identifier for the order. - property `DateTime? LastUpdateTime {get;}` | py `pendingOrder.LastUpdateTime: DateTime | None` — Gets the time when an order was last updated. The timezone used is set in the algorithm class attribute. - property `PendingOrderType OrderType {get;}` | py `pendingOrder.OrderType: PendingOrderType` — Specifies whether this order is Stop or Limit. - property `ProtectionType ProtectionType {get;}` | py `pendingOrder.ProtectionType: ProtectionType` — Gets the order protection type. - property `double Quantity {get;}` | py `pendingOrder.Quantity: float` — Quantity (lots) of this order - property `RelativeTakeProfitProtections RelativeTakeProfitProtections {get;}` | py `pendingOrder.RelativeTakeProfitProtections: RelativeTakeProfitProtections` — The relative take profit protections of the order. Null if order has no take profit. - property `double? StopLimitRangePips {get;}` | py `pendingOrder.StopLimitRangePips: float | None` — Maximum limit from order target price, where order can be executed. - property `double? StopLoss {get;}` | py `pendingOrder.StopLoss: float | None` — The order stop loss in price - property `StopLossBreakEven StopLossBreakEven {get;}` | py `pendingOrder.StopLossBreakEven: StopLossBreakEven` — The stop loss break even of the order. - property `double? StopLossPips {get;}` | py `pendingOrder.StopLossPips: float | None` — The order stop loss in pips - property `StopTriggerMethod? StopLossTriggerMethod {get;}` | py `pendingOrder.StopLossTriggerMethod: StopTriggerMethod | None` — Trigger method for order's StopLoss - property `StopTriggerMethod? StopOrderTriggerMethod {get;}` | py `pendingOrder.StopOrderTriggerMethod: StopTriggerMethod | None` — Determines how pending order will be triggered in case it is a StopOrder - property `DateTime SubmittedTime {get;}` | py `pendingOrder.SubmittedTime: DateTime` — Gets the order submission time. - property `Symbol Symbol {get;}` | py `pendingOrder.Symbol: Symbol` — Gets the order symbol. - property `string SymbolName {get;}` | py `pendingOrder.SymbolName: str` — Gets the symbol name. - property `double? TakeProfit {get;}` | py `pendingOrder.TakeProfit: float | None` — The order take profit in price - property `double? TakeProfitPips {get;}` | py `pendingOrder.TakeProfitPips: float | None` — The order take profit in pips - property `double TargetPrice {get;}` | py `pendingOrder.TargetPrice: float` — The order target price. - property `TradeType TradeType {get;}` | py `pendingOrder.TradeType: TradeType` — Specifies whether this order is to buy or sell. - property `double VolumeInUnits {get;}` | py `pendingOrder.VolumeInUnits: float` — Volume of this order. ## enum cAlgo.API.PendingOrderCancellationReason — The reason for the order cancellation. (https://help.ctrader.com/ctrader-algo/references/Trading/Orders/PendingOrderCancellationReason/index.md) - enum value `PendingOrderCancellationReason.Cancelled;` | py `PendingOrderCancellationReason.Cancelled` — THe order was cancelled by trader. - enum value `PendingOrderCancellationReason.Expired;` | py `PendingOrderCancellationReason.Expired` — The order was cancelled due to expiration. - enum value `PendingOrderCancellationReason.Rejected;` | py `PendingOrderCancellationReason.Rejected` — The order fill was rejected and the order was cancelled. ## class cAlgo.API.PendingOrderCancelledEventArgs — Provides data for the pending order cancellation event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/PendingOrderCancelledEventArgs/index.md) - property `public PendingOrder PendingOrder {get;}` | py `pendingOrderCancelledEventArgs.PendingOrder: PendingOrder` — Gets the pending order that was cancelled. - property `public PendingOrderCancellationReason Reason {get;}` | py `pendingOrderCancelledEventArgs.Reason: PendingOrderCancellationReason` — Gets the reason for the pending order cancellation. ## class cAlgo.API.PendingOrderCreatedEventArgs — Provides data for the pending order creation events. (https://help.ctrader.com/ctrader-algo/references/EventArgs/PendingOrderCreatedEventArgs/index.md) - property `public PendingOrder PendingOrder {get;}` | py `pendingOrderCreatedEventArgs.PendingOrder: PendingOrder` — Gets the pending order that was created. ## class cAlgo.API.PendingOrderFilledEventArgs — Provides data for the pending order fill event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/PendingOrderFilledEventArgs/index.md) - property `public PendingOrder PendingOrder {get;}` | py `pendingOrderFilledEventArgs.PendingOrder: PendingOrder` — Gets the pending order that was filled. - property `public Position Position {get;}` | py `pendingOrderFilledEventArgs.Position: Position` — Gets the position that was filled from the pending order. ## class cAlgo.API.PendingOrderModifiedEventArgs — Provides data for the pending order modification event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/PendingOrderModifiedEventArgs/index.md) - property `public PendingOrder PendingOrder {get;}` | py `pendingOrderModifiedEventArgs.PendingOrder: PendingOrder` — Gets the pending order that was modified. ## enum cAlgo.API.PendingOrderType — Represents the type of pending order. (https://help.ctrader.com/ctrader-algo/references/Trading/Orders/PendingOrderType/index.md) - enum value `PendingOrderType.Limit;` | py `PendingOrderType.Limit` — A limit order is an order to buy or sell at a specific price or better. - enum value `PendingOrderType.Stop;` | py `PendingOrderType.Stop` — A stop order is an order to buy or sell once the price of the symbol reaches a specified price. - enum value `PendingOrderType.StopLimit;` | py `PendingOrderType.StopLimit` — A stop limit order is an order to buy or sell once the price of the symbol reaches specific price. Order has a parameter for maximum distance from that target price, where it can be executed. ## interface cAlgo.API.PendingOrders — Provides access to methods of the Pending Orders collection (https://help.ctrader.com/ctrader-algo/references/Trading/Orders/PendingOrders/index.md) - method `PendingOrder FindById(int id)` | py `api.PendingOrders.FindById(id: int) -> PendingOrder | None` — Find PendingOrder by Id. - property `int Count {get;}` | py `api.PendingOrders.Count: int` — Total number of pending orders - property `PendingOrder Item {get;}` | py `api.PendingOrders[index: int] -> PendingOrder` — Find a pending order by index - event `event Action Cancelled;` | py `api.PendingOrders.Cancelled += handler # handler(obj: PendingOrderCancelledEventArgs)` — Occurs when pending order is cancelled - event `event Action Created;` | py `api.PendingOrders.Created += handler # handler(obj: PendingOrderCreatedEventArgs)` — Occurs when pending order is created - event `event Action Filled;` | py `api.PendingOrders.Filled += handler # handler(obj: PendingOrderFilledEventArgs)` — Occurs when pending order is filled - event `event Action Modified;` | py `api.PendingOrders.Modified += handler # handler(obj: PendingOrderModifiedEventArgs)` — Occurs when pending order is modified ## interface cAlgo.API.Permission — Base interface for Permissions [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Permissions/Permission/index.md) - method `bool Request()` | py `permission.Request() -> bool` — Requests the permission from user. [CLI works differently; Cloud works differently] - property `bool IsAllowed {get;}` | py `permission.IsAllowed: bool` — True if Permission is given by user otherwise false. [CLI works differently; Cloud works differently] ## interface cAlgo.API.Permissions — Provides all permissions state. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Permissions/Permissions/index.md) - property `ChartRobotsPermission ChartRobotsPermission {get;}` | py `api.Permissions.ChartRobotsPermission: ChartRobotsPermission` — Chart robots permission. [CLI works differently; Cloud works differently] - property `ClipboardPermission ClipboardPermission {get;}` | py `api.Permissions.ClipboardPermission: ClipboardPermission` — System Clipboard permission. [CLI works differently; Cloud works differently] - property `InstallationPermission InstallationPermission {get;}` | py `api.Permissions.InstallationPermission: InstallationPermission` — Algo installation permission. [CLI works differently; Cloud works differently] - property `TradingPermission TradingPermission {get;}` | py `api.Permissions.TradingPermission: TradingPermission` — Trading permission. [CLI works differently; Cloud works differently] ## enum cAlgo.API.PlotType — The Plot type. (https://help.ctrader.com/ctrader-algo/references/Indicators/PlotType/index.md) - enum value `PlotType.Line;` | py `PlotType.Line` — Plot Indicator result as a line. - enum value `PlotType.Histogram;` | py `PlotType.Histogram` — Plot Indicator result as a histogram. - enum value `PlotType.Points;` | py `PlotType.Points` — Plot Indicator result as a sequence of points. - enum value `PlotType.DiscontinuousLine;` | py `PlotType.DiscontinuousLine` — Plot Indicator result as a line with breaks where there are no values in the IndicatorDataSeries. ## class cAlgo.API.Plugin — Base class for Plugins. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/General/Plugin/index.md) - method `public void BeginInvokeOnMainThread(Action action)` | py `api.BeginInvokeOnMainThread(action: Action) -> None` — Invokes asynchronously the specified code on the main Plugin thread. [CLI not supported; Cloud not supported] - method `public TradeResult CancelPendingOrder(PendingOrder pendingOrder)` | py `api.CancelPendingOrder(pendingOrder: PendingOrder) -> TradeResult` — Cancel a Pending Order [CLI not supported; Cloud not supported] - method `public TradeOperation CancelPendingOrderAsync(PendingOrder pendingOrder, Action callback)` | py `api.CancelPendingOrderAsync(pendingOrder: PendingOrder, callback: Callable[[TradeResult], None]) -> TradeOperation` — Cancel a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeResult ClosePosition(Position position)` | py `api.ClosePosition(position: Position) -> TradeResult` — Close a position [CLI not supported; Cloud not supported] - method `public TradeResult ClosePosition(Position position, long volume)` | py `api.ClosePosition(position: Position, volume: int) -> TradeResult` — Close a position [CLI not supported; Cloud not supported] - method `public TradeResult ClosePosition(Position position, double volume)` | py `api.ClosePosition(position: Position, volume: float) -> TradeResult` — Close a position [CLI not supported; Cloud not supported] - method `public TradeOperation ClosePositionAsync(Position position, Action callback)` | py `api.ClosePositionAsync(position: Position, callback: Callable[[TradeResult], None]) -> TradeOperation` — Close a position in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ClosePositionAsync(Position position, long volume, Action callback)` | py `api.ClosePositionAsync(position: Position, volume: int, callback: Callable[[TradeResult], None]) -> TradeOperation` — Close a position in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ClosePositionAsync(Position position, double volume, Action callback)` | py `api.ClosePositionAsync(position: Position, volume: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Close a position in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public IndicatorDataSeries CreateDataSeries(string symbolName, TimeFrame timeFrame)` | py `api.CreateDataSeries(symbolName: str, timeFrame: TimeFrame) -> IndicatorDataSeries` — Returns a new IndicatorDataSeries. [CLI not supported; Cloud not supported] - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float) -> TradeResult` — Execute a Market Order [CLI not supported; Cloud not supported] - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str) -> TradeResult` — Execute a Market Order [CLI not supported; Cloud not supported] - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLossPips: float | None, takeProfitPips: float | None) -> TradeResult` — Execute a Market Order [CLI not supported; Cloud not supported] - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, string comment)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str) -> TradeResult` — Execute a Market Order [CLI not supported; Cloud not supported] - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, hasTrailingStop: bool) -> TradeResult` — Execute a Market Order [CLI not supported; Cloud not supported] - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Execute a Market Order [CLI not supported; Cloud not supported] - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Execute a Market Order [CLI not supported; Cloud not supported] - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Execute a Market Order [CLI not supported; Cloud not supported] - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections) -> TradeResult` — Execute a Market Order [CLI not supported; Cloud not supported] - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Execute a Market Order [CLI not supported; Cloud not supported] - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str) -> TradeResult` — Execute a Market Order [CLI not supported; Cloud not supported] - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, StopLossBreakEven stopLossBreakEven)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Execute a Market Order [CLI not supported; Cloud not supported] - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool) -> TradeResult` — Execute a Market Order [CLI not supported; Cloud not supported] - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Execute a Market Order [CLI not supported; Cloud not supported] - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, string comment, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float) -> TradeResult` — Execute a Market Order [CLI not supported; Cloud not supported] - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str) -> TradeResult` — Execute a Market Order [CLI not supported; Cloud not supported] - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLossPips: float | None, takeProfitPips: float | None) -> TradeResult` — Execute a Market Order [CLI not supported; Cloud not supported] - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips, string comment)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str) -> TradeResult` — Execute a Market Order [CLI not supported; Cloud not supported] - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, hasTrailingStop: bool) -> TradeResult` — Execute a Market Order [CLI not supported; Cloud not supported] - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Execute a Market Order [CLI not supported; Cloud not supported] - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Execute a Market Range Order [CLI not supported; Cloud not supported] - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Execute a Market Range Order [CLI not supported; Cloud not supported] - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections) -> TradeResult` — Execute a Market Order [CLI not supported; Cloud not supported] - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Execute a Market Order [CLI not supported; Cloud not supported] - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str) -> TradeResult` — Execute a Market Order [CLI not supported; Cloud not supported] - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, StopLossBreakEven stopLossBreakEven)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Execute a Market Order [CLI not supported; Cloud not supported] - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool) -> TradeResult` — Execute a Market Order [CLI not supported; Cloud not supported] - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Execute a Market Order [CLI not supported; Cloud not supported] - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips, string comment, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market range order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market range order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, long volume)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: int) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, long volume)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: int) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, long volume, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: int, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, long volume)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: int) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, long volume, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: int, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume, bool hasTrailingStop)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, long volume, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: int, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, long volume, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: int, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, long volume, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: int, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, long volume, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: int, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, long volume, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: int, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume, bool hasTrailingStop, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPosition(Position position, double volume)` | py `api.ModifyPosition(position: Position, volume: float) -> TradeResult` — Modify the volume of a position [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPosition(Position position, double? stopLoss, double? takeProfit, ProtectionType? protectionType)` | py `api.ModifyPosition(position: Position, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None) -> TradeResult` — Modify the protection of a position [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPosition(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits)` | py `api.ModifyPosition(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections) -> TradeResult` — Modify the protection of a position [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPosition(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits)` | py `api.ModifyPosition(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections) -> TradeResult` — Modify the protection of a position [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPosition(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPosition(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify the protection of a position [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPosition(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPosition(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify the protection of a position [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPosition(Position position, double? stopLoss, double? takeProfit, ProtectionType? protectionType, bool hasTrailingStop)` | py `api.ModifyPosition(position: Position, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, hasTrailingStop: bool) -> TradeResult` — Modify the protection of a position [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPosition(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, bool hasTrailingStop)` | py `api.ModifyPosition(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, hasTrailingStop: bool) -> TradeResult` — Modify the protection of a position [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPosition(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, bool hasTrailingStop)` | py `api.ModifyPosition(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, hasTrailingStop: bool) -> TradeResult` — Modify the protection of a position [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPosition(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPosition(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify the protection of a position [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPosition(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPosition(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify the protection of a position [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPosition(Position position, double? stopLoss, double? takeProfit, ProtectionType? protectionType, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ModifyPosition(position: Position, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Modify the protection of a position [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPosition(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ModifyPosition(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Modify the protection of a position [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPosition(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ModifyPosition(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Modify the protection of a position [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPosition(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPosition(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify the protection of a position [CLI not supported; Cloud not supported] - method `public TradeResult ModifyPosition(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPosition(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify the protection of a position [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPositionAsync(Position position, double volume, Action callback)` | py `api.ModifyPositionAsync(position: Position, volume: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPositionAsync(Position position, double? stopLoss, double? takeProfit, ProtectionType? protectionType, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPositionAsync(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPositionAsync(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPositionAsync(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPositionAsync(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPositionAsync(Position position, double? stopLoss, double? takeProfit, ProtectionType? protectionType, bool hasTrailingStop, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPositionAsync(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, bool hasTrailingStop, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPositionAsync(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, bool hasTrailingStop, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPositionAsync(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPositionAsync(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPositionAsync(Position position, double? stopLoss, double? takeProfit, ProtectionType? protectionType, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPositionAsync(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPositionAsync(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPositionAsync(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ModifyPositionAsync(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode [CLI not supported; Cloud not supported] - method `protected internal void OnError(Error error)` | py `api.OnError(error: Error) -> None` — Called if there is an error executing a trade operation. [CLI not supported; Cloud not supported] - method `protected internal void OnException(Exception exception)` | py `api.OnException(exception: Exception) -> None` — Called on each unhandled exception. [CLI not supported; Cloud not supported] - method `protected internal void OnStart()` | py `api.OnStart() -> None` — Called when Plugin is being started. Override this method to initialize your Plugin. [CLI not supported; Cloud not supported] - method `protected internal void OnStop()` | py `api.OnStop() -> None` — Called when Plugin is stopped. [CLI not supported; Cloud not supported] - method `protected void OnTimer()` | py `api.OnTimer() -> None` — Called when the timer interval has elapsed. [CLI not supported; Cloud not supported] - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float) -> TradeResult` — Place a Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str) -> TradeResult` — Place a Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None) -> TradeResult` — Place a Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections) -> TradeResult` — Place a Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections) -> TradeResult` — Place a Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None) -> TradeResult` — Place a Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None) -> TradeResult` — Place a Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None) -> TradeResult` — Place a Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str) -> TradeResult` — Place a Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str) -> TradeResult` — Place a Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str) -> TradeResult` — Place a Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop)` | py `api.PlaceLimitOrder(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) -> TradeResult` — Place a Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool) -> TradeResult` — Place a Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool) -> TradeResult` — Place a Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.PlaceLimitOrder(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) -> TradeResult` — Place a Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Place a Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(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) -> TradeResult` — Place a Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Place a Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(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) -> TradeResult` — Place a Limit Order [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, Action callback)` | py `api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, Action callback)` | py `api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, Action callback)` | py `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` — Place limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, Action callback)` | py `api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, Action callback)` | py `api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, Action callback)` | py `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` — Place limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, Action callback)` | py `api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven, Action callback)` | py `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` — Place limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, Action callback)` | py `api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven, Action callback)` | py `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` — Place limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, Action callback)` | py `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` — Place limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, Action callback)` | py `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` — Place limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven, Action callback)` | py `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` — Place limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, Action callback)` | py `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` — Place limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven, Action callback)` | py `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` — Place limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `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 callback)` | py `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` — Place limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, Action callback)` | py `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` — Place limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `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 callback)` | py `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` — Place limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, Action callback)` | py `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` — Place limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `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 callback)` | py `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` — Place limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `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 callback)` | py `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` — Place limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `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 callback)` | py `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` — Place limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `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 callback)` | py `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` — Place limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `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 callback)` | py `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` — Place limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `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 callback)` | py `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` — Place limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str, hasTrailingStop: bool) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: 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` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop)` | py `api.PlaceStopOrder(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) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.PlaceStopOrder(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) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(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) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(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) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod)` | py `api.PlaceStopOrder(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, stopOrderTriggerMethod: StopTriggerMethod) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(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 callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(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 callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(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 callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, Action callback)` | py `api.PlaceStopOrderAsync(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, stopOrderTriggerMethod: StopTriggerMethod, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public void Print(object value)` | py `api.Print(value: object) -> None` — Prints text representation of the specified object to the log. [CLI not supported; Cloud not supported] - method `public void Print(object[] parameters)` | py `api.Print(parameters: list[object]) -> None` — Prints a message to the Log [CLI not supported; Cloud not supported] - method `public void Print(string message, object[] parameters)` | py `api.Print(message: str, parameters: list[object]) -> None` — Prints a message to the Log. [CLI not supported; Cloud not supported] - method `public void RefreshData()` | py `api.RefreshData() -> None` — Updates Bars, Positions, PendingOrders, History, etc. And sends postponed events after Thread sleep call. If you put the main thread on sleep by calling Thread sleep method then you have to call RefreshData after Thread wakes up to send the postponed events while thread was sleeping. [CLI not supported; Cloud not supported] - method `public TradeResult ReversePosition(Position position)` | py `api.ReversePosition(position: Position) -> TradeResult` — Modify the direction of trade at position [CLI not supported; Cloud not supported] - method `public TradeResult ReversePosition(Position position, double volume)` | py `api.ReversePosition(position: Position, volume: float) -> TradeResult` — Modify the direction of trade and volume of a position [CLI not supported; Cloud not supported] - method `public TradeOperation ReversePositionAsync(Position position, Action callback)` | py `api.ReversePositionAsync(position: Position, callback: Callable[[TradeResult], None]) -> TradeOperation` — Reverses Position in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public TradeOperation ReversePositionAsync(Position position, double volume, Action callback)` | py `api.ReversePositionAsync(position: Position, volume: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Reverses Position in asynchronous execution mode [CLI not supported; Cloud not supported] - method `public void Sleep(TimeSpan timespan)` | py `api.Sleep(timespan: TimeSpan) -> None` — Suspends the plugin until the specified timespan elapses. [CLI not supported; Cloud not supported] - method `public void Sleep(int milliseconds)` | py `api.Sleep(milliseconds: int) -> None` — Suspends the plugin until the specified number of milliseconds elapses. [CLI not supported; Cloud not supported] - method `public void Sleep(DateTime dateTime)` | py `api.Sleep(dateTime: DateTime) -> None` — Suspends the plugin until the specified datetime . [CLI not supported; Cloud not supported] - property `public IAccount Account {get;}` | py `api.Account: IAccount` — Contains all Account information [CLI not supported; Cloud not supported] - property `public AlgoRegistry AlgoRegistry {get;}` | py `api.AlgoRegistry: AlgoRegistry` — Provides access to installed Algorithms. [CLI not supported; Cloud not supported] - property `public Application Application {get;}` | py `api.Application: Application` — Represents the application. [CLI not supported; Cloud not supported] - property `public Asp Asp {get;}` | py `api.Asp: Asp` — Gets the active symbol panel. [CLI not supported; Cloud not supported] - property `public IAssetConverter AssetConverter {get;}` | py `api.AssetConverter: IAssetConverter` — Converts an asset to another asset. [CLI not supported; Cloud not supported] - property `public Assets Assets {get;}` | py `api.Assets: Assets` — Returns list of all available assets. [CLI not supported; Cloud not supported] - property `public Backtesting Backtesting {get;}` | py `api.Backtesting: Backtesting` — Provides access to cBot backtesting from plugins, including custom backtesting data sources. [CLI not supported; Cloud not supported] - property `public ChartManager ChartManager {get;}` | py `api.ChartManager: ChartManager` — Returns chart manager. [CLI not supported; Cloud not supported] - property `public ChartTemplates ChartTemplates {get;}` | py `api.ChartTemplates: ChartTemplates` — Provides access to Chart Templates. [CLI not supported; Cloud not supported] - property `public Clipboard Clipboard {get;}` | py `api.Clipboard: Clipboard` — Provides access to system Clipboard. [CLI not supported; Cloud not supported] - property `public Commands Commands {get;}` | py `api.Commands: Commands` — Provides access to commands. [CLI not supported; Cloud not supported] - property `public Compiler Compiler {get;}` | py `api.Compiler: Compiler` — Provides access to algo compiler. [CLI not supported; Cloud not supported] - property `public CustomSymbols CustomSymbols {get;}` | py `api.CustomSymbols: CustomSymbols` — Provides access to custom symbols API. [CLI not supported; Cloud not supported] - property `public FileAssociations FileAssociations {get;}` | py `api.FileAssociations: FileAssociations` — Provides access to file associations. [CLI not supported; Cloud not supported] - property `public HistoricalOrders HistoricalOrders {get;}` | py `api.HistoricalOrders: HistoricalOrders` — Provides access to historical orders. [CLI not supported; Cloud not supported] - property `public History History {get;}` | py `api.History: History` — Represents the collection of all historical trades of the account. [CLI not supported; Cloud not supported] - property `public Hotkeys Hotkeys {get;}` | py `api.Hotkeys: Hotkeys` — Provides access to hotkeys API. [CLI not supported; Cloud not supported] - property `public Http Http {get;}` | py `api.Http: Http` — Send HTTP requests. [CLI not supported; Cloud not supported] - property `public IIndicatorsAccessor Indicators {get;}` | py `api.Indicators: IIndicatorsAccessor` — Access to the built-in Indicators. [CLI not supported; Cloud not supported] - property `public TradeResult LastResult {get;}` | py `api.LastResult: TradeResult` — The latest trade result [CLI not supported; Cloud not supported] - property `public LocalStorage LocalStorage {get;}` | py `api.LocalStorage: LocalStorage` — Access the local storage API. [CLI not supported; Cloud not supported] - property `public MainMenu MainMenu {get;}` | py `api.MainMenu: MainMenu` — Provides access to main menu API. [CLI not supported; Cloud not supported] - property `public MarketData MarketData {get;}` | py `api.MarketData: MarketData` — Provides access to Market Data. [CLI not supported; Cloud not supported] - property `public MarketSession MarketSessions {get;}` | py `api.MarketSessions: MarketSession` — Returns current market sessions. [CLI not supported; Cloud not supported] - property `public Messages Messages {get;}` | py `api.Messages: Messages` — Access the messaging API. [CLI not supported; Cloud not supported] - property `public INotifications Notifications {get;}` | py `api.Notifications: INotifications` — Represents the notifications, such as sounds and email. [CLI not supported; Cloud not supported] - property `public Optimization Optimization {get;}` | py `api.Optimization: Optimization` — Provides access to cBot parameter optimization. [CLI not supported; Cloud not supported] - property `public PendingOrders PendingOrders {get;}` | py `api.PendingOrders: PendingOrders` — The array of all Pending Orders of the account. [CLI not supported; Cloud not supported] - property `public Permissions Permissions {get;}` | py `api.Permissions: Permissions` — Contains all Permissions information [CLI not supported; Cloud not supported] - property `public Positions Positions {get;}` | py `api.Positions: Positions` — The list of all open positions of the account. [CLI not supported; Cloud not supported] - property `public PriceAlerts PriceAlerts {get;}` | py `api.PriceAlerts: PriceAlerts` — Provides access to Price Alerts. [CLI not supported; Cloud not supported] - property `public IServer Server {get;}` | py `api.Server: IServer` — Server related information. [CLI not supported; Cloud not supported] - property `public Symbols Symbols {get;}` | py `api.Symbols: Symbols` — Gets the symbol names. [CLI not supported; Cloud not supported] - property `public DateTime Time {get;}` | py `api.Time: DateTime` — Returns the current server time. The shortcut to the Server.Time property. [CLI not supported; Cloud not supported] - property `public TimeFrameManager TimeFrameManager {get;}` | py `api.TimeFrameManager: TimeFrameManager` — Provides access to TimeFrames API. [CLI not supported; Cloud not supported] - property `public TimeFrames TimeFrames {get;}` | py `api.TimeFrames: TimeFrames` — Gets collection of available TimeFrames. [CLI not supported; Cloud not supported] - property `public DateTime TimeInUtc {get;}` | py `api.TimeInUtc: DateTime` — Returns the current server time in UTC. The shortcut to the Server.TimeInUtc property. [CLI not supported; Cloud not supported] - property `public TimeZoneInfo TimeZone {get;}` | py `api.TimeZone: TimeZoneInfo` — TimeZone of a Plugin. [CLI not supported; Cloud not supported] - property `public Timer Timer {get;}` | py `api.Timer: Timer` — Access to the Timer object. [CLI not supported; Cloud not supported] - property `public TradeWatch TradeWatch {get;}` | py `api.TradeWatch: TradeWatch` — Gets the Trade Watch panel. [CLI not supported; Cloud not supported] - property `public Transactions Transactions {get;}` | py `api.Transactions: Transactions` — Access account transactions. [CLI not supported; Cloud not supported] - property `public Watchlists Watchlists {get;}` | py `api.Watchlists: Watchlists` — Gets the watchlist. [CLI not supported; Cloud not supported] - event `public event Action MarketSessionsChanged;` | py `api.MarketSessionsChanged += handler # handler(obj: MarketSessionChangedEventArgs)` — Occurs when market sessions change. [CLI not supported; Cloud not supported] ## class cAlgo.API.PluginAttribute — Sealed class PluginAttribute. (https://help.ctrader.com/ctrader-algo/references/Attributes/PluginAttribute/index.md) - constructor `public PluginAttribute()` | py `PluginAttribute()` — Initializes a new PluginAttribute instance. - property `public AccessRights AccessRights {get; set;}` | py `pluginAttribute.AccessRights: AccessRights` — Gets or sets the access rights required for the Plugin. - property `public string AdditionalInfoUrl {get; set;}` | py `pluginAttribute.AdditionalInfoUrl: str` — Gets or sets additional info url. - property `public string TimeZone {get; set;}` | py `pluginAttribute.TimeZone: str` — Sets the timezone for all the Plugin datetime references ## interface cAlgo.API.PluginType — Represents a plugin algorithm type. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/AlgoRegistry/PluginType/index.md) - property `bool IsEnabled {get;}` | py `pluginType.IsEnabled: bool` — Returns true if plugin is enabled otherwise false. [Cloud not supported] - property `IReadonlyList Parameters {get;}` | py `pluginType.Parameters: IReadonlyList[AlgoParameter]` — Gets collection of Plugin parameters. [Cloud not supported] ## class cAlgo.API.Point — Represents an x- and y-coordinate pair in two-dimensional space. (https://help.ctrader.com/ctrader-algo/references/Controls/Layout/Shapes/Point/index.md) - constructor `public Point(double x, double y)` | py `Point(x: float, y: float)` — Initializes a new instance of the Point class. - property `public double X {get;}` | py `point.X: float` — Gets or sets the x-coordinate of this Point. - property `public double Y {get;}` | py `point.Y: float` — Gets or sets the y-coordinate of this Point. ## class cAlgo.API.Polygon — Draws a polygon, which is a connected series of lines that form a closed shape. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/Layout/Shapes/Polygon/index.md) - constructor `public Polygon()` | py `Polygon()` — Initializes a new instance of the Polygon class. [CLI not supported; Cloud not supported] - property `public FillRule FillRule {get; set;}` | py `polygon.FillRule: FillRule` — Gets or sets a FillRule enumeration that specifies how the interior fill of the shape is determined. [CLI not supported; Cloud not supported] - property `public Point[] Points {get; set;}` | py `polygon.Points: list[Point]` — Gets or sets a collection that contains the vertex points of the polygon. [CLI not supported; Cloud not supported] ## class cAlgo.API.Polyline — Draws a series of connected straight lines. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/Layout/Shapes/Polyline/index.md) - constructor `public Polyline()` | py `Polyline()` — Initializes a new instance of the Polyline class. [CLI not supported; Cloud not supported] - property `public FillRule FillRule {get; set;}` | py `polyline.FillRule: FillRule` — Gets or sets a FillRule enumeration that specifies how the interior fill of the shape is determined. [CLI not supported; Cloud not supported] - property `public Point[] Points {get; set;}` | py `polyline.Points: list[Point]` — Gets or sets a collection that contains the vertex points of the Polyline. [CLI not supported; Cloud not supported] ## interface cAlgo.API.Indicators.PolynomialRegressionChannels — Polynomial Regression Channel (PRC) is an RTX Extension indicator that draws a best fit n-degree polynomial regression line through a recent period of data. (https://help.ctrader.com/ctrader-algo/references/Indicators/PolynomialRegressionChannels/index.md) - property `IndicatorDataSeries Prc {get; set;}` | py `polynomialRegressionChannels.Prc: IndicatorDataSeries` — Get the Polynomial Regression Channels Prc data series - property `IndicatorDataSeries Sqh {get; set;}` | py `polynomialRegressionChannels.Sqh: IndicatorDataSeries` — Get the Polynomial Regression Channels Sqh data series - property `IndicatorDataSeries Sqh2 {get; set;}` | py `polynomialRegressionChannels.Sqh2: IndicatorDataSeries` — Get the Polynomial Regression Channels Sqh2 data series - property `IndicatorDataSeries Sql {get; set;}` | py `polynomialRegressionChannels.Sql: IndicatorDataSeries` — Get the Polynomial Regression Channels Sql data series - property `IndicatorDataSeries Sql2 {get; set;}` | py `polynomialRegressionChannels.Sql2: IndicatorDataSeries` — Get the Polynomial Regression Channels Sql2 data series ## interface cAlgo.API.PopupNotification — Represents a popup notification. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Notifications/PopupNotification/index.md) - method `void Complete(PopupNotificationState finalState)` | py `popupNotification.Complete(finalState: PopupNotificationState) -> None` — Completes an InProgress popup notification. [CLI works differently; Cloud works differently] - property `PopupNotificationState State {get;}` | py `popupNotification.State: PopupNotificationState` — Gets state of popup notification. [CLI works differently; Cloud works differently] ## enum cAlgo.API.PopupNotificationState — Represents different states for popup notifications. (https://help.ctrader.com/ctrader-algo/references/Notifications/PopupNotificationState/index.md) - enum value `PopupNotificationState.InProgress;` | py `PopupNotificationState.InProgress` — In progress. - enum value `PopupNotificationState.Success;` | py `PopupNotificationState.Success` — Success. - enum value `PopupNotificationState.Error;` | py `PopupNotificationState.Error` — Error. - enum value `PopupNotificationState.Partial;` | py `PopupNotificationState.Partial` — Partial. - enum value `PopupNotificationState.Information;` | py `PopupNotificationState.Information` — Information. ## interface cAlgo.API.Position — Taking or opening a position means buying or selling a trading pair. (https://help.ctrader.com/ctrader-algo/references/Trading/Positions/Position/index.md) - method `TradeResult Close()` | py `position.Close() -> TradeResult` — Shortcut for the Robot.ClosePosition method. - method `TradeResult ModifyStopLossBreakEven(StopLossBreakEven stopLossBreakEven)` | py `position.ModifyStopLossBreakEven(stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Shortcut for the Robot.ModifyPosition method to change the StopLoss Break-Even. - method `TradeResult ModifyStopLossPips(double? stopLossPips)` | py `position.ModifyStopLossPips(stopLossPips: float | None) -> TradeResult` — Shortcut for the Robot.ModifyPosition method to change the Stop Loss pips - method `TradeResult ModifyStopLossPrice(double? stopLoss)` | py `position.ModifyStopLossPrice(stopLoss: float | None) -> TradeResult` — Shortcut for Robot.ModifyPosition method to change the Stop Loss. - method `TradeResult ModifyTakeProfit(RelativeTakeProfitProtections takeProfitProtections)` | py `position.ModifyTakeProfit(takeProfitProtections: RelativeTakeProfitProtections) -> TradeResult` — Shortcut for the Robot.ModifyPosition method to change the Take Profit protection - method `TradeResult ModifyTakeProfit(AbsoluteTakeProfitProtections takeProfitProtections)` | py `position.ModifyTakeProfit(takeProfitProtections: AbsoluteTakeProfitProtections) -> TradeResult` — Shortcut for the Robot.ModifyPosition method to change the Take Profit protection - method `TradeResult ModifyTakeProfitPips(double? takeProfitPips)` | py `position.ModifyTakeProfitPips(takeProfitPips: float | None) -> TradeResult` — Shortcut for the Robot.ModifyPosition method to change the Take Profit pips - method `TradeResult ModifyTakeProfitPrice(double? takeProfit)` | py `position.ModifyTakeProfitPrice(takeProfit: float | None) -> TradeResult` — Shortcut for Robot.ModifyPosition method to change the Take Profit. - method `TradeResult ModifyTrailingStop(bool hasTrailingStop)` | py `position.ModifyTrailingStop(hasTrailingStop: bool) -> TradeResult` — Shortcut for the Robot.ModifyPosition method to change the Trailing Stop. - method `TradeResult ModifyVolume(double volume)` | py `position.ModifyVolume(volume: float) -> TradeResult` — Shortcut for the Robot.ModifyPosition method to change the VolumeInUnits. - method `TradeResult Reverse()` | py `position.Reverse() -> TradeResult` — Shortcut for the Robot.ReversePosition method to change the direction of the trade. - method `TradeResult Reverse(double volume)` | py `position.Reverse(volume: float) -> TradeResult` — Shortcut for the Robot.ReversePosition method to change the direction of trade and the volume. - property `AbsoluteTakeProfitProtections AbsoluteTakeProfitProtections {get;}` | py `position.AbsoluteTakeProfitProtections: AbsoluteTakeProfitProtections` — The take profit protections of the position. Null if position has no take profit. - property `string Channel {get;}` | py `position.Channel: str` — Gets the channel via which the position was placed in a string format. [CLI works differently; Cloud works differently] - property `string Comment {get;}` | py `position.Comment: str` — Comment can be used as a note for the order. - property `double Commissions {get;}` | py `position.Commissions: float` — Commission Amount of the request to trade one way (Buy/Sell) associated with this position. - property `double CurrentPrice {get;}` | py `position.CurrentPrice: float` — Gets the position current market price. If Position's TradeType is Buy it returns Symbol current Bid price. If position's TradeType is Sell it returns Symbol current Ask price. - property `IReadonlyList Deals {get;}` | py `position.Deals: IReadonlyList[Deal]` — Gets the position deals. - property `double EntryPrice {get;}` | py `position.EntryPrice: float` — Entry price of the position. - property `DateTime EntryTime {get;}` | py `position.EntryTime: DateTime` — Entry time of trade associated with the position. The Timezone used is set in the cBot attribute. - property `double GrossProfit {get;}` | py `position.GrossProfit: float` — Gross profit accrued by the order associated with the position. - property `bool HasTrailingStop {get;}` | py `position.HasTrailingStop: bool` — When HasTrailingStop set to true, the server updates the Stop Loss every time the position moves in your favor. - property `int Id {get;}` | py `position.Id: int` — The position's unique identifier. - property `string Label {get;}` | py `position.Label: str` — Label can be used to represent the order. - property `DateTime? LastUpdateTime {get;}` | py `position.LastUpdateTime: DateTime | None` — Gets the time when a position was last updated. The timezone used is set in the algorithm class attribute. - property `double Margin {get;}` | py `position.Margin: float` — The amount of used margin by the position. - property `double NetProfit {get;}` | py `position.NetProfit: float` — The Net profit of the position. - property `double Pips {get;}` | py `position.Pips: float` — Represents the winning or loosing pips of the position. - property `double Quantity {get;}` | py `position.Quantity: float` — Quantity of lots traded by the position. - property `double? StopLoss {get;}` | py `position.StopLoss: float | None` — The Stop Loss level of the position. - property `StopLossBreakEven StopLossBreakEven {get;}` | py `position.StopLossBreakEven: StopLossBreakEven` — The stop loss break even of the position. - property `StopTriggerMethod? StopLossTriggerMethod {get;}` | py `position.StopLossTriggerMethod: StopTriggerMethod | None` — Trigger method for the position's Stop Loss. - property `double Swap {get;}` | py `position.Swap: float` — Swap is the overnight interest rate if any, accrued on the position. - property `Symbol Symbol {get;}` | py `position.Symbol: Symbol` — Gets the position symbol. - property `string SymbolName {get;}` | py `position.SymbolName: str` — Gets the symbol name. - property `double? TakeProfit {get;}` | py `position.TakeProfit: float | None` — The take profit level of the position. - property `TradeType TradeType {get;}` | py `position.TradeType: TradeType` — Trade type (Buy/Sell) of the position. - property `double VolumeInUnits {get;}` | py `position.VolumeInUnits: float` — The amount traded by the position. ## enum cAlgo.API.PositionCloseReason — The reason for closing the position. (https://help.ctrader.com/ctrader-algo/references/Trading/Positions/PositionCloseReason/index.md) - enum value `PositionCloseReason.Closed;` | py `PositionCloseReason.Closed` — Positions was closed by the trader. - enum value `PositionCloseReason.StopLoss;` | py `PositionCloseReason.StopLoss` — Position was closed by the Stop Loss. - enum value `PositionCloseReason.TakeProfit;` | py `PositionCloseReason.TakeProfit` — Position was closed by the Take Profit. - enum value `PositionCloseReason.StopOut;` | py `PositionCloseReason.StopOut` — Position was closed because the Stop Out level reached. ## class cAlgo.API.PositionClosedEventArgs — Provides data for the position closing event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/PositionClosedEventArgs/index.md) - constructor `public PositionClosedEventArgs(Position position, PositionCloseReason reason)` | py `PositionClosedEventArgs(position: Position, reason: PositionCloseReason)` — Provides data for the closing positions event. - property `public Position Position {get;}` | py `positionClosedEventArgs.Position: Position` — Gets the position being closed. - property `public PositionCloseReason Reason {get;}` | py `positionClosedEventArgs.Reason: PositionCloseReason` — Gets the reason of the position being closed. ## class cAlgo.API.PositionModifiedEventArgs — Provides data for the position modification event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/PositionModifiedEventArgs/index.md) - property `public Position Position {get;}` | py `positionModifiedEventArgs.Position: Position` — Gets or sets the modified position. ## class cAlgo.API.PositionOpenedEventArgs — Provides data for the position opening event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/PositionOpenedEventArgs/index.md) - property `public Position Position {get;}` | py `positionOpenedEventArgs.Position: Position` — Gets or sets the position being opened. ## interface cAlgo.API.Positions — Provides access to methods of the positions collection. (https://help.ctrader.com/ctrader-algo/references/Trading/Positions/Positions/index.md) - method `Position Find(string label)` | py `api.Positions.Find(label: str) -> Position | None` — Find a position by its label. - method `Position Find(string label, string symbolName)` | py `api.Positions.Find(label: str, symbolName: str) -> Position | None` — Find a position by its label and symbol name. - method `Position Find(string label, string symbolName, TradeType tradeType)` | py `api.Positions.Find(label: str, symbolName: str, tradeType: TradeType) -> Position | None` — Find a position by its label, symbol name and trade type - method `Position[] FindAll(string label)` | py `api.Positions.FindAll(label: str) -> list[Position]` — Find all positions with this label. - method `Position[] FindAll(string label, string symbolName)` | py `api.Positions.FindAll(label: str, symbolName: str) -> list[Position]` — Find all positions with this label and symbol name. - method `Position[] FindAll(string label, string symbolName, TradeType tradeType)` | py `api.Positions.FindAll(label: str, symbolName: str, tradeType: TradeType) -> list[Position]` — Finds all the positions of this label, symbol name and trade type. - method `Position FindById(int id)` | py `api.Positions.FindById(id: int) -> Position | None` — Find Position by Id. - property `int Count {get;}` | py `api.Positions.Count: int` — The total number of open positions. - property `Position Item {get;}` | py `api.Positions[index: int] -> Position` — Finds a position by index. - event `event Action Closed;` | py `api.Positions.Closed += handler # handler(obj: PositionClosedEventArgs)` — Occurs each time a position is closed. - event `event Action Modified;` | py `api.Positions.Modified += handler # handler(obj: PositionModifiedEventArgs)` — Occurs each time a position is modified. - event `event Action Opened;` | py `api.Positions.Opened += handler # handler(obj: PositionOpenedEventArgs)` — Occurs each time a position is opened. ## interface cAlgo.API.Indicators.PositiveVolumeIndex — The positive volume index measures the trend of the stock prices for days when volume increases from previous day's volume. (https://help.ctrader.com/ctrader-algo/references/Indicators/PositiveVolumeIndex/index.md) - property `IndicatorDataSeries Result {get; set;}` | py `positiveVolumeIndex.Result: IndicatorDataSeries` — Gets or sets the time series result of the Positive Volume Index indicator instance. ## interface cAlgo.API.PriceAlert — Represents a price alert. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/PriceAlert/PriceAlert/index.md) - method `void Update(Symbol symbol, double price, PriceAlertQuoteType quoteType, PriceAlertCondition condition)` | py `priceAlert.Update(symbol: Symbol, price: float, quoteType: PriceAlertQuoteType, condition: PriceAlertCondition) -> None` — Updates price alert. [Cloud not supported] - method `void Update(Symbol symbol, double price, PriceAlertQuoteType quoteType, PriceAlertCondition condition, bool showPopup, string message)` | py `priceAlert.Update(symbol: Symbol, price: float, quoteType: PriceAlertQuoteType, condition: PriceAlertCondition, showPopup: bool, message: str) -> None` — Updates price alert. [Cloud not supported] - property `PriceAlertCondition Condition {get;}` | py `priceAlert.Condition: PriceAlertCondition` — Get condition. [Cloud not supported] - property `long Id {get;}` | py `priceAlert.Id: int` — Get unique Id. [Cloud not supported] - property `DateTime LastUpdateTime {get;}` | py `priceAlert.LastUpdateTime: DateTime` — Get/set last update time. [Cloud not supported] - property `string Message {get;}` | py `priceAlert.Message: str` — Get optional message. [Cloud not supported] - property `double Price {get;}` | py `priceAlert.Price: float` — Get price level. [Cloud not supported] - property `PriceAlertQuoteType QuoteType {get;}` | py `priceAlert.QuoteType: PriceAlertQuoteType` — Get quote type. [Cloud not supported] - property `bool ShowPopup {get;}` | py `priceAlert.ShowPopup: bool` — Get if the price alert will show a pop-up. [Cloud not supported] - property `Symbol Symbol {get;}` | py `priceAlert.Symbol: Symbol` — Get symbol. [Cloud not supported] ## class cAlgo.API.PriceAlertAddedEventArgs — Provides data for the price alert added event. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/PriceAlertAddedEventArgs/index.md) - property `public PriceAlert PriceAlert {get;}` | py `priceAlertAddedEventArgs.PriceAlert: PriceAlert` — Gets added price alert. [Cloud not supported] ## enum cAlgo.API.PriceAlertCondition — Represents the price alert conditions. (https://help.ctrader.com/ctrader-algo/references/PriceAlert/PriceAlertCondition/index.md) - enum value `PriceAlertCondition.HigherOrEqual;` | py `PriceAlertCondition.HigherOrEqual` — Price alert will be triggered if symbol price is above or equal than alert price. - enum value `PriceAlertCondition.LowerOrEqual;` | py `PriceAlertCondition.LowerOrEqual` — Price alert will be triggered if symbol price is lower or equal than alert price. ## enum cAlgo.API.PriceAlertQuoteType — Represents the price alert quote types. (https://help.ctrader.com/ctrader-algo/references/PriceAlert/PriceAlertQuoteType/index.md) - enum value `PriceAlertQuoteType.Bid;` | py `PriceAlertQuoteType.Bid` — Symbol Bid price will be used for price alert. - enum value `PriceAlertQuoteType.Ask;` | py `PriceAlertQuoteType.Ask` — Symbol Ask price will be used for price alert. ## class cAlgo.API.PriceAlertRemovedEventArgs — Provides data for the price alert removed event. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/PriceAlertRemovedEventArgs/index.md) - property `public PriceAlert PriceAlert {get;}` | py `priceAlertRemovedEventArgs.PriceAlert: PriceAlert` — Gets removed price alert. [Cloud not supported] ## class cAlgo.API.PriceAlertTriggeredEventArgs — Provides data for the price alert triggered event. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/PriceAlertTriggeredEventArgs/index.md) - property `public PriceAlert PriceAlert {get;}` | py `priceAlertTriggeredEventArgs.PriceAlert: PriceAlert` — Gets triggered price alert. [Cloud not supported] ## class cAlgo.API.PriceAlertUpdatedEventArgs — Provides data for the price alert updated event. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/PriceAlertUpdatedEventArgs/index.md) - property `public PriceAlert PriceAlert {get;}` | py `priceAlertUpdatedEventArgs.PriceAlert: PriceAlert` — Gets updated price alert. [Cloud not supported] ## interface cAlgo.API.PriceAlerts — Represents a collection of price alerts. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/PriceAlert/PriceAlerts/index.md) - method `PriceAlert Add(Symbol symbol, double price, PriceAlertQuoteType quoteType, PriceAlertCondition condition)` | py `api.PriceAlerts.Add(symbol: Symbol, price: float, quoteType: PriceAlertQuoteType, condition: PriceAlertCondition) -> PriceAlert` — Adds a new price alert. [Cloud not supported] - method `PriceAlert Find(long id)` | py `api.PriceAlerts.Find(id: int) -> PriceAlert | None` — Finds a price alert by its Id. [Cloud not supported] - method `PriceAlert[] FindAll(string symbolName)` | py `api.PriceAlerts.FindAll(symbolName: str) -> list[PriceAlert]` — Finds all price alerts by their symbol. [Cloud not supported] - method `bool Remove(PriceAlert priceAlert)` | py `api.PriceAlerts.Remove(priceAlert: PriceAlert) -> bool` — Removes a price alert. [Cloud not supported] - property `int Count {get;}` | py `api.PriceAlerts.Count: int` — Gets the total number of active price alerts. [Cloud not supported] - event `event Action Added;` | py `api.PriceAlerts.Added += handler # handler(obj: PriceAlertAddedEventArgs)` — Occurs when a new price alert is added. [Cloud not supported] - event `event Action Removed;` | py `api.PriceAlerts.Removed += handler # handler(obj: PriceAlertRemovedEventArgs)` — Occurs when a price alert is removed. [Cloud not supported] - event `event Action Triggered;` | py `api.PriceAlerts.Triggered += handler # handler(obj: PriceAlertTriggeredEventArgs)` — Occurs when a price alert is triggered. [Cloud not supported] - event `event Action Updated;` | py `api.PriceAlerts.Updated += handler # handler(obj: PriceAlertUpdatedEventArgs)` — Occurs when a price alert is updated. [Cloud not supported] ## struct cAlgo.API.PriceDataSourceId — Represents the Id for price data, it's used for backtesting data sources. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/Backtesting/DataSource/PriceDataSourceId/index.md) - constructor `public PriceDataSourceId(Symbol Symbol, TimeFrame TimeFrame)` | py `PriceDataSourceId(Symbol: Symbol, TimeFrame: TimeFrame)` — Represents the Id for price data, it's used for backtesting data sources. [CLI not supported; Cloud not supported] - property `public Symbol Symbol {get; set;}` | py `priceDataSourceId.Symbol: Symbol` — Symbol [CLI not supported; Cloud not supported] - property `public TimeFrame TimeFrame {get; set;}` | py `priceDataSourceId.TimeFrame: TimeFrame` — TimeFrame [CLI not supported; Cloud not supported] ## interface cAlgo.API.Indicators.PriceOscillator — The Price Oscillator calculates the spread between a short-period moving average and a long-period moving average. (https://help.ctrader.com/ctrader-algo/references/Indicators/PriceOscillator/index.md) - property `IndicatorDataSeries Result {get;}` | py `priceOscillator.Result: IndicatorDataSeries` — Gets the resulting time series of the Price Oscillator indicator calculation. ## interface cAlgo.API.Indicators.PriceROC — The Price ROC calculates the percentage change between the most recent price and the n-periods of the past price. (https://help.ctrader.com/ctrader-algo/references/Indicators/PriceROC/index.md) - property `IndicatorDataSeries Result {get;}` | py `priceROC.Result: IndicatorDataSeries` — Gets the resulting time series of the Price ROC indicator calculation. ## enum cAlgo.API.PriceType — An enumeration of the different price types. (https://help.ctrader.com/ctrader-algo/references/Indicators/PriceType/index.md) - enum value `PriceType.Open;` | py `PriceType.Open` — Bar Open price. - enum value `PriceType.High;` | py `PriceType.High` — Bar High price. - enum value `PriceType.Low;` | py `PriceType.Low` — Bar Low price. - enum value `PriceType.Close;` | py `PriceType.Close` — Bar close price. - enum value `PriceType.TickVolume;` | py `PriceType.TickVolume` — Bar tick volume. - enum value `PriceType.Median;` | py `PriceType.Median` — Bar median price. - enum value `PriceType.Typical;` | py `PriceType.Typical` — Bar typical price. - enum value `PriceType.Weighted;` | py `PriceType.Weighted` — Bar weighted price. - enum value `PriceType.Average;` | py `PriceType.Average` — Bar average price. ## interface cAlgo.API.Indicators.PriceVolumeTrend — Price and Volume Trend is a variation of On Balance Volume, used to determine the strength of trends and warn of reversals. (https://help.ctrader.com/ctrader-algo/references/Indicators/PriceVolumeTrend/index.md) - property `IndicatorDataSeries Result {get; set;}` | py `priceVolumeTrend.Result: IndicatorDataSeries` — Gets or sets the time series of the Price Volume Trend indicator. ## class cAlgo.API.ProgressBar — Progress bar control. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/ProgressBar/index.md) - constructor `public ProgressBar()` | py `ProgressBar()` — Initializes a new instance of the ProgressBar class. [CLI not supported; Cloud not supported] - property `public bool IsIndeterminate {get; set;}` | py `progressBar.IsIndeterminate: bool` — Gets / sets whether the ProgressBar shows actual values or generic, continuous progress feedback. [CLI not supported; Cloud not supported] - property `public double Maximum {get; set;}` | py `progressBar.Maximum: float` — Get / set progress bar maximum value amount if type is Determinate (default is 100). [CLI not supported; Cloud not supported] - property `public double Minimum {get; set;}` | py `progressBar.Minimum: float` — Get / set progress bar minimum value amount if type is Determinate (default is 0). [CLI not supported; Cloud not supported] - property `public double Value {get; set;}` | py `progressBar.Value: float` — Get / set progress bar value amount if type is Determinate. [CLI not supported; Cloud not supported] ## enum cAlgo.API.ProportionalAmountType — Defines types of amounts you can use for using symbol volume methods. (https://help.ctrader.com/ctrader-algo/references/MarketData/Symbols/ProportionalAmountType/index.md) - enum value `ProportionalAmountType.Balance;` | py `ProportionalAmountType.Balance` — Account Balance. - enum value `ProportionalAmountType.Equity;` | py `ProportionalAmountType.Equity` — Account Equity. ## enum cAlgo.API.ProtectionType — The protection type for orders and positions. (https://help.ctrader.com/ctrader-algo/references/Trading/ProtectionType/index.md) - enum value `ProtectionType.None;` | py `ProtectionType.None` — No protection. - enum value `ProtectionType.Relative;` | py `ProtectionType.Relative` — Relative or distance based protection type. - enum value `ProtectionType.Absolute;` | py `ProtectionType.Absolute` — Absolute or price based protection type. ## class cAlgo.API.RadioButton — Reporesents the Radiobutton chart control type. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/RadioButton/index.md) - constructor `public RadioButton()` | py `RadioButton()` — Initializes a new instance of the Radiobutton class. [CLI not supported; Cloud not supported] - property `public ControlBase Content {get; set;}` | py `radioButton.Content: ControlBase` — Gets or sets the content. [CLI not supported; Cloud not supported] - property `public string GroupName {get; set;}` | py `radioButton.GroupName: str` — Gets or sets the name of the group. [CLI not supported; Cloud not supported] - property `public bool IsChecked {get; set;}` | py `radioButton.IsChecked: bool` — Defines if the radiobutton is checked. [CLI not supported; Cloud not supported] - property `public string Text {get; set;}` | py `radioButton.Text: str` — Gets or sets the text. [CLI not supported; Cloud not supported] - event `public event Action Checked;` | py `radioButton.Checked += handler # handler(obj: RadioButtonEventArgs)` — Occurs when checked. [CLI not supported; Cloud not supported] - event `public event Action Click;` | py `radioButton.Click += handler # handler(obj: RadioButtonEventArgs)` — Occurs when clicked. [CLI not supported; Cloud not supported] - event `public event Action Unchecked;` | py `radioButton.Unchecked += handler # handler(obj: RadioButtonEventArgs)` — Occurs when unchecked. [CLI not supported; Cloud not supported] ## class cAlgo.API.RadioButtonEventArgs — Represents the radio button actions. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/RadioButtonEventArgs/index.md) - property `public RadioButton RadioButton {get;}` | py `radioButtonEventArgs.RadioButton: RadioButton` — Gets the radiobutton data. [CLI not supported; Cloud not supported] ## interface cAlgo.API.Indicators.RainbowOscillator — Developed by Mel Widner, Rainbow Oscillator is based on multiple moving averages and helps to identify trends and provides overbought/oversold levels. (https://help.ctrader.com/ctrader-algo/references/Indicators/RainbowOscillator/index.md) - property `IndicatorDataSeries Result {get;}` | py `rainbowOscillator.Result: IndicatorDataSeries` — Gets the resulting time series of the Rainbow Oscillator indicator calculation. ## class cAlgo.API.RateLimitException — Represents errors that occur when API rate limits are exceeded. (https://help.ctrader.com/ctrader-algo/references/General/RateLimitException/index.md) ## class cAlgo.API.Rectangle — Represents the rectangle. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/Layout/Shapes/Rectangle/index.md) - constructor `public Rectangle()` | py `Rectangle()` — Initializes a new instance of the Rectangle class. [CLI not supported; Cloud not supported] - property `public double RadiusX {get; set;}` | py `rectangle.RadiusX: float` — Gets or sets the x-axis radius of the ellipse that is used to round the corners of the rectangle. [CLI not supported; Cloud not supported] - property `public double RadiusY {get; set;}` | py `rectangle.RadiusY: float` — Gets or sets the y-axis radius of the ellipse that is used to round the corners of the rectangle. [CLI not supported; Cloud not supported] ## record cAlgo.API.RelativeStopLossProtection — Represents a stop loss defined as a distance (in pips) from the order's entry price. (https://help.ctrader.com/ctrader-algo/references/Trading/RelativeStopLossProtection/index.md) - constructor `public RelativeStopLossProtection(double Distance)` | py `RelativeStopLossProtection(Distance: float)` — Represents a stop loss defined as a distance (in pips) from the order's entry price. - constructor `public RelativeStopLossProtection(RelativeStopLossProtection original)` | py `RelativeStopLossProtection(original: RelativeStopLossProtection)` — - property `public double Distance {get; set;}` | py `relativeStopLossProtection.Distance: float` — The stop loss distance, in pips, from the order's entry price. ## interface cAlgo.API.Indicators.RelativeStrengthIndex — The RSI (Wilder) is momentum oscillator, measuring the velocity and magnitude of directional price movements. (https://help.ctrader.com/ctrader-algo/references/Indicators/RelativeStrengthIndex/index.md) - property `IndicatorDataSeries Result {get;}` | py `relativeStrengthIndex.Result: IndicatorDataSeries` — Gets the resulting time series of the Relative Strength Index indicator calculation. ## record cAlgo.API.RelativeTakeProfitLastProtection — Represents the final take profit in a relative take profit ladder, closing the remaining order volume at a distance (in pips) from the entry price. (https://help.ctrader.com/ctrader-algo/references/Trading/RelativeTakeProfitLastProtection/index.md) - constructor `public RelativeTakeProfitLastProtection(double Distance)` | py `RelativeTakeProfitLastProtection(Distance: float)` — Represents the final take profit in a relative take profit ladder, closing the remaining order volume at a distance (in pips) from the entry price. - constructor `public RelativeTakeProfitLastProtection(RelativeTakeProfitLastProtection original)` | py `RelativeTakeProfitLastProtection(original: RelativeTakeProfitLastProtection)` — - property `public double Distance {get; set;}` | py `relativeTakeProfitLastProtection.Distance: float` — The take profit distance, in pips, from the order's entry price. ## record cAlgo.API.RelativeTakeProfitProtection — Represents a partial take profit closing a portion of the order volume at a distance (in pips) from the entry price. (https://help.ctrader.com/ctrader-algo/references/Trading/RelativeTakeProfitProtection/index.md) - constructor `public RelativeTakeProfitProtection(double Volume, double Distance)` | py `RelativeTakeProfitProtection(Volume: float, Distance: float)` — Represents a partial take profit closing a portion of the order volume at a distance (in pips) from the entry price. - constructor `public RelativeTakeProfitProtection(RelativeTakeProfitProtection original)` | py `RelativeTakeProfitProtection(original: RelativeTakeProfitProtection)` — - property `public double Distance {get; set;}` | py `relativeTakeProfitProtection.Distance: float` — The take profit distance, in pips, from the order's entry price. - property `public double Volume {get; set;}` | py `relativeTakeProfitProtection.Volume: float` — The portion of the order volume to close when the take profit is triggered. ## record cAlgo.API.RelativeTakeProfitProtections — Represents a ladder of up to four partial take profits at distances (in pips) from the entry price, followed by a final take profit that closes any remaining volume. (https://help.ctrader.com/ctrader-algo/references/Trading/RelativeTakeProfitProtections/index.md) - constructor `public RelativeTakeProfitProtections(RelativeTakeProfitLastProtection lastTakeProfit)` | py `RelativeTakeProfitProtections(lastTakeProfit: RelativeTakeProfitLastProtection)` — Initializes a new instance with only a final take profit. - constructor `public RelativeTakeProfitProtections(RelativeTakeProfitProtection firstTakeProfit, RelativeTakeProfitLastProtection lastTakeProfit)` | py `RelativeTakeProfitProtections(firstTakeProfit: RelativeTakeProfitProtection, lastTakeProfit: RelativeTakeProfitLastProtection)` — Initializes a new instance with one partial take profit and a final take profit. - constructor `public RelativeTakeProfitProtections(RelativeTakeProfitProtection firstTakeProfit, RelativeTakeProfitProtection secondTakeProfit, RelativeTakeProfitLastProtection lastTakeProfit)` | py `RelativeTakeProfitProtections(firstTakeProfit: RelativeTakeProfitProtection, secondTakeProfit: RelativeTakeProfitProtection, lastTakeProfit: RelativeTakeProfitLastProtection)` — Initializes a new instance with two partial take profits and a final take profit. - constructor `public RelativeTakeProfitProtections(RelativeTakeProfitProtection firstTakeProfit, RelativeTakeProfitProtection secondTakeProfit, RelativeTakeProfitProtection thirdTakeProfit, RelativeTakeProfitLastProtection lastTakeProfit)` | py `RelativeTakeProfitProtections(firstTakeProfit: RelativeTakeProfitProtection, secondTakeProfit: RelativeTakeProfitProtection, thirdTakeProfit: RelativeTakeProfitProtection, lastTakeProfit: RelativeTakeProfitLastProtection)` — Initializes a new instance with three partial take profits and a final take profit. - constructor `public RelativeTakeProfitProtections(RelativeTakeProfitProtection firstTakeProfit, RelativeTakeProfitProtection secondTakeProfit, RelativeTakeProfitProtection thirdTakeProfit, RelativeTakeProfitProtection fourthTakeProfit, RelativeTakeProfitLastProtection lastTakeProfit)` | py `RelativeTakeProfitProtections(firstTakeProfit: RelativeTakeProfitProtection, secondTakeProfit: RelativeTakeProfitProtection, thirdTakeProfit: RelativeTakeProfitProtection, fourthTakeProfit: RelativeTakeProfitProtection, lastTakeProfit: RelativeTakeProfitLastProtection)` — Initializes a new instance with four partial take profits and a final take profit. - constructor `public RelativeTakeProfitProtections(RelativeTakeProfitProtections original)` | py `RelativeTakeProfitProtections(original: RelativeTakeProfitProtections)` — - property `public RelativeTakeProfitProtection FirstTakeProfit {get;}` | py `relativeTakeProfitProtections.FirstTakeProfit: RelativeTakeProfitProtection` — Gets the first partial take profit, if any. - property `public RelativeTakeProfitProtection FourthTakeProfit {get;}` | py `relativeTakeProfitProtections.FourthTakeProfit: RelativeTakeProfitProtection` — Gets the fourth partial take profit, if any. - property `public RelativeTakeProfitLastProtection LastTakeProfit {get;}` | py `relativeTakeProfitProtections.LastTakeProfit: RelativeTakeProfitLastProtection` — Gets the final take profit that closes the remaining volume. - property `public RelativeTakeProfitProtection SecondTakeProfit {get;}` | py `relativeTakeProfitProtections.SecondTakeProfit: RelativeTakeProfitProtection` — Gets the second partial take profit, if any. - property `public RelativeTakeProfitProtection ThirdTakeProfit {get;}` | py `relativeTakeProfitProtections.ThirdTakeProfit: RelativeTakeProfitProtection` — Gets the third partial take profit, if any. ## interface cAlgo.API.Indicators.RelativeVigorIndex — The RVI is a momentum oscillator, measuring the strength of a trend. (https://help.ctrader.com/ctrader-algo/references/Indicators/RelativeVigorIndex/index.md) - property `IndicatorDataSeries Result {get;}` | py `relativeVigorIndex.Result: IndicatorDataSeries` — Gets the resulting time series of the Relative Vigor Index calculation (blue line). - property `IndicatorDataSeries Signal {get;}` | py `relativeVigorIndex.Signal: IndicatorDataSeries` — Gets the Signal line of RVI (red line). ## enum cAlgo.API.ResizeMode — Types of resize modes for windows (https://help.ctrader.com/ctrader-algo/references/Controls/Windows/ResizeMode/index.md) - enum value `ResizeMode.NoResize;` | py `ResizeMode.NoResize` — For windows that cannot be resized - enum value `ResizeMode.CanMinimize;` | py `ResizeMode.CanMinimize` — For windows that can only be minimized - enum value `ResizeMode.CanResize;` | py `ResizeMode.CanResize` — For windows that can be resized from all directions - enum value `ResizeMode.CanResizeWithGrip;` | py `ResizeMode.CanResizeWithGrip` — For windows that can only be resized by the bottom edge resize grip ## class cAlgo.API.Robot — Base class for all cBots. (https://help.ctrader.com/ctrader-algo/references/General/Robot/index.md) - constructor `public Robot()` | py `Robot()` — Robot class constructor - method `public TradeResult CancelPendingOrder(PendingOrder pendingOrder)` | py `api.CancelPendingOrder(pendingOrder: PendingOrder) -> TradeResult` — Cancel a Pending Order - method `public TradeOperation CancelPendingOrderAsync(PendingOrder pendingOrder, Action callback)` | py `api.CancelPendingOrderAsync(pendingOrder: PendingOrder, callback: Callable[[TradeResult], None]) -> TradeOperation` — Cancel a Pending Order in asynchronous execution mode - method `public TradeResult ClosePosition(Position position)` | py `api.ClosePosition(position: Position) -> TradeResult` — Close a position - method `public TradeResult ClosePosition(Position position, long volume)` | py `api.ClosePosition(position: Position, volume: int) -> TradeResult` — Close a position - method `public TradeResult ClosePosition(Position position, double volume)` | py `api.ClosePosition(position: Position, volume: float) -> TradeResult` — Close a position - method `public TradeOperation ClosePositionAsync(Position position, Action callback)` | py `api.ClosePositionAsync(position: Position, callback: Callable[[TradeResult], None]) -> TradeOperation` — Close a position in asynchronous execution mode - method `public TradeOperation ClosePositionAsync(Position position, long volume, Action callback)` | py `api.ClosePositionAsync(position: Position, volume: int, callback: Callable[[TradeResult], None]) -> TradeOperation` — Close a position in asynchronous execution mode - method `public TradeOperation ClosePositionAsync(Position position, double volume, Action callback)` | py `api.ClosePositionAsync(position: Position, volume: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Close a position in asynchronous execution mode - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLossPips: float | None, takeProfitPips: float | None) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, string comment)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, hasTrailingStop: bool) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, StopLossBreakEven stopLossBreakEven)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.ExecuteMarketOrder(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Execute a Market Order - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, string comment, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ExecuteMarketOrderAsync(tradeType: TradeType, symbolName: str, volume: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLossPips: float | None, takeProfitPips: float | None) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips, string comment)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, hasTrailingStop: bool) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Execute a Market Range Order - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Execute a Market Range Order - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, StopLossBreakEven stopLossBreakEven)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool) -> TradeResult` — Execute a Market Order - method `public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.ExecuteMarketRangeOrder(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Execute a Market Order - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips, string comment, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLossPips: float | None, takeProfitPips: float | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market range order in asynchronous execution mode - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market range order in asynchronous execution mode - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ExecuteMarketRangeOrderAsync(tradeType: TradeType, symbolName: str, volume: float, marketRangePips: float, basePrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Execute a market order in asynchronous execution mode - method `protected internal double GetFitness(GetFitnessArgs args)` | py `api.GetFitness(args: GetFitnessArgs) -> float` — Override this method to provide custom fitness value for Optimization - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, long volume)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: int) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, long volume)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: int) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, long volume, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: int, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, long volume)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: int) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, long volume, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: int, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume, bool hasTrailingStop)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None) -> TradeResult` — Modify a Pending Order - method `public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPendingOrder(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify a Pending Order - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, long volume, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: int, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, long volume, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: int, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, long volume, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: int, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, long volume, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: int, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, long volume, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: int, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume, bool hasTrailingStop, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPendingOrderAsync(pendingOrder: PendingOrder, targetPrice: float, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expirationTime: DateTime | None, volume: float, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod | None, stopLimitRangePips: float | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify a Pending Order in asynchronous execution mode - method `public TradeResult ModifyPosition(Position position, double volume)` | py `api.ModifyPosition(position: Position, volume: float) -> TradeResult` — Modify the volume of a position - method `public TradeResult ModifyPosition(Position position, double? stopLoss, double? takeProfit, ProtectionType? protectionType)` | py `api.ModifyPosition(position: Position, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None) -> TradeResult` — Modify the protection of a position - method `public TradeResult ModifyPosition(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits)` | py `api.ModifyPosition(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections) -> TradeResult` — Modify the protection of a position - method `public TradeResult ModifyPosition(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits)` | py `api.ModifyPosition(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections) -> TradeResult` — Modify the protection of a position - method `public TradeResult ModifyPosition(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPosition(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify the protection of a position - method `public TradeResult ModifyPosition(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPosition(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify the protection of a position - method `public TradeResult ModifyPosition(Position position, double? stopLoss, double? takeProfit, ProtectionType? protectionType, bool hasTrailingStop)` | py `api.ModifyPosition(position: Position, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, hasTrailingStop: bool) -> TradeResult` — Modify the protection of a position - method `public TradeResult ModifyPosition(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, bool hasTrailingStop)` | py `api.ModifyPosition(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, hasTrailingStop: bool) -> TradeResult` — Modify the protection of a position - method `public TradeResult ModifyPosition(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, bool hasTrailingStop)` | py `api.ModifyPosition(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, hasTrailingStop: bool) -> TradeResult` — Modify the protection of a position - method `public TradeResult ModifyPosition(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPosition(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify the protection of a position - method `public TradeResult ModifyPosition(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPosition(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify the protection of a position - method `public TradeResult ModifyPosition(Position position, double? stopLoss, double? takeProfit, ProtectionType? protectionType, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ModifyPosition(position: Position, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Modify the protection of a position - method `public TradeResult ModifyPosition(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ModifyPosition(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Modify the protection of a position - method `public TradeResult ModifyPosition(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.ModifyPosition(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Modify the protection of a position - method `public TradeResult ModifyPosition(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPosition(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify the protection of a position - method `public TradeResult ModifyPosition(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.ModifyPosition(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Modify the protection of a position - method `public TradeOperation ModifyPositionAsync(Position position, double volume, Action callback)` | py `api.ModifyPositionAsync(position: Position, volume: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, double? stopLoss, double? takeProfit, ProtectionType? protectionType, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, double? stopLoss, double? takeProfit, ProtectionType? protectionType, bool hasTrailingStop, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, bool hasTrailingStop, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, bool hasTrailingStop, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, double? stopLoss, double? takeProfit, ProtectionType? protectionType, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `public TradeOperation ModifyPositionAsync(Position position, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.ModifyPositionAsync(position: Position, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Modify Position in asynchronous execution mode - method `protected internal void OnBar()` | py `api.OnBar() -> None` — Called on each incoming Bar. - method `protected internal void OnBarClosed()` | py `api.OnBarClosed() -> None` — Called when a new bar is opened; the method is called for the previous (closed) bar. - method `protected internal void OnError(Error error)` | py `api.OnError(error: Error) -> None` — Called if there is an error executing a trade operation. - method `protected internal void OnStart()` | py `api.OnStart() -> None` — Called when cBot is being started. Override this method to initialize cBot, create nested indicators, etc. - method `protected internal void OnStop()` | py `api.OnStop() -> None` — Called when cBot is stopped. - method `protected internal void OnTick()` | py `api.OnTick() -> None` — Called on each incoming market tick. - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop)` | py `api.PlaceLimitOrder(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) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.PlaceLimitOrder(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) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(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) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.PlaceLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Place a Limit Order - method `public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceLimitOrder(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) -> TradeResult` — Place a Limit Order - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, Action callback)` | py `api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, Action callback)` | py `api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, Action callback)` | py `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` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, Action callback)` | py `api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, Action callback)` | py `api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, Action callback)` | py `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` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, Action callback)` | py `api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven, Action callback)` | py `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` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, Action callback)` | py `api.PlaceLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven, Action callback)` | py `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` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, Action callback)` | py `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` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, Action callback)` | py `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` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven, Action callback)` | py `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` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, Action callback)` | py `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` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven, Action callback)` | py `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` — Place limit order in asynchronous execution mode - method `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 callback)` | py `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` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, Action callback)` | py `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` — Place limit order in asynchronous execution mode - method `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 callback)` | py `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` — Place limit order in asynchronous execution mode - method `public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, Action callback)` | py `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` — Place limit order in asynchronous execution mode - method `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 callback)` | py `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` — Place limit order in asynchronous execution mode - method `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 callback)` | py `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` — Place limit order in asynchronous execution mode - method `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 callback)` | py `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` — Place limit order in asynchronous execution mode - method `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 callback)` | py `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` — Place limit order in asynchronous execution mode - method `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 callback)` | py `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` — Place limit order in asynchronous execution mode - method `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 callback)` | py `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` — Place limit order in asynchronous execution mode - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str, hasTrailingStop: bool) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod) -> TradeResult` — Place a Stop Limit Order - method `public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopLimitOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a Stop Limit Order - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: 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` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopLimitOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, stopLimitRangePips: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place Stop Limit order in asynchronous execution mode - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, expiration: DateTime | None, comment: str) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop)` | py `api.PlaceStopOrder(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) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.PlaceStopOrder(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) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(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) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(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) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod)` | py `api.PlaceStopOrder(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, stopOrderTriggerMethod: StopTriggerMethod) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod) -> TradeResult` — Place a stop order - method `public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven)` | py `api.PlaceStopOrder(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, stopLossBreakEven: StopLossBreakEven) -> TradeResult` — Place a stop order - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: float | None, takeProfit: float | None, protectionType: ProtectionType | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(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 callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(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 callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(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 callback)` | py `api.PlaceStopOrderAsync(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` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLoss, double? takeProfit, ProtectionType? protectionType, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, Action callback)` | py `api.PlaceStopOrderAsync(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, stopOrderTriggerMethod: StopTriggerMethod, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, RelativeStopLossProtection stopLoss, RelativeTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: RelativeStopLossProtection, takeProfits: RelativeTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, AbsoluteStopLossProtection stopLoss, AbsoluteTakeProfitProtections takeProfits, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, StopLossBreakEven stopLossBreakEven, Action callback)` | py `api.PlaceStopOrderAsync(tradeType: TradeType, symbolName: str, volume: float, targetPrice: float, label: str, stopLoss: AbsoluteStopLossProtection, takeProfits: AbsoluteTakeProfitProtections, expiration: DateTime | None, comment: str, hasTrailingStop: bool, stopLossTriggerMethod: StopTriggerMethod | None, stopOrderTriggerMethod: StopTriggerMethod, stopLossBreakEven: StopLossBreakEven, callback: Callable[[TradeResult], None]) -> TradeOperation` — Place stop order in asynchronous execution mode - method `public TradeResult ReversePosition(Position position)` | py `api.ReversePosition(position: Position) -> TradeResult` — Modify the direction of trade at position - method `public TradeResult ReversePosition(Position position, double volume)` | py `api.ReversePosition(position: Position, volume: float) -> TradeResult` — Modify the direction of trade and volume of a position - method `public TradeOperation ReversePositionAsync(Position position, Action callback)` | py `api.ReversePositionAsync(position: Position, callback: Callable[[TradeResult], None]) -> TradeOperation` — Reverses Position in asynchronous execution mode - method `public TradeOperation ReversePositionAsync(Position position, double volume, Action callback)` | py `api.ReversePositionAsync(position: Position, volume: float, callback: Callable[[TradeResult], None]) -> TradeOperation` — Reverses Position in asynchronous execution mode - method `public void Stop()` | py `api.Stop() -> None` — Stops the cBot. cBot will be completely stopped and will not send/receive any signals. - property `public IAccount Account {get;}` | py `api.Account: IAccount` — Contains all Account information - property `public TradeResult LastResult {get;}` | py `api.LastResult: TradeResult` — The latest trade result ## class cAlgo.API.RobotAttribute — Sealed class RobotAttribute. (https://help.ctrader.com/ctrader-algo/references/Attributes/RobotAttribute/index.md) - constructor `public RobotAttribute()` | py `RobotAttribute()` — Initializes a new RobotAttribute instance. - property `public AccessRights AccessRights {get; set;}` | py `robotAttribute.AccessRights: AccessRights` — Gets or sets the access rights required for the cBot. - property `public bool AddIndicators {get; set;}` | py `robotAttribute.AddIndicators: bool` — Gets or sets whether indicators created by robot will be added to chart or not. - property `public string AdditionalInfoUrl {get; set;}` | py `robotAttribute.AdditionalInfoUrl: str` — Gets or sets additional info url. - property `public string DefaultSymbolName {get; set;}` | py `robotAttribute.DefaultSymbolName: str` — Not used. cTrader applies no default symbol to a cBot: a new instance runs on the symbol it is added with, which the cBot reads from SymbolName. - property `public string DefaultTimeFrame {get; set;}` | py `robotAttribute.DefaultTimeFrame: str` — Not used. cTrader applies no default time frame to a cBot: a new instance runs on the time frame of the chart it is added to, which the cBot reads from TimeFrame. - property `public string Name {get;}` | py `robotAttribute.Name: str` — The name of a robot. Sets from constructor. - property `public string TimeZone {get; set;}` | py `robotAttribute.TimeZone: str` — Sets the timezone for all the robot or indicator datetime references ## class cAlgo.API.RobotStartDialog — Represents a common dialog box that allows a user to start a cBot. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Dialogs/RobotStartDialog/index.md) - constructor `public RobotStartDialog(RobotType robotType)` | py `RobotStartDialog(robotType: RobotType)` — Creates an RobotStartDialog. [CLI not supported; Cloud not supported] - method `public void ShowDialog()` | py `robotStartDialog.ShowDialog() -> None` — Shows the dialog. [CLI not supported; Cloud not supported] - property `public RobotType RobotType {get; set;}` | py `robotStartDialog.RobotType: RobotType` — Gets or sets the Robot Type. [CLI not supported; Cloud not supported] ## enum cAlgo.API.RobotState — Represents the predefined states of a Robot instance. (https://help.ctrader.com/ctrader-algo/references/Chart/Robots/RobotState/index.md) - enum value `RobotState.Stopped;` | py `RobotState.Stopped` — Robot instance is stopped. - enum value `RobotState.Running;` | py `RobotState.Running` — Robot instance is running. - enum value `RobotState.Stopping;` | py `RobotState.Stopping` — Stop was requested, but Robot instance has not stopped yet - enum value `RobotState.Restarting;` | py `RobotState.Restarting` — Restarting Robot instance because of crash or change of parameters, symbols, account, etc. ## interface cAlgo.API.RobotType — Represents a robot / cBot algorithm type. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/AlgoRegistry/RobotType/index.md) - property `IReadonlyList Parameters {get;}` | py `robotType.Parameters: IReadonlyList[AlgoParameter]` — Gets collection of Robot parameters. [Cloud not supported] ## enum cAlgo.API.RoundingMode — The rounding mode for normalizing trade volume. (https://help.ctrader.com/ctrader-algo/references/MarketData/Symbols/RoundingMode/index.md) - enum value `RoundingMode.ToNearest;` | py `RoundingMode.ToNearest` — Round value to the nearest tradable volume. - enum value `RoundingMode.Down;` | py `RoundingMode.Down` — Round value down to tradable volume. - enum value `RoundingMode.Up;` | py `RoundingMode.Up` — Round value up to tradable volume. ## enum cAlgo.API.RunningMode — Defines if a cBot is running in real time, in the silent backtesting mode, in the visual backtesting mode, or in the optimization mode. (https://help.ctrader.com/ctrader-algo/references/Application/RunningMode/index.md) - enum value `RunningMode.RealTime;` | py `RunningMode.RealTime` — The cBot is running in real time. - enum value `RunningMode.SilentBacktesting;` | py `RunningMode.SilentBacktesting` — The cBot is running in the silent backtesting mode. - enum value `RunningMode.VisualBacktesting;` | py `RunningMode.VisualBacktesting` — The cBot is running in the visual backtesting mode. - enum value `RunningMode.Optimization;` | py `RunningMode.Optimization` — The cBot is running in the optimization mode. ## class cAlgo.API.SaveFileDialog — Represents a common dialog box that allows a user to specify a filename to save. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Dialogs/SaveFileDialog/index.md) - constructor `public SaveFileDialog()` | py `SaveFileDialog()` — Creates a SaveFileDialog. [CLI not supported; Cloud not supported] - method `public void Reset()` | py `saveFileDialog.Reset() -> None` — Resets all dialog properties to their default values. [CLI not supported; Cloud not supported] - method `public FileDialogResult ShowDialog()` | py `saveFileDialog.ShowDialog() -> FileDialogResult` — Shows a file dialog, with the owner as the main Window [CLI not supported; Cloud not supported] - method `public FileDialogResult ShowDialog(Window owner)` | py `saveFileDialog.ShowDialog(owner: Window) -> FileDialogResult` — Shows a file dialog, with the passed owner window. [CLI not supported; Cloud not supported] - method `public void WriteToFile(string data)` | py `saveFileDialog.WriteToFile(data: str) -> None` — Writes data to selected file. [CLI not supported; Cloud not supported] - method `public void WriteToFile(byte[] data)` | py `saveFileDialog.WriteToFile(data: list[int]) -> None` — Writes data to selected file. [CLI not supported; Cloud not supported] - property `public bool AddExtension {get; set;}` | py `saveFileDialog.AddExtension: bool` — Gets or sets a value indicating whether a file dialog automatically adds an extension to a file name if the user omits an extension. [CLI not supported; Cloud not supported] - property `public string DefaultExt {get; set;}` | py `saveFileDialog.DefaultExt: str` — Gets or sets a value that specifies the default extension string to use to filter the list of files that are displayed. [CLI not supported; Cloud not supported] - property `public string Filter {get; set;}` | py `saveFileDialog.Filter: str` — Gets or sets the filter string that determines what types of files are displayed in file dialog. [CLI not supported; Cloud not supported] - property `public string InitialDirectory {get; set;}` | py `saveFileDialog.InitialDirectory: str` — Gets or sets the initial directory that is displayed by a file dialog. [CLI not supported; Cloud not supported] - property `public string Title {get; set;}` | py `saveFileDialog.Title: str` — Gets or sets a string shown in the title bar of the dialog. If this property is null, a localized default from the operating system itself will be used. [CLI not supported; Cloud not supported] - property `public bool ValidateNames {get; set;}` | py `saveFileDialog.ValidateNames: bool` — Gets or sets a value indicating whether the dialog accepts only valid file names. [CLI not supported; Cloud not supported] ## enum cAlgo.API.ScrollBarVisibility — Specifies the visibility of a ScrollBar for scrollable content. (https://help.ctrader.com/ctrader-algo/references/Controls/Layout/ScrollViewer/ScrollBarVisibility/index.md) - enum value `ScrollBarVisibility.Disabled;` | py `ScrollBarVisibility.Disabled` — A ScrollBar does not appear even when the viewport cannot display all of the content. - enum value `ScrollBarVisibility.Auto;` | py `ScrollBarVisibility.Auto` — A ScrollBar appears and the dimension of the ScrollViewer is applied to the content when the viewport cannot display all of the content. - enum value `ScrollBarVisibility.Hidden;` | py `ScrollBarVisibility.Hidden` — A ScrollBar does not appear even when the viewport cannot display all of the content. The dimension of the ScrollViewer is not applied to the content. - enum value `ScrollBarVisibility.Visible;` | py `ScrollBarVisibility.Visible` — A ScrollBar always appears. The dimension of the ScrollViewer is applied to the content. ## class cAlgo.API.ScrollViewer — Represents a scrollable area that can contain other visible elements. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/Layout/ScrollViewer/ScrollViewer/index.md) - constructor `public ScrollViewer()` | py `ScrollViewer()` — Initializes a new instance of the Scroll viewer class. [CLI not supported; Cloud not supported] - property `public ControlBase Content {get; set;}` | py `scrollViewer.Content: ControlBase` — Gets or sets the content. [CLI not supported; Cloud not supported] - property `public ScrollBarVisibility HorizontalScrollBarVisibility {get; set;}` | py `scrollViewer.HorizontalScrollBarVisibility: ScrollBarVisibility` — Defines the horizontal scroll bar visibility. [CLI not supported; Cloud not supported] - property `public ScrollBarVisibility VerticalScrollBarVisibility {get; set;}` | py `scrollViewer.VerticalScrollBarVisibility: ScrollBarVisibility` — Defines the vertical scroll bar visibility. [CLI not supported; Cloud not supported] ## class cAlgo.API.Shape — Provides the base class for shape elements, such as Ellipse, Polygon, and Rectangle. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/Layout/Shapes/Shape/index.md) - property `public Color FillColor {get; set;}` | py `shape.FillColor: Color` — Gets or sets the fill color. [CLI not supported; Cloud not supported] - property `public Stretch Stretch {get; set;}` | py `shape.Stretch: Stretch` — Gets or sets the stretch value. [CLI not supported; Cloud not supported] - property `public Color StrokeColor {get; set;}` | py `shape.StrokeColor: Color` — Gets or sets the stroke color. [CLI not supported; Cloud not supported] - property `public double[] StrokeDashArray {get; set;}` | py `shape.StrokeDashArray: list[float]` — Gets or sets a collection of Double values that indicate the pattern of dashes and gaps that is used to outline shapes. [CLI not supported; Cloud not supported] - property `public PenLineCap StrokeDashCap {get; set;}` | py `shape.StrokeDashCap: PenLineCap` — Gets or sets a PenLineCap enumeration value that specifies how the ends of a dash are drawn. [CLI not supported; Cloud not supported] - property `public double StrokeDashOffset {get; set;}` | py `shape.StrokeDashOffset: float` — Gets or sets a Double that specifies the distance within the dash pattern where a dash begins. [CLI not supported; Cloud not supported] - property `public PenLineCap StrokeEndLineCap {get; set;}` | py `shape.StrokeEndLineCap: PenLineCap` — Gets or sets the shape at the end of a line. [CLI not supported; Cloud not supported] - property `public PenLineJoin StrokeLineJoin {get; set;}` | py `shape.StrokeLineJoin: PenLineJoin` — Gets or sets the shape that joins two lines. [CLI not supported; Cloud not supported] - property `public double StrokeMiterLimit {get; set;}` | py `shape.StrokeMiterLimit: float` — Gets or sets a limit on the ratio of the miter length to half the StrokeThickness of a Shape element. [CLI not supported; Cloud not supported] - property `public PenLineCap StrokeStartLineCap {get; set;}` | py `shape.StrokeStartLineCap: PenLineCap` — Gets or sets the shape at the beginning of a line. [CLI not supported; Cloud not supported] - property `public double StrokeThickness {get; set;}` | py `shape.StrokeThickness: float` — Gets or sets the stroke thickness. [CLI not supported; Cloud not supported] ## interface cAlgo.API.Indicators.SimpleMovingAverage — The simple moving average is an average of price within n previous periods. (https://help.ctrader.com/ctrader-algo/references/Indicators/SimpleMovingAverage/index.md) ## enum cAlgo.API.SoundType — An enum containing various constants representing different built-in sounds for notifications. (https://help.ctrader.com/ctrader-algo/references/Notifications/SoundType/index.md) - enum value `SoundType.PositiveNotification;` | py `SoundType.PositiveNotification` — Positive Notification sound. - enum value `SoundType.NegativeNotification;` | py `SoundType.NegativeNotification` — Negative Notification sound. - enum value `SoundType.Announcement;` | py `SoundType.Announcement` — Announcement sound. - enum value `SoundType.Doorbell;` | py `SoundType.Doorbell` — Door bell sound. - enum value `SoundType.Confirmation;` | py `SoundType.Confirmation` — Confirmation sound. ## class cAlgo.API.StackPanel — Arranges the child element into a single line that can be oriented horizontally or vertically. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/Layout/StackPanel/index.md) - constructor `public StackPanel()` | py `StackPanel()` — Initializes a new instance of the StackPanel class. [CLI not supported; Cloud not supported] - property `public Orientation Orientation {get; set;}` | py `stackPanel.Orientation: Orientation` — Gets or sets the StackPanel orientation. [CLI not supported; Cloud not supported] ## interface cAlgo.API.Indicators.StandardDeviation — Standard Deviation measures the market volatility with a commonly used statisctical function. (https://help.ctrader.com/ctrader-algo/references/Indicators/StandardDeviation/index.md) - property `IndicatorDataSeries Result {get;}` | py `standardDeviation.Result: IndicatorDataSeries` — Gets the resulting time series of the Standard Deviation indicator calculation. ## interface cAlgo.API.StandardIndicator — Base type for standard indicators. (https://help.ctrader.com/ctrader-algo/references/General/StandardIndicator/index.md) - method `ChartIndicator AddToChart()` | py `standardIndicator.AddToChart() -> ChartIndicator` — Adds current indicator to chart if not added yet. - property `Bars Bars {get;}` | py `standardIndicator.Bars: Bars` — Gets indicator Bars. - property `Symbol Symbol {get;}` | py `standardIndicator.Symbol: Symbol` — Gets indicator Symbol. - property `TimeFrame TimeFrame {get;}` | py `standardIndicator.TimeFrame: TimeFrame` — Gets indicator TimeFrame. ## enum cAlgo.API.StandardSeriesType — An enumeration of the standard data series types of a bar. (https://help.ctrader.com/ctrader-algo/references/Indicators/StandardSeriesType/index.md) - enum value `StandardSeriesType.Open;` | py `StandardSeriesType.Open` — Bar Open price. - enum value `StandardSeriesType.High;` | py `StandardSeriesType.High` — Bar High price. - enum value `StandardSeriesType.Low;` | py `StandardSeriesType.Low` — Bar Low price. - enum value `StandardSeriesType.Close;` | py `StandardSeriesType.Close` — Bar close price. - enum value `StandardSeriesType.TickVolume;` | py `StandardSeriesType.TickVolume` — Bar tick volume. - enum value `StandardSeriesType.Median;` | py `StandardSeriesType.Median` — Bar median price. - enum value `StandardSeriesType.Typical;` | py `StandardSeriesType.Typical` — Bar typical price. - enum value `StandardSeriesType.Weighted;` | py `StandardSeriesType.Weighted` — Bar weighted price. - enum value `StandardSeriesType.Average;` | py `StandardSeriesType.Average` — Bar average price. ## enum cAlgo.API.StochasticCalculationType — An enumeration of the different Stochastic Oscillator indicator calculation types. (https://help.ctrader.com/ctrader-algo/references/Indicators/StochasticCalculationType/index.md) - enum value `StochasticCalculationType.LowHigh;` | py `StochasticCalculationType.LowHigh` — Uses lowest low and highest high (default). - enum value `StochasticCalculationType.CloseClose;` | py `StochasticCalculationType.CloseClose` — Uses lowest close and highest close. ## interface cAlgo.API.Indicators.StochasticOscillator — The Stochastic Oscillator is a momentum indicator that aims to show price reversals by comparing the closing price to the price range. (https://help.ctrader.com/ctrader-algo/references/Indicators/StochasticOscillator/index.md) - property `IndicatorDataSeries PercentD {get;}` | py `stochasticOscillator.PercentD: IndicatorDataSeries` — %D is 3 Period Exponential Moving Average of %K. - property `IndicatorDataSeries PercentK {get;}` | py `stochasticOscillator.PercentK: IndicatorDataSeries` — Calculation of %K is 100 multiplied by the ratio of the closing price minus the lowest price over the last N periods over the highest price over the last N minus the lowest price over the last N periods. ## record cAlgo.API.StopLossBreakEven — Represents a break-even rule that moves the stop loss to the entry price (optionally offset by a number of pips) once the trade has moved a configured trigger distance in favor of the position. (https://help.ctrader.com/ctrader-algo/references/Trading/StopLossBreakEven/index.md) - constructor `public StopLossBreakEven(double triggerDistance, double offset)` | py `StopLossBreakEven(triggerDistance: float, offset: float)` — Initializes a new instance of the StopLossBreakEven record. - constructor `public StopLossBreakEven(StopLossBreakEven original)` | py `StopLossBreakEven(original: StopLossBreakEven)` — - property `public double Offset {get;}` | py `stopLossBreakEven.Offset: float` — The offset in pips applied to the entry price when the stop loss is moved. - property `public double TriggerDistance {get;}` | py `stopLossBreakEven.TriggerDistance: float` — The distance in pips that activates the break-even rule. ## enum cAlgo.API.StopTriggerMethod — The trigger side for the Stop Orders. (https://help.ctrader.com/ctrader-algo/references/Trading/StopTriggerMethod/index.md) - enum value `StopTriggerMethod.Trade;` | py `StopTriggerMethod.Trade` — Trade method uses default trigger behavior for Stop orders. Buy order and Stop Loss for Sell position will be triggered when Ask >= order price. Sell order and Stop Loss for Buy position will be triggered when Bid <= order price. - enum value `StopTriggerMethod.Opposite;` | py `StopTriggerMethod.Opposite` — Opposite method uses opposite price for order triggering. Buy order and Stop Loss for Sell position will be triggered when Bid >= order price. Sell order and Stop Loss for Buy position will be triggered when Ask <= order price. - enum value `StopTriggerMethod.DoubleTrade;` | py `StopTriggerMethod.DoubleTrade` — Uses default prices for order triggering, but waits for additional confirmation - two consecutive prices should meet criteria to trigger order. Buy order and Stop Loss for Sell position will be triggered when two consecutive Ask prices >= order price. Sell order and Stop Loss for Buy position will be triggered when two consecutive Bid prices <= order price. - enum value `StopTriggerMethod.DoubleOpposite;` | py `StopTriggerMethod.DoubleOpposite` — Uses opposite prices for order triggering, and waits for additional confirmation - two consecutive prices should meet criteria to trigger order. Buy order and Stop Loss for Sell position will be triggered when two consecutive Bid prices >= order price. Sell order and Stop Loss for Buy position will be triggered when two consecutive Ask prices <= order price. ## enum cAlgo.API.Stretch — Describes how content is resized to fill its allocated space. (https://help.ctrader.com/ctrader-algo/references/Controls/Stretch/index.md) - enum value `Stretch.None;` | py `Stretch.None` — The content preserves its original size. - enum value `Stretch.Fill;` | py `Stretch.Fill` — The content is resized to fill the destination dimensions. The aspect ratio is not preserved. - enum value `Stretch.Uniform;` | py `Stretch.Uniform` — The content is resized to fit in the destination dimensions while it preserves its native aspect ratio. - enum value `Stretch.UniformToFill;` | py `Stretch.UniformToFill` — The content is resized to fill the destination dimensions while it preserves its native aspect ratio. If the aspect ratio of the destination rectangle differs from the source, the source content is clipped to fit in the destination dimensions. ## enum cAlgo.API.StretchDirection — Describes how scaling applies to content and restricts scaling to named axis types. (https://help.ctrader.com/ctrader-algo/references/Controls/StretchDirection/index.md) - enum value `StretchDirection.UpOnly;` | py `StretchDirection.UpOnly` — The content scales upward only when it is smaller than the parent. If the content is larger, no scaling downward is performed. - enum value `StretchDirection.DownOnly;` | py `StretchDirection.DownOnly` — The content scales downward only when it is larger than the parent. If the content is smaller, no scaling upward is performed. - enum value `StretchDirection.Both;` | py `StretchDirection.Both` — The content stretches to fit the parent according to the Stretch mode. ## class cAlgo.API.Style — Represents the style of a chart control. (https://help.ctrader.com/ctrader-algo/references/Controls/Styles/Style/index.md) - constructor `public Style()` | py `Style()` — Initializes a new instance of Style class. - constructor `public Style(Style parentStyle)` | py `Style(parentStyle: Style)` — Represents the parent style to be inherited by a desired style. - method `public object Get(ControlProperty property)` | py `style.Get(property: ControlProperty) -> object` — Gets the chart object style for the specified ControlProperty. - method `public object Get(ControlProperty property, ControlState state)` | py `style.Get(property: ControlProperty, state: ControlState) -> object` — Gets the chart control style for the specified ControlProperty and ControlState. - method `public void Set(ControlProperty property, object value, ControlState state)` | py `style.Set(property: ControlProperty, value: object, state: ControlState) -> None` — Provides data for the chart control Style for the specified ControlProperty and the ControlState. - method `public void Set(ControlProperty property, object value)` | py `style.Set(property: ControlProperty, value: object) -> None` — Sets the chart control Style for the specified ControlProperty. ## interface cAlgo.API.Indicators.Supertrend — Supertrend is one of the most popular trend trading indicators (https://help.ctrader.com/ctrader-algo/references/Indicators/Supertrend/index.md) - property `IndicatorDataSeries DownTrend {get; set;}` | py `supertrend.DownTrend: IndicatorDataSeries` — Gets the Supertrend Down trend data series - property `IndicatorDataSeries UpTrend {get; set;}` | py `supertrend.UpTrend: IndicatorDataSeries` — Gets the Supertrend Up trend data series ## class cAlgo.API.SvgIcon — Represents a SVG format vector icon. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/General/SvgIcon/index.md) - constructor `public SvgIcon(string svgXml)` | py `SvgIcon(svgXml: str)` — Creates an SVG icon from raw SVG XML string. [CLI works differently; Cloud works differently] ## interface cAlgo.API.Indicators.SwingIndex — Developed by Welles Wilder, the Swing Index compares current Open, high, Low and Close prices to find of current and previous periods to find "real" price. (https://help.ctrader.com/ctrader-algo/references/Indicators/SwingIndex/index.md) - property `IndicatorDataSeries Result {get;}` | py `swingIndex.Result: IndicatorDataSeries` — Gets the Result Series of the Swing Index indicator. ## interface cAlgo.API.Internals.Symbol — Represents a currency pair. (https://help.ctrader.com/ctrader-algo/references/MarketData/Symbols/Symbol/index.md) - method `double AmountRisked(double volume, double stopLossInPips)` | py `api.Symbol.AmountRisked(volume: float, stopLossInPips: float) -> float` — 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. - method `double GetEstimatedMargin(TradeType tradeType, double volume)` | py `api.Symbol.GetEstimatedMargin(tradeType: TradeType, volume: float) -> float` — Returns the amount of margin you need for x amount of volume. - method `double NormalizeVolumeInUnits(double volume, RoundingMode roundingMode)` | py `api.Symbol.NormalizeVolumeInUnits(volume: float, roundingMode: RoundingMode) -> float` — Round the volume to the amount suitable for a trade. - method `double PipsForFixedRisk(double amount, double volume)` | py `api.Symbol.PipsForFixedRisk(amount: float, volume: float) -> float` — 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. - method `double PipsForProportionalRisk(ProportionalAmountType type, double percentage, double volume)` | py `api.Symbol.PipsForProportionalRisk(type: ProportionalAmountType, percentage: float, volume: float) -> float` — 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. - method `double QuantityToVolumeInUnits(double quantity)` | py `api.Symbol.QuantityToVolumeInUnits(quantity: float) -> float` — Convert Quantity (in lots) to Volume in units of base currency. - method `double VolumeForFixedRisk(double amount, double stopLossInPips)` | py `api.Symbol.VolumeForFixedRisk(amount: float, stopLossInPips: float) -> float` — 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. - method `double VolumeForFixedRisk(double amount, double stopLossInPips, RoundingMode roundingMode)` | py `api.Symbol.VolumeForFixedRisk(amount: float, stopLossInPips: float, roundingMode: RoundingMode) -> float` — 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. - method `double VolumeForProportionalRisk(ProportionalAmountType type, double percentage, double stopLossInPips)` | py `api.Symbol.VolumeForProportionalRisk(type: ProportionalAmountType, percentage: float, stopLossInPips: float) -> float` — 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. - method `double VolumeForProportionalRisk(ProportionalAmountType type, double percentage, double stopLossInPips, RoundingMode roundingMode)` | py `api.Symbol.VolumeForProportionalRisk(type: ProportionalAmountType, percentage: float, stopLossInPips: float, roundingMode: RoundingMode) -> float` — 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. - method `double VolumeInUnitsToQuantity(double volume)` | py `api.Symbol.VolumeInUnitsToQuantity(volume: float) -> float` — Convert Volume in units of base currency to Quantity (in lots). - property `double AdministrativeCharge {get;}` | py `api.Symbol.AdministrativeCharge: float` — 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. - property `DayOfWeek? AdministrativeCharge3DaysRollover {get;}` | py `api.Symbol.AdministrativeCharge3DaysRollover: DayOfWeek | None` — Gets the Day of the week (in UTC) when Administrative Fee charge amount will be tripled. Only applicable for SWAP free trading accounts. - property `double Ask {get;}` | py `api.Symbol.Ask: float` — Gets the current ask price for this symbol. - property `Asset BaseAsset {get;}` | py `api.Symbol.BaseAsset: Asset` — Gets the symbol base asset. - property `double Bid {get;}` | py `api.Symbol.Bid: float` — Gets the current bid price for this symbol. - property `double Commission {get;}` | py `api.Symbol.Commission: float` — Gets the amount of base commission for the symbol. - property `SymbolCommissionType CommissionType {get;}` | py `api.Symbol.CommissionType: SymbolCommissionType` — Gets the symbol base commission calculation type. - property `int Digits {get;}` | py `api.Symbol.Digits: int` — Gets the number of digits for the symbol. - property `IReadonlyList DynamicLeverage {get;}` | py `api.Symbol.DynamicLeverage: IReadonlyList[LeverageTier]` — Gets the dynamic leverage tiers for the symbol. - property `FuturesSettings FuturesSettings {get;}` | py `api.Symbol.FuturesSettings: FuturesSettings` — Gets the future contract settings if symbol represents a future contract otherwise null. - property `int GracePeriod {get;}` | py `api.Symbol.GracePeriod: int` — 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. - property `bool IsCustom {get;}` | py `api.Symbol.IsCustom: bool` — Gets whether current symbol is a custom symbol or not. - property `bool IsTradingEnabled {get;}` | py `api.Symbol.IsTradingEnabled: bool` — Gets If trading is enabled or not for the symbol. - property `long LotSize {get;}` | py `api.Symbol.LotSize: int` — Gets the size of 1 lot in units of the base currency. - property `MarketHours MarketHours {get;}` | py `api.Symbol.MarketHours: MarketHours` — Gets access to the symbol's trading sessions schedule. - property `double MinCommission {get;}` | py `api.Symbol.MinCommission: float` — 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. - property `Asset MinCommissionAsset {get;}` | py `api.Symbol.MinCommissionAsset: Asset` — 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. - property `SymbolMinCommissionType MinCommissionType {get;}` | py `api.Symbol.MinCommissionType: SymbolMinCommissionType` — Gets the symbol minimum commission type. Use this property to interpret MinCommission value. - property `SymbolMinDistanceType MinDistanceType {get;}` | py `api.Symbol.MinDistanceType: SymbolMinDistanceType` — Gets the symbol minimum distances type. - property `double MinStopLossDistance {get;}` | py `api.Symbol.MinStopLossDistance: float` — Gets symbol minimum stop loss distance. Use MinDistanceType for interpretation. - property `double MinTakeProfitDistance {get;}` | py `api.Symbol.MinTakeProfitDistance: float` — Gets symbol minimum take profit distance. Use MinDistanceType for interpretation. - property `double PipSize {get;}` | py `api.Symbol.PipSize: float` — Gets the pip size for current symbol. - property `double PipValue {get;}` | py `api.Symbol.PipValue: float` — Gets the monetary value of one pip. This is the monetary value of one pip of the symbol when you started your cBot or initialized your indicator. Its not updated in real time and it remains constant. - property `double PnLConversionFeeRate {get;}` | py `api.Symbol.PnLConversionFeeRate: float` — Gets the symbol profit and loss conversion fee rate. - property `Asset QuoteAsset {get;}` | py `api.Symbol.QuoteAsset: Asset` — Gets the symbol quote asset. - property `SymbolSentiment Sentiment {get;}` | py `api.Symbol.Sentiment: SymbolSentiment` — Gets symbol sentiment. [Cloud not supported] - property `double Spread {get;}` | py `api.Symbol.Spread: float` — Gets the current spread of this symbol. - property `DayOfWeek? Swap3DaysRollover {get;}` | py `api.Symbol.Swap3DaysRollover: DayOfWeek | None` — Gets the Day of the week when Symbol SWAP charge amount will be tripled. - property `SymbolSwapCalculationType SwapCalculationType {get;}` | py `api.Symbol.SwapCalculationType: SymbolSwapCalculationType` — Gets the symbol SWAP calculation type. - property `double SwapLong {get;}` | py `api.Symbol.SwapLong: float` — Gets the SWAP charge for long positions of the symbol. - property `double SwapShort {get;}` | py `api.Symbol.SwapShort: float` — Gets the SWAP charge for short positions of the symbol. - property `double TickSize {get;}` | py `api.Symbol.TickSize: float` — Gets the tick size for the current symbol. - property `double TickValue {get;}` | py `api.Symbol.TickValue: float` — Gets the monetary value of one tick. This is the monetary value of one tick of the symbol when you started your cBot or initialized your indicator. Its not updated in real time and it remains constant. - property `SymbolTradingMode TradingMode {get;}` | py `api.Symbol.TradingMode: SymbolTradingMode` — Gets symbol trading mode. - property `double UnrealizedGrossProfit {get;}` | py `api.Symbol.UnrealizedGrossProfit: float` — Gets the sum of the unrealized Gross profits of the positions of this Symbol - property `double UnrealizedNetProfit {get;}` | py `api.Symbol.UnrealizedNetProfit: float` — Gets the sum of the unrealized Net profits of the positions of this Symbol. - property `double VolumeInUnitsMax {get;}` | py `api.Symbol.VolumeInUnitsMax: float` — Gets the maximum tradable amount. - property `double VolumeInUnitsMin {get;}` | py `api.Symbol.VolumeInUnitsMin: float` — Gets the minimum tradable amount. - property `double VolumeInUnitsStep {get;}` | py `api.Symbol.VolumeInUnitsStep: float` — Gets the minimum trade amount increment. - event `event Action Tick;` | py `api.Symbol.Tick += handler # handler(obj: SymbolTickEventArgs)` — Occurs on each incoming symbol ticks ## class cAlgo.API.SymbolAddedEventArgs — Provides data for the symbols added event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/SymbolAddedEventArgs/index.md) - property `public string SymbolName {get;}` | py `symbolAddedEventArgs.SymbolName: str` — Gets added symbol name. ## enum cAlgo.API.SymbolCommissionType — Defines symbol commission types. (https://help.ctrader.com/ctrader-algo/references/MarketData/Symbols/SymbolCommissionType/index.md) - enum value `SymbolCommissionType.UsdPerMillionUsdVolume;` | py `SymbolCommissionType.UsdPerMillionUsdVolume` — Commission is in USD per millions USD volume. - enum value `SymbolCommissionType.UsdPerOneLot;` | py `SymbolCommissionType.UsdPerOneLot` — Commission is in USD per one symbol lot. - enum value `SymbolCommissionType.PercentageOfTradingVolume;` | py `SymbolCommissionType.PercentageOfTradingVolume` — Commission is in Percentage of trading volume. - enum value `SymbolCommissionType.QuoteCurrencyPerOneLot;` | py `SymbolCommissionType.QuoteCurrencyPerOneLot` — Commission is in symbol quote asset / currency per one lot. ## enum cAlgo.API.SymbolMinCommissionType — Defines symbol minimum commission types. (https://help.ctrader.com/ctrader-algo/references/MarketData/Symbols/SymbolMinCommissionType/index.md) - enum value `SymbolMinCommissionType.Asset;` | py `SymbolMinCommissionType.Asset` — Symbol minimum commission type is in symbol MinCommissionAsset. - enum value `SymbolMinCommissionType.QuoteAsset;` | py `SymbolMinCommissionType.QuoteAsset` — Symbol minimum commission type is in Symbol Quote Asset ## enum cAlgo.API.SymbolMinDistanceType — Defines symbol minimum distance types. (https://help.ctrader.com/ctrader-algo/references/MarketData/Symbols/SymbolMinDistanceType/index.md) - enum value `SymbolMinDistanceType.Pips;` | py `SymbolMinDistanceType.Pips` — Symbol minimum distances are in Pips. - enum value `SymbolMinDistanceType.Percentage;` | py `SymbolMinDistanceType.Percentage` — Symbol minimum distances are in percentage difference. ## class cAlgo.API.SymbolRemovedEventArgs — Provides data for the symbols removed event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/SymbolRemovedEventArgs/index.md) - property `public string SymbolName {get;}` | py `symbolRemovedEventArgs.SymbolName: str` — Gets removed symbol name. ## interface cAlgo.API.SymbolSentiment — Represents a symbol sentiment. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/MarketData/Symbols/SymbolSentiment/index.md) - property `double BuyPercentage {get;}` | py `symbolSentiment.BuyPercentage: float` — Gets buy percentage if available otherwise 0. [Cloud not supported] - property `double SellPercentage {get;}` | py `symbolSentiment.SellPercentage: float` — Gets sell percentage if available otherwise 0. [Cloud not supported] - event `event Action Updated;` | py `symbolSentiment.Updated += handler # handler(obj: SymbolSentimentUpdatedEventArgs)` — Occurs when symbol sentiment data is updated. [Cloud not supported] ## class cAlgo.API.SymbolSentimentUpdatedEventArgs — Provides data for the price alert added event. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/SymbolSentimentUpdatedEventArgs/index.md) - property `public SymbolSentiment Sentiment {get;}` | py `symbolSentimentUpdatedEventArgs.Sentiment: SymbolSentiment` — Gets sentiment. [Cloud not supported] - property `public string SymbolName {get;}` | py `symbolSentimentUpdatedEventArgs.SymbolName: str` — Gets symbol name. [Cloud not supported] ## enum cAlgo.API.SymbolSwapCalculationType — Defines the types of calculation for symbol SWAP Long/Short. (https://help.ctrader.com/ctrader-algo/references/MarketData/Symbols/SymbolSwapCalculationType/index.md) - enum value `SymbolSwapCalculationType.Pips;` | py `SymbolSwapCalculationType.Pips` — Symbol SWAP Long/Short is in Pips. - enum value `SymbolSwapCalculationType.Percentage;` | py `SymbolSwapCalculationType.Percentage` — Symbol SWAP Long/Short is in Percent (%). - enum value `SymbolSwapCalculationType.Points;` | py `SymbolSwapCalculationType.Points` — Symbol SWAP Long/Short is in Points. ## class cAlgo.API.SymbolTickEventArgs — Provides data for the symbol tick event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/SymbolTickEventArgs/index.md) - property `public double Ask {get;}` | py `symbolTickEventArgs.Ask: float` — Gets the ask price. - property `public double Bid {get;}` | py `symbolTickEventArgs.Bid: float` — Gets the bid price. - property `public Symbol Symbol {get;}` | py `symbolTickEventArgs.Symbol: Symbol` — Gets the symbol. - property `public string SymbolName {get;}` | py `symbolTickEventArgs.SymbolName: str` — Gets the symbol name. ## enum cAlgo.API.SymbolTradingMode — Defines symbol trading modes. (https://help.ctrader.com/ctrader-algo/references/MarketData/Symbols/SymbolTradingMode/index.md) - enum value `SymbolTradingMode.FullAccess;` | py `SymbolTradingMode.FullAccess` — Full access mode. - enum value `SymbolTradingMode.CloseOnly;` | py `SymbolTradingMode.CloseOnly` — Close only mode. - enum value `SymbolTradingMode.DisabledWithPendingOrderExecution;` | py `SymbolTradingMode.DisabledWithPendingOrderExecution` — Trading is disabled but pending order execution is allowed mode. - enum value `SymbolTradingMode.FullyDisabled;` | py `SymbolTradingMode.FullyDisabled` — Trading is fully disabled mode. ## class cAlgo.API.SymbolUpdatedEventArgs — Provides data for the symbols updated event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/SymbolUpdatedEventArgs/index.md) - property `public string SymbolName {get;}` | py `symbolUpdatedEventArgs.SymbolName: str` — Gets updated symbol name. ## interface cAlgo.API.Symbols — Represents the list of all the symbols with the symbol names as string values. (https://help.ctrader.com/ctrader-algo/references/MarketData/Symbols/Symbols/index.md) - method `bool Exists(string symbolName)` | py `api.Symbols.Exists(symbolName: str) -> bool` — Defines if the specific symbol name exists in the list. - method `Symbol GetSymbol(string symbolName)` | py `api.Symbols.GetSymbol(symbolName: str) -> Symbol` — Gets the specific symbol. - method `Symbol[] GetSymbols(string[] symbolNames)` | py `api.Symbols.GetSymbols(symbolNames: list[str]) -> list[Symbol]` — Get multiple symbols at once. - property `IReadOnlySet Archived {get;}` | py `api.Symbols.Archived: IReadOnlySet[str]` — Gets the set of only archived symbol names. - property `int Count {get;}` | py `api.Symbols.Count: int` — Gets the total number of the symbols in the list. - property `IReadOnlySet Custom {get;}` | py `api.Symbols.Custom: IReadOnlySet[str]` — Gets the set of only custom symbol names. - property `IReadOnlySet Enabled {get;}` | py `api.Symbols.Enabled: IReadOnlySet[str]` — Gets the set of only enabled symbol names. - property `string Item {get;}` | py `api.Symbols[index: int] -> str` — Gets the desired symbol. - event `event Action Added;` | py `api.Symbols.Added += handler # handler(obj: SymbolAddedEventArgs)` — Occurs when a symbol is added. - event `event Action Removed;` | py `api.Symbols.Removed += handler # handler(obj: SymbolRemovedEventArgs)` — Occurs when a symbol is removed. - event `event Action Updated;` | py `api.Symbols.Updated += handler # handler(obj: SymbolUpdatedEventArgs)` — Occurs when a symbol is updated. ## class cAlgo.API.TabControl — Represents the Tab control. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/TabControl/index.md) - constructor `public TabControl()` | py `TabControl()` — Initializes a new instance of the TabControl class. [CLI not supported; Cloud not supported] - method `public void AddTab(TabItem tab)` | py `tabControl.AddTab(tab: TabItem) -> None` — Adds a new tab. [CLI not supported; Cloud not supported] - method `public bool RemoveTab(TabItem tab)` | py `tabControl.RemoveTab(tab: TabItem) -> bool` — Removes an existing tab. [CLI not supported; Cloud not supported] - property `public TabItem SelectedTab {get; set;}` | py `tabControl.SelectedTab: TabItem` — Gets or sets the SelectedTab. [CLI not supported; Cloud not supported] - property `public Dock TabStripPlacement {get; set;}` | py `tabControl.TabStripPlacement: Dock` — Gets or sets the TabStripPlacement (Default: Top). [CLI not supported; Cloud not supported] - property `public IReadonlyList Tabs {get;}` | py `tabControl.Tabs: IReadonlyList[TabItem]` — Get tabs. [CLI not supported; Cloud not supported] - event `public event Action SelectedTabChanged;` | py `tabControl.SelectedTabChanged += handler # handler(obj: TabControlSelectedTabChangedEventArgs)` — Occurs when the selected tab is changed. [CLI not supported; Cloud not supported] ## class cAlgo.API.TabControlSelectedTabChangedEventArgs — Provides data for the TabControl SelectedTabChanged event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/TabControlSelectedTabChangedEventArgs/index.md) - property `public TabItem SelectedTab {get;}` | py `tabControlSelectedTabChangedEventArgs.SelectedTab: TabItem` — Gets selected tab item. [CLI not supported; Cloud not supported] - property `public TabControl TabControl {get;}` | py `tabControlSelectedTabChangedEventArgs.TabControl: TabControl` — Gets tab control. [CLI not supported; Cloud not supported] ## class cAlgo.API.TabItem — Represents the Tab item. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/TabItem/index.md) - constructor `public TabItem()` | py `TabItem()` — Initializes a new instance of the TabItem class. [CLI not supported; Cloud not supported] - property `public ControlBase Content {get; set;}` | py `tabItem.Content: ControlBase` — Gets or sets the content. [CLI not supported; Cloud not supported] - property `public ControlBase Header {get; set;}` | py `tabItem.Header: ControlBase` — Gets or sets the content. [CLI not supported; Cloud not supported] ## enum cAlgo.API.TextAlignment — The text alignment regarding the anchor point. (https://help.ctrader.com/ctrader-algo/references/Controls/TextAlignment/index.md) - enum value `TextAlignment.Left;` | py `TextAlignment.Left` — Align the text left. - enum value `TextAlignment.Right;` | py `TextAlignment.Right` — Align the text right. - enum value `TextAlignment.Center;` | py `TextAlignment.Center` — Center the text vertically. - enum value `TextAlignment.Justify;` | py `TextAlignment.Justify` — Justify the text. ## class cAlgo.API.TextBlock — Represents the Text Block - the control to display a non-interactive text. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/TextBlock/index.md) - constructor `public TextBlock()` | py `TextBlock()` — Initializes a new instance of the Text Block class. [CLI not supported; Cloud not supported] - property `public double LineHeight {get; set;}` | py `textBlock.LineHeight: float` — Gets or sets the height of the line. [CLI not supported; Cloud not supported] - property `public LineStackingStrategy LineStackingStrategy {get; set;}` | py `textBlock.LineStackingStrategy: LineStackingStrategy` — Gets or sets the mechanism by which a line box is determined for each line of text within the TextBlock. [CLI not supported; Cloud not supported] - property `public string Text {get; set;}` | py `textBlock.Text: str` — Gets or sets the text. [CLI not supported; Cloud not supported] - property `public TextAlignment TextAlignment {get; set;}` | py `textBlock.TextAlignment: TextAlignment` — Gets or sets the text alignment. [CLI not supported; Cloud not supported] - property `public TextTrimming TextTrimming {get; set;}` | py `textBlock.TextTrimming: TextTrimming` — Gets or sets the text trimming behavior when the content overflows the content area. [CLI not supported; Cloud not supported] - property `public TextWrapping TextWrapping {get; set;}` | py `textBlock.TextWrapping: TextWrapping` — Gets or sets the way how the TextBlock should wrap the text. [CLI not supported; Cloud not supported] ## class cAlgo.API.TextBox — Represents the text box class. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/TextBox/index.md) - constructor `public TextBox()` | py `TextBox()` — Initializes a new instance of the TextBox class. [CLI not supported; Cloud not supported] - property `public bool AcceptsReturn {get; set;}` | py `textBox.AcceptsReturn: bool` — Gets or sets a value that indicates how the text editing control responds when the user presses the ENTER key. [CLI not supported; Cloud not supported] - property `public bool AcceptsTab {get; set;}` | py `textBox.AcceptsTab: bool` — Gets or sets a value that indicates how the text editing control responds when the user presses the TAB key. [CLI not supported; Cloud not supported] - property `public Color BorderColor {get; set;}` | py `textBox.BorderColor: Color` — Gets or sets the color of the text box border. [CLI not supported; Cloud not supported] - property `public Thickness BorderThickness {get; set;}` | py `textBox.BorderThickness: Thickness` — Gets or sets the border thickness. Property value can be set using Thickness, number, or a string new Thickness(5), new Thickness(1, 2, 3, 4), 5, "5", "1 2 3 4". [CLI not supported; Cloud not supported] - property `public Color CaretColor {get; set;}` | py `textBox.CaretColor: Color` — Gets or sets the color of the insertion caret. [CLI not supported; Cloud not supported] - property `public CharacterCasing CharacterCasing {get; set;}` | py `textBox.CharacterCasing: CharacterCasing` — Gets or sets whether the TextBox control modifies the case of characters as they are typed. [CLI not supported; Cloud not supported] - property `public ScrollBarVisibility HorizontalScrollBarVisibility {get; set;}` | py `textBox.HorizontalScrollBarVisibility: ScrollBarVisibility` — Defines the horizontal scroll bar visibility. [CLI not supported; Cloud not supported] - property `public bool IsReadOnly {get; set;}` | py `textBox.IsReadOnly: bool` — Gets or sets a value indicating whether the current text box is read-only. [CLI not supported; Cloud not supported] - property `public bool IsReadOnlyCaretVisible {get; set;}` | py `textBox.IsReadOnlyCaretVisible: bool` — Gets or sets a value that indicates whether a read-only text box displays a caret. [CLI not supported; Cloud not supported] - property `public int MaxLength {get; set;}` | py `textBox.MaxLength: int` — Gets or sets the maximum number of characters that can be manually entered into the text box. [CLI not supported; Cloud not supported] - property `public int MaxLines {get; set;}` | py `textBox.MaxLines: int` — Gets or sets the maximum number of visible lines. [CLI not supported; Cloud not supported] - property `public int MinLines {get; set;}` | py `textBox.MinLines: int` — Gets or sets the minimum number of visible lines. [CLI not supported; Cloud not supported] - property `public Color SelectionColor {get; set;}` | py `textBox.SelectionColor: Color` — Gets or sets the text color of the current text selection. [CLI not supported; Cloud not supported] - property `public double SelectionOpacity {get; set;}` | py `textBox.SelectionOpacity: float` — Gets or sets the opacity of the selected text. [CLI not supported; Cloud not supported] - property `public string Text {get; set;}` | py `textBox.Text: str` — Gets or sets the text. [CLI not supported; Cloud not supported] - property `public TextAlignment TextAlignment {get; set;}` | py `textBox.TextAlignment: TextAlignment` — Gets or sets a value that indicates the horizontal alignment of text content. [CLI not supported; Cloud not supported] - property `public TextWrapping TextWrapping {get; set;}` | py `textBox.TextWrapping: TextWrapping` — Gets or sets how the text box should wrap text. [CLI not supported; Cloud not supported] - property `public ScrollBarVisibility VerticalScrollBarVisibility {get; set;}` | py `textBox.VerticalScrollBarVisibility: ScrollBarVisibility` — Defines the vertical scroll bar visibility. [CLI not supported; Cloud not supported] - event `public event Action TextChanged;` | py `textBox.TextChanged += handler # handler(obj: TextChangedEventArgs)` — Occurs when the text has changed. [CLI not supported; Cloud not supported] ## class cAlgo.API.TextChangedEventArgs — Provides data for the TextChanged event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/TextChangedEventArgs/index.md) - property `public TextBox TextBox {get;}` | py `textChangedEventArgs.TextBox: TextBox` — Gets the texbox. [CLI not supported; Cloud not supported] ## enum cAlgo.API.TextTrimming — Describes how text is trimmed when it overflows the edge of its containing box. (https://help.ctrader.com/ctrader-algo/references/Controls/TextTrimming/index.md) - enum value `TextTrimming.None;` | py `TextTrimming.None` — Text is not trimmed. - enum value `TextTrimming.CharacterEllipsis;` | py `TextTrimming.CharacterEllipsis` — Text is trimmed at a character boundary. An ellipsis (...) is drawn in place of remaining text. - enum value `TextTrimming.WordEllipsis;` | py `TextTrimming.WordEllipsis` — Text is trimmed at a word boundary. An ellipsis (...) is drawn in place of remaining text. ## enum cAlgo.API.TextWrapping — Specifies whether text wraps when it reaches the edge of the containing box. (https://help.ctrader.com/ctrader-algo/references/Controls/TextWrapping/index.md) - enum value `TextWrapping.WrapWithOverflow;` | py `TextWrapping.WrapWithOverflow` — Line-breaking occurs if the line overflows beyond the available block width. However, a line may overflow beyond the block width if the line breaking algorithm cannot determine a line break opportunity, as in the case of a very long word constrained in a fixed-width container with no scrolling allowed. - enum value `TextWrapping.NoWrap;` | py `TextWrapping.NoWrap` — No line wrapping is performed. - enum value `TextWrapping.Wrap;` | py `TextWrapping.Wrap` — Line-breaking occurs if the line overflows beyond the available block width, even if the standard line breaking algorithm cannot determine any line break opportunity, as in the case of a very long word constrained in a fixed-width container with no scrolling allowed. ## struct cAlgo.API.Thickness — Defines the thickness of the frame around the rectangle. (https://help.ctrader.com/ctrader-algo/references/Controls/Thickness/index.md) - constructor `public Thickness(double left, double top, double right, double bottom)` | py `Thickness(left: float, top: float, right: float, bottom: float)` — Initializes a new instance of the Thickness structure. - constructor `public Thickness(double uniformLength)` | py `Thickness(uniformLength: float)` — Initializes a new instance of the Thickness structure. - property `public double Bottom {get; set;}` | py `thickness.Bottom: float` — Gets or sets the thickness of the bottom side of the retangle. - property `public double Left {get; set;}` | py `thickness.Left: float` — Gets or sets the thickness of the left side of the retangle. - property `public double Right {get; set;}` | py `thickness.Right: float` — Gets or sets the thickness of the right side of the retangle. - property `public double Top {get; set;}` | py `thickness.Top: float` — Gets or sets the thickness of the top side of the retangle. ## struct cAlgo.API.Tick — Represents the Tick object. (https://help.ctrader.com/ctrader-algo/references/MarketData/Ticks/Tick/index.md) - property `public double Ask {get;}` | py `tick.Ask: float` — Gets the Ask price of tick. - property `public double Bid {get;}` | py `tick.Bid: float` — Gets the Bid price of tick. - property `public DateTime Time {get;}` | py `tick.Time: DateTime` — Gets the Tick time. ## interface cAlgo.API.Indicators.TickVolume — The Tick Volume indicator shows number of ticks for each bar. (https://help.ctrader.com/ctrader-algo/references/Indicators/TickVolume/index.md) - property `IndicatorDataSeries Result {get;}` | py `tickVolume.Result: IndicatorDataSeries` — The resulting time series of the calculation. ## interface cAlgo.API.Ticks — Represents the Ticks interface - the collection of Tick objects. (https://help.ctrader.com/ctrader-algo/references/MarketData/Ticks/Ticks/index.md) - method `DateTime GetServerFirstTime()` | py `ticks.GetServerFirstTime() -> DateTime` — Returns the first available server tick time. - method `Tick Last(int index)` | py `ticks.Last(index: int) -> Tick` — Gets the tick from the end of the list. - method `int LoadMoreHistory()` | py `ticks.LoadMoreHistory() -> int` — Loads more historical ticks. Method returns the number of loaded ticks that were added to the beginning of the collection. - method `void LoadMoreHistoryAsync()` | py `ticks.LoadMoreHistoryAsync() -> None` — Loads more historical ticks asynchronously. - method `void LoadMoreHistoryAsync(Action callback)` | py `ticks.LoadMoreHistoryAsync(callback: Callable[[TicksHistoryLoadedEventArgs], None]) -> None` — Loads more historical ticks asynchronously. - property `int Count {get;}` | py `ticks.Count: int` — Gets the number of objects. - property `Tick Item {get;}` | py `ticks[index: int] -> Tick` — Gets the specific tick data. - property `Tick LastTick {get;}` | py `ticks.LastTick: Tick` — Gets the last tick in the chart. - property `string SymbolName {get;}` | py `ticks.SymbolName: str` — Gets the symbol name. - event `event Action HistoryLoaded;` | py `ticks.HistoryLoaded += handler # handler(obj: TicksHistoryLoadedEventArgs)` — Occurs when more history is loaded due to chart scroll to the left or due to API call. - event `event Action Reloaded;` | py `ticks.Reloaded += handler # handler(obj: TicksHistoryLoadedEventArgs)` — Occurs when ticks are refreshed due to reconnect. - event `event Action Tick;` | py `ticks.Tick += handler # handler(obj: TicksTickEventArgs)` — Occurs when a new tick appears. ## class cAlgo.API.TicksHistoryLoadedEventArgs — Provides data for the tick history loaded event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/TicksHistoryLoadedEventArgs/index.md) - property `public int Count {get;}` | py `ticksHistoryLoadedEventArgs.Count: int` — Gets the number of the ticks. - property `public Ticks Ticks {get;}` | py `ticksHistoryLoadedEventArgs.Ticks: Ticks` — Gets the tick data. ## class cAlgo.API.TicksTickEventArgs — Provides data for the tick event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/TicksTickEventArgs/index.md) - property `public Ticks Ticks {get;}` | py `ticksTickEventArgs.Ticks: Ticks` — Gets the Ticks data. ## class cAlgo.API.TimeFrame — Contains supported timeframe values. (https://help.ctrader.com/ctrader-algo/references/Period/TimeFrame/index.md) - method `public static TimeFrame Parse(string value)` | py `TimeFrame.Parse(value: str) -> TimeFrame` — It parses a string and if it matched to a timeframe name it returns that time frame otherwise it throws FormatException - method `public static bool TryParse(string value, TimeFrame& timeFrame)` | py `TimeFrame.TryParse(value: str, timeFrame: TimeFrame) -> bool` — It parses a string and if it matched to a timeframe name it sets it to the passed timeFrame parameter - property `public string Name {get;}` | py `api.TimeFrame.Name: str` — Returns the name of timeframe - property `public string ShortName {get;}` | py `api.TimeFrame.ShortName: str` — Returns the short name of timeframe - field `public static TimeFrame Daily;` | py `TimeFrame.Daily: TimeFrame` — Daily / D1 - field `public static TimeFrame Day2;` | py `TimeFrame.Day2: TimeFrame` — Day2 / D2 - field `public static TimeFrame Day3;` | py `TimeFrame.Day3: TimeFrame` — Day3 / D3 - field `public static TimeFrame HeikinDaily;` | py `TimeFrame.HeikinDaily: TimeFrame` — HeikinDaily / HD1 - field `public static TimeFrame HeikinDay2;` | py `TimeFrame.HeikinDay2: TimeFrame` — HeikinDay2 / HD2 - field `public static TimeFrame HeikinDay3;` | py `TimeFrame.HeikinDay3: TimeFrame` — HeikinDay3 / HD3 - field `public static TimeFrame HeikinHour;` | py `TimeFrame.HeikinHour: TimeFrame` — HeikinHour / Hh1 - field `public static TimeFrame HeikinHour12;` | py `TimeFrame.HeikinHour12: TimeFrame` — HeikinHour12 / Hh12 - field `public static TimeFrame HeikinHour2;` | py `TimeFrame.HeikinHour2: TimeFrame` — HeikinHour2 / Hh2 - field `public static TimeFrame HeikinHour3;` | py `TimeFrame.HeikinHour3: TimeFrame` — HeikinHour3 / Hh3 - field `public static TimeFrame HeikinHour4;` | py `TimeFrame.HeikinHour4: TimeFrame` — HeikinHour4 / Hh4 - field `public static TimeFrame HeikinHour6;` | py `TimeFrame.HeikinHour6: TimeFrame` — HeikinHour6 / Hh6 - field `public static TimeFrame HeikinHour8;` | py `TimeFrame.HeikinHour8: TimeFrame` — HeikinHour8 / Hh8 - field `public static TimeFrame HeikinMinute;` | py `TimeFrame.HeikinMinute: TimeFrame` — HeikinMinute / Hm1 - field `public static TimeFrame HeikinMinute10;` | py `TimeFrame.HeikinMinute10: TimeFrame` — HeikinMinute10 / Hm10 - field `public static TimeFrame HeikinMinute15;` | py `TimeFrame.HeikinMinute15: TimeFrame` — HeikinMinute15 / Hm15 - field `public static TimeFrame HeikinMinute2;` | py `TimeFrame.HeikinMinute2: TimeFrame` — HeikinMinute2 / Hm2 - field `public static TimeFrame HeikinMinute20;` | py `TimeFrame.HeikinMinute20: TimeFrame` — HeikinMinute20 / Hm20 - field `public static TimeFrame HeikinMinute3;` | py `TimeFrame.HeikinMinute3: TimeFrame` — HeikinMinute3 / Hm3 - field `public static TimeFrame HeikinMinute30;` | py `TimeFrame.HeikinMinute30: TimeFrame` — HeikinMinute30 / Hm30 - field `public static TimeFrame HeikinMinute4;` | py `TimeFrame.HeikinMinute4: TimeFrame` — HeikinMinute4 / Hm4 - field `public static TimeFrame HeikinMinute45;` | py `TimeFrame.HeikinMinute45: TimeFrame` — HeikinMinute45 / Hm45 - field `public static TimeFrame HeikinMinute5;` | py `TimeFrame.HeikinMinute5: TimeFrame` — HeikinMinute5 / Hm5 - field `public static TimeFrame HeikinMinute6;` | py `TimeFrame.HeikinMinute6: TimeFrame` — HeikinMinute6 / Hm6 - field `public static TimeFrame HeikinMinute7;` | py `TimeFrame.HeikinMinute7: TimeFrame` — HeikinMinute7 / Hm7 - field `public static TimeFrame HeikinMinute8;` | py `TimeFrame.HeikinMinute8: TimeFrame` — HeikinMinute8 / Hm8 - field `public static TimeFrame HeikinMinute9;` | py `TimeFrame.HeikinMinute9: TimeFrame` — HeikinMinute9 / Hm9 - field `public static TimeFrame HeikinMonthly;` | py `TimeFrame.HeikinMonthly: TimeFrame` — HeikinMonthly / HMonth1 - field `public static TimeFrame HeikinWeekly;` | py `TimeFrame.HeikinWeekly: TimeFrame` — HeikinWeekly / HW1 - field `public static TimeFrame Hour;` | py `TimeFrame.Hour: TimeFrame` — Hour / h1 - field `public static TimeFrame Hour12;` | py `TimeFrame.Hour12: TimeFrame` — Hour12 / h12 - field `public static TimeFrame Hour2;` | py `TimeFrame.Hour2: TimeFrame` — Hour2 / h2 - field `public static TimeFrame Hour3;` | py `TimeFrame.Hour3: TimeFrame` — Hour3 / h3 - field `public static TimeFrame Hour4;` | py `TimeFrame.Hour4: TimeFrame` — Hour4 / h4 - field `public static TimeFrame Hour6;` | py `TimeFrame.Hour6: TimeFrame` — Hour6 / h6 - field `public static TimeFrame Hour8;` | py `TimeFrame.Hour8: TimeFrame` — Hour8 / h8 - field `public static TimeFrame Minute;` | py `TimeFrame.Minute: TimeFrame` — Minute / m1 - field `public static TimeFrame Minute10;` | py `TimeFrame.Minute10: TimeFrame` — Minute10 / m10 - field `public static TimeFrame Minute15;` | py `TimeFrame.Minute15: TimeFrame` — Minute15 / m15 - field `public static TimeFrame Minute2;` | py `TimeFrame.Minute2: TimeFrame` — Minute2 / m2 - field `public static TimeFrame Minute20;` | py `TimeFrame.Minute20: TimeFrame` — Minute20 / m20 - field `public static TimeFrame Minute3;` | py `TimeFrame.Minute3: TimeFrame` — Minute3 / m3 - field `public static TimeFrame Minute30;` | py `TimeFrame.Minute30: TimeFrame` — Minute30 / m30 - field `public static TimeFrame Minute4;` | py `TimeFrame.Minute4: TimeFrame` — Minute4 / m4 - field `public static TimeFrame Minute45;` | py `TimeFrame.Minute45: TimeFrame` — Minute45 / m45 - field `public static TimeFrame Minute5;` | py `TimeFrame.Minute5: TimeFrame` — Minute5 / m5 - field `public static TimeFrame Minute6;` | py `TimeFrame.Minute6: TimeFrame` — Minute6 / m6 - field `public static TimeFrame Minute7;` | py `TimeFrame.Minute7: TimeFrame` — Minute7 / m7 - field `public static TimeFrame Minute8;` | py `TimeFrame.Minute8: TimeFrame` — Minute8 / m8 - field `public static TimeFrame Minute9;` | py `TimeFrame.Minute9: TimeFrame` — Minute9 / m9 - field `public static TimeFrame Monthly;` | py `TimeFrame.Monthly: TimeFrame` — Monthly / Month1 - field `public static TimeFrame Range1;` | py `TimeFrame.Range1: TimeFrame` — Range1 / Ra1 - field `public static TimeFrame Range10;` | py `TimeFrame.Range10: TimeFrame` — Range10 / Ra10 - field `public static TimeFrame Range100;` | py `TimeFrame.Range100: TimeFrame` — Range100 / Ra100 - field `public static TimeFrame Range1000;` | py `TimeFrame.Range1000: TimeFrame` — Range1000 / Ra1000 - field `public static TimeFrame Range10000;` | py `TimeFrame.Range10000: TimeFrame` — Range10000 / Ra10000 - field `public static TimeFrame Range150;` | py `TimeFrame.Range150: TimeFrame` — Range150 / Ra150 - field `public static TimeFrame Range2;` | py `TimeFrame.Range2: TimeFrame` — Range2 / Ra2 - field `public static TimeFrame Range20;` | py `TimeFrame.Range20: TimeFrame` — Range20 / Ra20 - field `public static TimeFrame Range200;` | py `TimeFrame.Range200: TimeFrame` — Range200 / Ra200 - field `public static TimeFrame Range2000;` | py `TimeFrame.Range2000: TimeFrame` — Range2000 / Ra2000 - field `public static TimeFrame Range3;` | py `TimeFrame.Range3: TimeFrame` — Range3 / Ra3 - field `public static TimeFrame Range30;` | py `TimeFrame.Range30: TimeFrame` — Range30 / Ra30 - field `public static TimeFrame Range300;` | py `TimeFrame.Range300: TimeFrame` — Range300 / Ra300 - field `public static TimeFrame Range4;` | py `TimeFrame.Range4: TimeFrame` — Range4 / Ra4 - field `public static TimeFrame Range5;` | py `TimeFrame.Range5: TimeFrame` — Range5 / Ra5 - field `public static TimeFrame Range50;` | py `TimeFrame.Range50: TimeFrame` — Range50 / Ra50 - field `public static TimeFrame Range500;` | py `TimeFrame.Range500: TimeFrame` — Range500 / Ra500 - field `public static TimeFrame Range5000;` | py `TimeFrame.Range5000: TimeFrame` — Range5000 / Ra5000 - field `public static TimeFrame Range7500;` | py `TimeFrame.Range7500: TimeFrame` — Range7500 / Ra7500 - field `public static TimeFrame Range8;` | py `TimeFrame.Range8: TimeFrame` — Range8 / Ra8 - field `public static TimeFrame Range80;` | py `TimeFrame.Range80: TimeFrame` — Range80 / Ra80 - field `public static TimeFrame Range800;` | py `TimeFrame.Range800: TimeFrame` — Range800 / Ra800 - field `public static TimeFrame Renko1;` | py `TimeFrame.Renko1: TimeFrame` — Renko1 / Re1 - field `public static TimeFrame Renko10;` | py `TimeFrame.Renko10: TimeFrame` — Renko10 / Re10 - field `public static TimeFrame Renko100;` | py `TimeFrame.Renko100: TimeFrame` — Renko100 / Re100 - field `public static TimeFrame Renko1000;` | py `TimeFrame.Renko1000: TimeFrame` — Renko1000 / Re1000 - field `public static TimeFrame Renko15;` | py `TimeFrame.Renko15: TimeFrame` — Renko15 / Re15 - field `public static TimeFrame Renko150;` | py `TimeFrame.Renko150: TimeFrame` — Renko150 / Re150 - field `public static TimeFrame Renko2;` | py `TimeFrame.Renko2: TimeFrame` — Renko2 / Re2 - field `public static TimeFrame Renko20;` | py `TimeFrame.Renko20: TimeFrame` — Renko20 / Re20 - field `public static TimeFrame Renko200;` | py `TimeFrame.Renko200: TimeFrame` — Renko200 / Re200 - field `public static TimeFrame Renko2000;` | py `TimeFrame.Renko2000: TimeFrame` — Renko2000 / Re2000 - field `public static TimeFrame Renko25;` | py `TimeFrame.Renko25: TimeFrame` — Renko25 / Re25 - field `public static TimeFrame Renko3;` | py `TimeFrame.Renko3: TimeFrame` — Renko3 / Re3 - field `public static TimeFrame Renko30;` | py `TimeFrame.Renko30: TimeFrame` — Renko30 / Re30 - field `public static TimeFrame Renko300;` | py `TimeFrame.Renko300: TimeFrame` — Renko300 / Re300 - field `public static TimeFrame Renko35;` | py `TimeFrame.Renko35: TimeFrame` — Renko35 / Re35 - field `public static TimeFrame Renko4;` | py `TimeFrame.Renko4: TimeFrame` — Renko4 / Re4 - field `public static TimeFrame Renko40;` | py `TimeFrame.Renko40: TimeFrame` — Renko40 / Re40 - field `public static TimeFrame Renko45;` | py `TimeFrame.Renko45: TimeFrame` — Renko45 / Re45 - field `public static TimeFrame Renko5;` | py `TimeFrame.Renko5: TimeFrame` — Renko5 / Re5 - field `public static TimeFrame Renko50;` | py `TimeFrame.Renko50: TimeFrame` — Renko50 / Re50 - field `public static TimeFrame Renko500;` | py `TimeFrame.Renko500: TimeFrame` — Renko500 / Re500 - field `public static TimeFrame Renko6;` | py `TimeFrame.Renko6: TimeFrame` — Renko6 / Re6 - field `public static TimeFrame Renko7;` | py `TimeFrame.Renko7: TimeFrame` — Renko7 / Re7 - field `public static TimeFrame Renko8;` | py `TimeFrame.Renko8: TimeFrame` — Renko8 / Re8 - field `public static TimeFrame Renko800;` | py `TimeFrame.Renko800: TimeFrame` — Renko800 / Re800 - field `public static TimeFrame Renko9;` | py `TimeFrame.Renko9: TimeFrame` — Renko9 / Re9 - field `public static TimeFrame Tick;` | py `TimeFrame.Tick: TimeFrame` — Tick / t1 - field `public static TimeFrame Tick10;` | py `TimeFrame.Tick10: TimeFrame` — Tick10 / t10 - field `public static TimeFrame Tick100;` | py `TimeFrame.Tick100: TimeFrame` — Tick100 / t100 - field `public static TimeFrame Tick1000;` | py `TimeFrame.Tick1000: TimeFrame` — Tick1000 / t1000 - field `public static TimeFrame Tick15;` | py `TimeFrame.Tick15: TimeFrame` — Tick15 / t15 - field `public static TimeFrame Tick150;` | py `TimeFrame.Tick150: TimeFrame` — Tick150 / t150 - field `public static TimeFrame Tick2;` | py `TimeFrame.Tick2: TimeFrame` — Tick2 / t2 - field `public static TimeFrame Tick20;` | py `TimeFrame.Tick20: TimeFrame` — Tick20 / t20 - field `public static TimeFrame Tick200;` | py `TimeFrame.Tick200: TimeFrame` — Tick200 / t200 - field `public static TimeFrame Tick25;` | py `TimeFrame.Tick25: TimeFrame` — Tick25 / t25 - field `public static TimeFrame Tick250;` | py `TimeFrame.Tick250: TimeFrame` — Tick250 / t250 - field `public static TimeFrame Tick3;` | py `TimeFrame.Tick3: TimeFrame` — Tick3 / t3 - field `public static TimeFrame Tick30;` | py `TimeFrame.Tick30: TimeFrame` — Tick30 / t30 - field `public static TimeFrame Tick300;` | py `TimeFrame.Tick300: TimeFrame` — Tick300 / t300 - field `public static TimeFrame Tick4;` | py `TimeFrame.Tick4: TimeFrame` — Tick4 / t4 - field `public static TimeFrame Tick40;` | py `TimeFrame.Tick40: TimeFrame` — Tick40 / t40 - field `public static TimeFrame Tick5;` | py `TimeFrame.Tick5: TimeFrame` — Tick5 / t5 - field `public static TimeFrame Tick50;` | py `TimeFrame.Tick50: TimeFrame` — Tick50 / t50 - field `public static TimeFrame Tick500;` | py `TimeFrame.Tick500: TimeFrame` — Tick500 / t500 - field `public static TimeFrame Tick6;` | py `TimeFrame.Tick6: TimeFrame` — Tick6 / t6 - field `public static TimeFrame Tick60;` | py `TimeFrame.Tick60: TimeFrame` — Tick60 / t60 - field `public static TimeFrame Tick7;` | py `TimeFrame.Tick7: TimeFrame` — Tick7 / t7 - field `public static TimeFrame Tick750;` | py `TimeFrame.Tick750: TimeFrame` — Tick750 / t750 - field `public static TimeFrame Tick8;` | py `TimeFrame.Tick8: TimeFrame` — Tick8 / t8 - field `public static TimeFrame Tick80;` | py `TimeFrame.Tick80: TimeFrame` — Tick80 / t80 - field `public static TimeFrame Tick9;` | py `TimeFrame.Tick9: TimeFrame` — Tick9 / t9 - field `public static TimeFrame Tick90;` | py `TimeFrame.Tick90: TimeFrame` — Tick90 / t90 - field `public static TimeFrame Weekly;` | py `TimeFrame.Weekly: TimeFrame` — Weekly / W1 ## interface cAlgo.API.TimeFrameManager — Provides access to TimeFrames API for plugins. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/TimeFrame/TimeFrameManager/index.md) - property `CustomTimeFrames Custom {get;}` | py `api.TimeFrameManager.Custom: CustomTimeFrames` — Provides access to Custom TimeFrames API. [CLI not supported; Cloud not supported] - property `FavoriteTimeFrames Favorite {get;}` | py `api.TimeFrameManager.Favorite: FavoriteTimeFrames` — Provides access to Favorite TimeFrames API. [CLI not supported; Cloud not supported] ## interface cAlgo.API.TimeFrames — Represents collection of all time frames including custom time frames. [CLI works differently; Cloud works differently] (https://help.ctrader.com/ctrader-algo/references/Period/TimeFrames/index.md) - event `event Action Added;` | py `api.TimeFrames.Added += handler # handler(obj: TimeFramesAddedEventArgs)` — Occurs when new TimeFrames are added. [CLI works differently; Cloud works differently] - event `event Action Removed;` | py `api.TimeFrames.Removed += handler # handler(obj: TimeFramesRemovedEventArgs)` — Occurs when TimeFrames are removed. [CLI works differently; Cloud works differently] ## class cAlgo.API.TimeFramesAddedEventArgs — Provides data for the TimeFrames Added event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/TimeFramesAddedEventArgs/index.md) - property `public TimeFrame[] TimeFrames {get;}` | py `timeFramesAddedEventArgs.TimeFrames: list[TimeFrame]` — Gets the added time frames. ## class cAlgo.API.TimeFramesRemovedEventArgs — Provides data for the TimeFrames Removed event. (https://help.ctrader.com/ctrader-algo/references/EventArgs/TimeFramesRemovedEventArgs/index.md) - property `public TimeFrame[] TimeFrames {get;}` | py `timeFramesRemovedEventArgs.TimeFrames: list[TimeFrame]` — Gets the removed time frames. ## interface cAlgo.API.TimeSeries — A series of values that represent time like Bars.OpenTimes (https://help.ctrader.com/ctrader-algo/references/Collections/DataSeries/TimeSeries/index.md) - method `int GetIndexByExactTime(DateTime dateTime)` | py `timeSeries.GetIndexByExactTime(dateTime: DateTime) -> int` — Find the index in the different time frame series. - method `int GetIndexByTime(DateTime dateTime)` | py `timeSeries.GetIndexByTime(dateTime: DateTime) -> int` — Find the index in the different time frame series. - method `DateTime Last(int index)` | py `timeSeries.Last(index: int) -> DateTime` — Access a value in the data series certain number of bars ago. - property `int Count {get;}` | py `timeSeries.Count: int` — Gets the number of elements contained in the series. - property `DateTime Item {get;}` | py `timeSeries[index: int] -> DateTime` — Returns the DateTime value at the specified index. - property `DateTime LastValue {get;}` | py `timeSeries.LastValue: DateTime` — Gets the last value of this time series. ## interface cAlgo.API.Indicators.TimeSeriesMovingAverage — A Time Series Moving Average is moving average based on linear regression forecast. (https://help.ctrader.com/ctrader-algo/references/Indicators/TimeSeriesMovingAverage/index.md) ## class cAlgo.API.TimeZones — Standard TimeZones class. (https://help.ctrader.com/ctrader-algo/references/Utility/TimeZones/index.md) - field `public static string AlaskanStandardTime;` | py `TimeZones.AlaskanStandardTime: str` — (GMT-09:00) Alaska - field `public static string ArabStandardTime;` | py `TimeZones.ArabStandardTime: str` — (GMT+03:00) Kuwait, Riyadh - field `public static string ArabianStandardTime;` | py `TimeZones.ArabianStandardTime: str` — (GMT+04:00) Abu Dhabi, Muscat - field `public static string ArabicStandardTime;` | py `TimeZones.ArabicStandardTime: str` — (GMT+03:00) Baghdad - field `public static string AtlanticStandardTime;` | py `TimeZones.AtlanticStandardTime: str` — (GMT-04:00) Atlantic Time (Canada) - field `public static string AzoresStandardTime;` | py `TimeZones.AzoresStandardTime: str` — (GMT-01:00) Azores - field `public static string CanadaCentralStandardTime;` | py `TimeZones.CanadaCentralStandardTime: str` — (GMT-06:00) Saskatchewan - field `public static string CapeVerdeStandardTime;` | py `TimeZones.CapeVerdeStandardTime: str` — (GMT-01:00) Cape Verde Islands - field `public static string CaucasusStandardTime;` | py `TimeZones.CaucasusStandardTime: str` — (GMT+04:00) Baku, Tbilisi, Yerevan - field `public static string CenAustraliaStandardTime;` | py `TimeZones.CenAustraliaStandardTime: str` — (GMT+09:30) Adelaide - field `public static string CentralAmericaStandardTime;` | py `TimeZones.CentralAmericaStandardTime: str` — (GMT-06:00) Central America - field `public static string CentralAsiaStandardTime;` | py `TimeZones.CentralAsiaStandardTime: str` — (GMT+06:00) Astana, Dhaka - field `public static string CentralEuropeStandardTime;` | py `TimeZones.CentralEuropeStandardTime: str` — (GMT+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague - field `public static string CentralEuropeanStandardTime;` | py `TimeZones.CentralEuropeanStandardTime: str` — (GMT+01:00) Sarajevo, Skopje, Warsaw, Zagreb - field `public static string CentralPacificStandardTime;` | py `TimeZones.CentralPacificStandardTime: str` — (GMT+11:00) Magadan, Solomon Islands, New Caledonia - field `public static string CentralStandardTime;` | py `TimeZones.CentralStandardTime: str` — (GMT-06:00) Central Time (US and Canada - field `public static string ChinaStandardTime;` | py `TimeZones.ChinaStandardTime: str` — (GMT+08:00) Beijing, Chongqing, Hong Kong SAR, Urumqi - field `public static string DatelineStandardTime;` | py `TimeZones.DatelineStandardTime: str` — (GMT-12:00) International Date Line West - field `public static string EAfricaStandardTime;` | py `TimeZones.EAfricaStandardTime: str` — (GMT+03:00) Nairobi - field `public static string EAustraliaStandardTime;` | py `TimeZones.EAustraliaStandardTime: str` — (GMT+10:00) Brisbane - field `public static string EEuropeStandardTime;` | py `TimeZones.EEuropeStandardTime: str` — (GMT+02:00) Bucharest - field `public static string ESouthAmericaStandardTime;` | py `TimeZones.ESouthAmericaStandardTime: str` — (GMT-03:00) Brasilia - field `public static string EasternStandardTime;` | py `TimeZones.EasternStandardTime: str` — (GMT-05:00) Eastern Time (US and Canada) - field `public static string EgyptStandardTime;` | py `TimeZones.EgyptStandardTime: str` — (GMT+02:00) Cairo - field `public static string EkaterinburgStandardTime;` | py `TimeZones.EkaterinburgStandardTime: str` — (GMT+05:00) Ekaterinburg - field `public static string FLEStandardTime;` | py `TimeZones.FLEStandardTime: str` — (GMT+02:00) Helsinki, Kiev, Riga, Sofia, Tallinn, Vilnius - field `public static string GMTStandardTime;` | py `TimeZones.GMTStandardTime: str` — (GMT) Greenwich Mean Time: Dublin, Edinburgh, Lisbon, London - field `public static string GTBStandardTime;` | py `TimeZones.GTBStandardTime: str` — (GMT+02:00) Athens, Istanbul, Minsk - field `public static string GreenlandStandardTime;` | py `TimeZones.GreenlandStandardTime: str` — (GMT-03:00) Greenland - field `public static string GreenwichStandardTime;` | py `TimeZones.GreenwichStandardTime: str` — (GMT) Casablanca, Monrovia - field `public static string HawaiianStandardTime;` | py `TimeZones.HawaiianStandardTime: str` — (GMT-10:00) Hawaii - field `public static string IndiaStandardTime;` | py `TimeZones.IndiaStandardTime: str` — (GMT+05:30) Chennai, Kolkata, Mumbai, New Delhi - field `public static string IranStandardTime;` | py `TimeZones.IranStandardTime: str` — (GMT+03:30) Tehran - field `public static string IsraelStandardTime;` | py `TimeZones.IsraelStandardTime: str` — (GMT+02:00) Jerusalem - field `public static string KoreaStandardTime;` | py `TimeZones.KoreaStandardTime: str` — (GMT+09:00) Seoul - field `public static string MidAtlanticStandardTime;` | py `TimeZones.MidAtlanticStandardTime: str` — (GMT-02:00) Mid-Atlantic - field `public static string MountainStandardTime;` | py `TimeZones.MountainStandardTime: str` — (GMT-07:00) Mountain Time (US and Canada) - field `public static string MyanmarStandardTime;` | py `TimeZones.MyanmarStandardTime: str` — (GMT+06:30) Yangon Rangoon - field `public static string NCentralAsiaStandardTime;` | py `TimeZones.NCentralAsiaStandardTime: str` — (GMT+06:00) Almaty, Novosibirsk - field `public static string NepalStandardTime;` | py `TimeZones.NepalStandardTime: str` — (GMT+05:45) Kathmandu - field `public static string NewZealandStandardTime;` | py `TimeZones.NewZealandStandardTime: str` — (GMT+12:00) Auckland, Wellington - field `public static string NorthAsiaEastStandardTime;` | py `TimeZones.NorthAsiaEastStandardTime: str` — (GMT+08:00) Irkutsk, Ulaanbaatar - field `public static string NorthAsiaStandardTime;` | py `TimeZones.NorthAsiaStandardTime: str` — (GMT+07:00) Krasnoyarsk - field `public static string PacificStandardTime;` | py `TimeZones.PacificStandardTime: str` — (GMT-08:00) Pacific Time (US and Canada); Tijuana - field `public static string RomanceStandardTime;` | py `TimeZones.RomanceStandardTime: str` — (GMT+01:00) Brussels, Copenhagen, Madrid, Paris - field `public static string RussianStandardTime;` | py `TimeZones.RussianStandardTime: str` — (GMT+03:00) Moscow, St. Petersburg, Volgograd - field `public static string SamoaStandardTime;` | py `TimeZones.SamoaStandardTime: str` — (GMT-11:00) Midway Island, Samoa - field `public static string SingaporeStandardTime;` | py `TimeZones.SingaporeStandardTime: str` — (GMT+08:00) Kuala Lumpur, Singapore - field `public static string SouthAfricaStandardTime;` | py `TimeZones.SouthAfricaStandardTime: str` — (GMT+02:00) Harare, Pretoria - field `public static string SriLankaStandardTime;` | py `TimeZones.SriLankaStandardTime: str` — (GMT+06:00) Sri Jayawardenepura - field `public static string TaipeiStandardTime;` | py `TimeZones.TaipeiStandardTime: str` — (GMT+08:00) Taipei - field `public static string TasmaniaStandardTime;` | py `TimeZones.TasmaniaStandardTime: str` — (GMT+10:00) Hobart - field `public static string TokyoStandardTime;` | py `TimeZones.TokyoStandardTime: str` — (GMT+09:00) Osaka, Sapporo, Tokyo - field `public static string TongaStandardTime;` | py `TimeZones.TongaStandardTime: str` — (GMT+13:00) Nuku'alofa - field `public static string UTC;` | py `TimeZones.UTC: str` — Coordinated Universal Time - field `public static string VladivostokStandardTime;` | py `TimeZones.VladivostokStandardTime: str` — (GMT+10:00) Vladivostok - field `public static string WAustraliaStandardTime;` | py `TimeZones.WAustraliaStandardTime: str` — (GMT+08:00) Perth - field `public static string WCentralAfricaStandardTime;` | py `TimeZones.WCentralAfricaStandardTime: str` — (GMT+01:00) West Central Africa - field `public static string WEuropeStandardTime;` | py `TimeZones.WEuropeStandardTime: str` — (GMT+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna - field `public static string WestAsiaStandardTime;` | py `TimeZones.WestAsiaStandardTime: str` — (GMT+05:00) Islamabad, Karachi, Tashkent - field `public static string WestPacificStandardTime;` | py `TimeZones.WestPacificStandardTime: str` — (GMT+10:00) Guam, Port Moresby - field `public static string YakutskStandardTime;` | py `TimeZones.YakutskStandardTime: str` — (GMT+09:00) Yakutsk ## interface cAlgo.API.Timer — Schedules execution of virtual OnTimer method with specified interval. (https://help.ctrader.com/ctrader-algo/references/Timer/Timer/index.md) - method `void Start(TimeSpan interval)` | py `api.Timer.Start(interval: TimeSpan) -> None` — Starts the Timer - method `void Start(int intervalInSeconds)` | py `api.Timer.Start(intervalInSeconds: int) -> None` — Starts the Timer - method `void Stop()` | py `api.Timer.Stop() -> None` — Stops the Timer - property `TimeSpan Interval {get;}` | py `api.Timer.Interval: TimeSpan` — Gets the interval of timer. Returns -1 millisecond if the timer is stopped - event `event Action TimerTick;` | py `api.Timer.TimerTick += handler # handler()` — Occurs when the interval elapses ## class cAlgo.API.ToggleButton — Represents the Toggle button. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/ToggleButton/index.md) - constructor `public ToggleButton()` | py `ToggleButton()` — Initializes a new instance of the Toggle button class. [CLI not supported; Cloud not supported] - property `public Color BorderColor {get; set;}` | py `toggleButton.BorderColor: Color` — Gets or sets the border line color. [CLI not supported; Cloud not supported] - property `public Thickness BorderThickness {get; set;}` | py `toggleButton.BorderThickness: Thickness` — Gets or sets the border thickness. Property value can be set using Thickness, number, or a string new Thickness(5), new Thickness(1, 2, 3, 4), 5, "5", "1 2 3 4". [CLI not supported; Cloud not supported] - property `public ControlBase Content {get; set;}` | py `toggleButton.Content: ControlBase` — Gets or sets the content. [CLI not supported; Cloud not supported] - property `public CornerRadius CornerRadius {get; set;}` | py `toggleButton.CornerRadius: CornerRadius` — Gets or sets the border corner radius. Property value can be set using CornerRadius, number, or a string: new CornerRadius(5), new CornerRadius(1, 2, 3, 4). [CLI not supported; Cloud not supported] - property `public bool IsChecked {get; set;}` | py `toggleButton.IsChecked: bool` — Defines whether the Toggle button is checked. [CLI not supported; Cloud not supported] - property `public string Text {get; set;}` | py `toggleButton.Text: str` — Gets or sets the text. [CLI not supported; Cloud not supported] - event `public event Action Checked;` | py `toggleButton.Checked += handler # handler(obj: ToggleButtonEventArgs)` — Occurs when checked. [CLI not supported; Cloud not supported] - event `public event Action Click;` | py `toggleButton.Click += handler # handler(obj: ToggleButtonEventArgs)` — Occurs when clicked. [CLI not supported; Cloud not supported] - event `public event Action Unchecked;` | py `toggleButton.Unchecked += handler # handler(obj: ToggleButtonEventArgs)` — Occurs when unchecked. [CLI not supported; Cloud not supported] ## class cAlgo.API.ToggleButtonEventArgs — Represents the toggle button event class. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/ToggleButtonEventArgs/index.md) - property `public ToggleButton ToggleButton {get;}` | py `toggleButtonEventArgs.ToggleButton: ToggleButton` — Gets the toggle button data. [CLI not supported; Cloud not supported] ## enum cAlgo.API.Internals.TotalMarginCalculationType — Defines types of total margin requirements per Symbol. (https://help.ctrader.com/ctrader-algo/references/Account/TotalMarginCalculationType/index.md) - enum value `TotalMarginCalculationType.Sum;` | py `TotalMarginCalculationType.Sum` — Total margin requirements per Symbol are equal to Sum of all margin requirements of all positions of that Symbol. - enum value `TotalMarginCalculationType.Max;` | py `TotalMarginCalculationType.Max` — Total margin requirements per Symbol are equal to Max margin requirements from all Long and all Short Positions of that Symbol. - enum value `TotalMarginCalculationType.Net;` | py `TotalMarginCalculationType.Net` — Total margin requirements per Symbol are equal to the difference between margin requirements of all Long and all Short Positions of that Symbol. ## class cAlgo.API.TradeOperation — Provides access to the properties describing an asynchronous trade operation. (https://help.ctrader.com/ctrader-algo/references/Trading/TradeOperation/index.md) - property `public bool IsExecuting {get;}` | py `tradeOperation.IsExecuting: bool` — True if a trade operation is being executed, false if it completed - property `public TradeResult TradeResult {get;}` | py `tradeOperation.TradeResult: TradeResult` — The result of a trade operation ## class cAlgo.API.TradeResult — The result of a trade operation. (https://help.ctrader.com/ctrader-algo/references/Trading/TradeResult/index.md) - property `public ErrorCode? Error {get;}` | py `api.LastResult.Error: ErrorCode | None` — The error code of an unsuccessful trade. - property `public bool IsSuccessful {get;}` | py `api.LastResult.IsSuccessful: bool` — True if the trade is successful, false if there is an error. - property `public PendingOrder PendingOrder {get;}` | py `api.LastResult.PendingOrder: PendingOrder` — The resulting pending order of a trade request. - property `public Position Position {get;}` | py `api.LastResult.Position: Position` — The resulting position of a trade request. ## enum cAlgo.API.TradeType — The direction of a trade order. (https://help.ctrader.com/ctrader-algo/references/Trading/TradeType/index.md) - enum value `TradeType.Buy;` | py `TradeType.Buy` — Represents a Buy order. - enum value `TradeType.Sell;` | py `TradeType.Sell` — Represents a Sell order. ## interface cAlgo.API.Indicators.TradeVolumeIndex — Trade Volume Index measures the amount of money flowing in and out of an asset. (https://help.ctrader.com/ctrader-algo/references/Indicators/TradeVolumeIndex/index.md) - property `IndicatorDataSeries Result {get; set;}` | py `tradeVolumeIndex.Result: IndicatorDataSeries` — Gets the time series of Trade Volume Index indicator. ## interface cAlgo.API.TradeWatch — Represents the trade watch panel. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/TradeWatch/TradeWatch/index.md) - method `TradeWatchTab AddTab(string title)` | py `api.TradeWatch.AddTab(title: str) -> TradeWatchTab` — Adds a new tab. [CLI not supported; Cloud not supported] - method `bool RemoveTab(string id)` | py `api.TradeWatch.RemoveTab(id: str) -> bool` — Removes a tab by ID. [CLI not supported; Cloud not supported] - method `bool RemoveTab(TradeWatchTab tab)` | py `api.TradeWatch.RemoveTab(tab: TradeWatchTab) -> bool` — Removes a tab. [CLI not supported; Cloud not supported] - property `double Height {get; set;}` | py `api.TradeWatch.Height: float` — Get / set height of trade watch. [CLI not supported; Cloud not supported] - property `bool IsVisible {get; set;}` | py `api.TradeWatch.IsVisible: bool` — Get / set visibility of trade watch. [CLI not supported; Cloud not supported] - property `double Width {get;}` | py `api.TradeWatch.Width: float` — Get / set width of trade watch. [CLI not supported; Cloud not supported] - event `event Action IsVisibleChanged;` | py `api.TradeWatch.IsVisibleChanged += handler # handler(obj: TradeWatchIsVisibleChangedEventArgs)` — Occurs after trade watch visibility (IsVisible) changed. [CLI not supported; Cloud not supported] - event `event Action SizeChanged;` | py `api.TradeWatch.SizeChanged += handler # handler(obj: TradeWatchSizeChangedEventArgs)` — Occurs after trade watch size (height / width) changed. [CLI not supported; Cloud not supported] ## class cAlgo.API.TradeWatchIsVisibleChangedEventArgs — Provides data for plugin trade watch IsVisibleChanged event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/TradeWatchIsVisibleChangedEventArgs/index.md) - property `public TradeWatch TradeWatch {get;}` | py `tradeWatchIsVisibleChangedEventArgs.TradeWatch: TradeWatch` — Trade watch. [CLI not supported; Cloud not supported] ## class cAlgo.API.TradeWatchSizeChangedEventArgs — Provides data for plugin trade watch SizeChanged event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/TradeWatchSizeChangedEventArgs/index.md) - property `public TradeWatch TradeWatch {get;}` | py `tradeWatchSizeChangedEventArgs.TradeWatch: TradeWatch` — Trade watch. [CLI not supported; Cloud not supported] ## interface cAlgo.API.TradeWatchTab — Represents a trade watch panel tab. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Plugin/TradeWatch/TradeWatchTab/index.md) - method `bool Attach()` | py `tradeWatchTab.Attach() -> bool` — Attaches current tab back to trade watch. [CLI not supported; Cloud not supported] - method `bool Detach()` | py `tradeWatchTab.Detach() -> bool` — Detaches current tab to a separate window. [CLI not supported; Cloud not supported] - property `ControlBase Child {get; set;}` | py `tradeWatchTab.Child: ControlBase` — Get / set content of current tab. [CLI not supported; Cloud not supported] - property `DetachedWindow DetachedWindow {get;}` | py `tradeWatchTab.DetachedWindow: DetachedWindow` — Returns detached window properties. [CLI not supported; Cloud not supported] - property `double Height {get;}` | py `tradeWatchTab.Height: float` — Returns current height of tab. [CLI not supported; Cloud not supported] - property `string Id {get;}` | py `tradeWatchTab.Id: str` — Returns unique ID of the current tab. [CLI not supported; Cloud not supported] - property `int Index {get; set;}` | py `tradeWatchTab.Index: int` — Get / set the index of the tab. [CLI not supported; Cloud not supported] - property `bool IsBalanceBarVisible {get; set;}` | py `tradeWatchTab.IsBalanceBarVisible: bool` — Get / set the visibility of balance bar for the tab. [CLI not supported; Cloud not supported] - property `bool IsSelected {get; set;}` | py `tradeWatchTab.IsSelected: bool` — Get / set selected state of current tab. [CLI not supported; Cloud not supported] - property `string Title {get;}` | py `tradeWatchTab.Title: str` — Returns title of the current tab. [CLI not supported; Cloud not supported] - property `double Width {get;}` | py `tradeWatchTab.Width: float` — Returns current width of tab. [CLI not supported; Cloud not supported] - event `event Action Attached;` | py `tradeWatchTab.Attached += handler # handler(obj: TradeWatchTabAttachedEventArgs)` — Occurs when tab attached. [CLI not supported; Cloud not supported] - event `event Action Detached;` | py `tradeWatchTab.Detached += handler # handler(obj: TradeWatchTabDetachedEventArgs)` — Occurs when tab detached. [CLI not supported; Cloud not supported] - event `event Action IsSelectedChanged;` | py `tradeWatchTab.IsSelectedChanged += handler # handler(obj: TradeWatchTabIsSelectedChangedEventArgs)` — Occurs after tab IsSelected value change. [CLI not supported; Cloud not supported] - event `event Action SizeChanged;` | py `tradeWatchTab.SizeChanged += handler # handler(obj: TradeWatchTabSizeChangedEventArgs)` — Occurs after tab size (height / width) value change. [CLI not supported; Cloud not supported] ## class cAlgo.API.TradeWatchTabAttachedEventArgs — Provides data for plugin trade watch tab attached event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/TradeWatchTabAttachedEventArgs/index.md) - property `public TradeWatchTab TradeWatchTab {get;}` | py `tradeWatchTabAttachedEventArgs.TradeWatchTab: TradeWatchTab` — Attached tab. [CLI not supported; Cloud not supported] ## class cAlgo.API.TradeWatchTabDetachedEventArgs — Provides data for plugin trade watch tab detached event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/TradeWatchTabDetachedEventArgs/index.md) - property `public TradeWatchTab TradeWatchTab {get;}` | py `tradeWatchTabDetachedEventArgs.TradeWatchTab: TradeWatchTab` — Detached tab. [CLI not supported; Cloud not supported] ## class cAlgo.API.TradeWatchTabIsSelectedChangedEventArgs — Provides data for plugin trade watch tab IsSelectedChanged event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/TradeWatchTabIsSelectedChangedEventArgs/index.md) - property `public TradeWatchTab TradeWatchTab {get;}` | py `tradeWatchTabIsSelectedChangedEventArgs.TradeWatchTab: TradeWatchTab` — Trade watch tab. [CLI not supported; Cloud not supported] ## class cAlgo.API.TradeWatchTabSizeChangedEventArgs — Provides data for plugin trade watch tab SizeChanged event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/TradeWatchTabSizeChangedEventArgs/index.md) - property `public TradeWatchTab TradeWatchTab {get;}` | py `tradeWatchTabSizeChangedEventArgs.TradeWatchTab: TradeWatchTab` — Trade watch tab. [CLI not supported; Cloud not supported] ## interface cAlgo.API.TradingHoliday — Represents a symbol trading holiday. (https://help.ctrader.com/ctrader-algo/references/MarketData/Symbols/TradingHoliday/index.md) - property `DateTime EndTime {get;}` | py `tradingHoliday.EndTime: DateTime` — Gets the end date and time of the trading holiday. - property `bool IsRecurring {get;}` | py `tradingHoliday.IsRecurring: bool` — Gets a value indicating whether the trading holiday is recurring. - property `string Name {get;}` | py `tradingHoliday.Name: str` — Gets the name of the trading holiday. - property `DateTime StartTime {get;}` | py `tradingHoliday.StartTime: DateTime` — Gets the start date and time of the trading holiday. ## interface cAlgo.API.TradingPermission — Trading Permission (https://help.ctrader.com/ctrader-algo/references/Permissions/TradingPermission/index.md) ## interface cAlgo.API.Internals.TradingSession — Trading session schedule (https://help.ctrader.com/ctrader-algo/references/MarketData/Symbols/TradingSession/index.md) - property `DayOfWeek EndDay {get;}` | py `tradingSession.EndDay: DayOfWeek` — Day of week when trading session ends - property `TimeSpan EndTime {get;}` | py `tradingSession.EndTime: TimeSpan` — Time when trading session ends - property `DayOfWeek StartDay {get;}` | py `tradingSession.StartDay: DayOfWeek` — Day of week when trading session starts - property `TimeSpan StartTime {get;}` | py `tradingSession.StartTime: TimeSpan` — Time when trading session starts ## interface cAlgo.API.Transaction — Represents an account transaction. (https://help.ctrader.com/ctrader-algo/references/Account/Transactions/Transaction/index.md) - property `double Amount {get;}` | py `transaction.Amount: float` — Gets transaction amount. - property `double Balance {get;}` | py `transaction.Balance: float` — Gets account balance after transaction. - property `double? Equity {get;}` | py `transaction.Equity: float | None` — Gets account equity after transaction or null. - property `long Id {get;}` | py `transaction.Id: int` — Gets transaction Id. - property `double? MaxEquity {get;}` | py `transaction.MaxEquity: float | None` — Gets account max equity after transaction or null. - property `double? MinEquity {get;}` | py `transaction.MinEquity: float | None` — Gets account min equity after transaction or null. - property `string Note {get;}` | py `transaction.Note: str` — Gets transaction note if has otherwise null. - property `DateTime Time {get;}` | py `transaction.Time: DateTime` — Gets transaction time. - property `TransactionType Type {get;}` | py `transaction.Type: TransactionType` — Gets transaction type. ## enum cAlgo.API.TransactionType — Represents the different types of account transactions. (https://help.ctrader.com/ctrader-algo/references/Account/Transactions/TransactionType/index.md) - enum value `TransactionType.Deposit;` | py `TransactionType.Deposit` — Represents a deposit transaction. - enum value `TransactionType.Withdrawal;` | py `TransactionType.Withdrawal` — Represents a withdrawal transaction. ## interface cAlgo.API.Transactions — Represents account transactions collection. (https://help.ctrader.com/ctrader-algo/references/Account/Transactions/Transactions/index.md) - property `int Count {get;}` | py `api.Transactions.Count: int` — Gets count of transactions. - property `Transaction Item {get;}` | py `api.Transactions[index: int] -> Transaction` — Gets transaction by index. ## interface cAlgo.API.Indicators.TriangularMovingAverage — The Triangular Moving Average is a moving average that gives more weith to values located in the middle of aggregated period. (https://help.ctrader.com/ctrader-algo/references/Indicators/TriangularMovingAverage/index.md) ## interface cAlgo.API.Indicators.TripleExponentialMovingAverage — The Triple Exponential Moving Average (TEMA) is a technical indicator that provides a smoothed representation of price data by applying three levels of exponential smoothing (https://help.ctrader.com/ctrader-algo/references/Indicators/TripleExponentialMovingAverage/index.md) ## interface cAlgo.API.Indicators.Trix — TRIX was developed by Jack Huton. It is a momentum oscillator that will help you filter unimportant price movement. (https://help.ctrader.com/ctrader-algo/references/Indicators/Trix/index.md) - property `IndicatorDataSeries Result {get;}` | py `trix.Result: IndicatorDataSeries` — Gets the resulting time series of the Trix indicator calculation. ## interface cAlgo.API.Indicators.TrueRange — The Average True Range is a measure of market volatility developed by Wilder. (https://help.ctrader.com/ctrader-algo/references/Indicators/TrueRange/index.md) - property `IndicatorDataSeries Result {get;}` | py `trueRange.Result: IndicatorDataSeries` — Gets the resulting time series of the True Range indicator calculation. ## interface cAlgo.API.Indicators.TypicalPrice — A Typical Price is an average of high, low and close values for a single period. (https://help.ctrader.com/ctrader-algo/references/Indicators/TypicalPrice/index.md) - property `IndicatorDataSeries Result {get;}` | py `typicalPrice.Result: IndicatorDataSeries` — Gets the resulting time series of the Typical Price indicator calculation. ## interface cAlgo.API.Indicators.UltimateOscillator — The Ultimate Oscillator is a technical analysis oscillator based on a notion of buying or selling "pressure". (https://help.ctrader.com/ctrader-algo/references/Indicators/UltimateOscillator/index.md) - property `IndicatorDataSeries Result {get;}` | py `ultimateOscillator.Result: IndicatorDataSeries` — Gets the resulting time series of the Ultimate Oscillator indicator calculation. ## class cAlgo.API.UserTimeOffsetChangedEventArgs — Represents the user time offset change event data. (https://help.ctrader.com/ctrader-algo/references/Application/UserTimeOffsetChangedEventArgs/index.md) - property `public TimeSpan UserTimeOffset {get;}` | py `userTimeOffsetChangedEventArgs.UserTimeOffset: TimeSpan` — Gets the user time offset. ## interface cAlgo.API.Indicators.VariableIndexDynamicAverage — The Variable Index Dynamic Average (VIDYA) indicator is a type of moving average that dynamically adjusts its smoothing period based on market volatility. (https://help.ctrader.com/ctrader-algo/references/Indicators/VariableIndexDynamicAverage/index.md) ## enum cAlgo.API.VerticalAlignment — Describes vertical position related to an anchor point or a parent element. (https://help.ctrader.com/ctrader-algo/references/Chart/VerticalAlignment/index.md) - enum value `VerticalAlignment.Center;` | py `VerticalAlignment.Center` — Center vertical alignment. - enum value `VerticalAlignment.Top;` | py `VerticalAlignment.Top` — Top vertical alignment. - enum value `VerticalAlignment.Bottom;` | py `VerticalAlignment.Bottom` — Bottom vertical alignment. - enum value `VerticalAlignment.Stretch;` | py `VerticalAlignment.Stretch` — Stretch vertical alignment. ## interface cAlgo.API.Indicators.VerticalHorizontalFilter — Vertical Horizontal Filter determines whether a price is going through a congestion phase or a trending phase. (https://help.ctrader.com/ctrader-algo/references/Indicators/VerticalHorizontalFilter/index.md) - property `IndicatorDataSeries Result {get;}` | py `verticalHorizontalFilter.Result: IndicatorDataSeries` — Gets the resulting time series of the Vertical Horizontal Filter indicator calculation. ## interface cAlgo.API.Indicators.Vidya — Volatility Index Dynamic Average (VIDYA) is a smoothing (moving average) based on dynamically changing periods. (https://help.ctrader.com/ctrader-algo/references/Indicators/Vidya/index.md) ## interface cAlgo.API.Indicators.VolumeOscillator — The Volume Oscillator identifies trends in volume using a two moving average system. A strong trend is signaled when it is positive. Falling volume indicates trend weakness. (https://help.ctrader.com/ctrader-algo/references/Indicators/VolumeOscillator/index.md) - property `IndicatorDataSeries Result {get; set;}` | py `volumeOscillator.Result: IndicatorDataSeries` — Gets or sets the time series of the Volume Oscillator indicator. ## interface cAlgo.API.Indicators.VolumeROC — The Volume Rate of Change indicator measures the Rate Of Change of the tick volume. (https://help.ctrader.com/ctrader-algo/references/Indicators/VolumeROC/index.md) - property `IndicatorDataSeries Result {get; set;}` | py `volumeROC.Result: IndicatorDataSeries` — Gets or sets the time series of the Volume ROC indicator. ## interface cAlgo.API.Watchlist — Represents the Watchlist interface. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Watchlists/Watchlist/index.md) - property `string Name {get;}` | py `watchlist.Name: str` — Gets the watchlist name. [Cloud not supported] - property `IReadonlyList SymbolNames {get;}` | py `watchlist.SymbolNames: IReadonlyList[str]` — Gets the names of the symbols in the watchlist. [Cloud not supported] ## class cAlgo.API.WatchlistAddedEventArgs — Occurs when a new watchlist is added. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/WatchlistAddedEventArgs/index.md) - property `public Watchlist Watchlist {get;}` | py `watchlistAddedEventArgs.Watchlist: Watchlist` — Gets the watchlist. [Cloud not supported] ## class cAlgo.API.WatchlistRemovedEventArgs — Occurs when a watchlist is removed from the marketwatch. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/WatchlistRemovedEventArgs/index.md) - property `public Watchlist Watchlist {get;}` | py `watchlistRemovedEventArgs.Watchlist: Watchlist` — Gets the watchlist. [Cloud not supported] ## class cAlgo.API.WatchlistRenamedEventArgs — Occurs when the watchlist is renamed. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/WatchlistRenamedEventArgs/index.md) - property `public Watchlist Watchlist {get;}` | py `watchlistRenamedEventArgs.Watchlist: Watchlist` — Gets the watchlist. [Cloud not supported] ## class cAlgo.API.WatchlistSymbolAddedEventArgs — Occurs when a new symbol is added to the watchlist. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/WatchlistSymbolAddedEventArgs/index.md) - property `public string SymbolName {get;}` | py `watchlistSymbolAddedEventArgs.SymbolName: str` — Gets the symbol name. [Cloud not supported] - property `public Watchlist Watchlist {get;}` | py `watchlistSymbolAddedEventArgs.Watchlist: Watchlist` — Gets the watchlist. [Cloud not supported] ## class cAlgo.API.WatchlistSymbolRemovedEventArgs — Occurs when the symbol is removed from the watchlist. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/WatchlistSymbolRemovedEventArgs/index.md) - property `public string SymbolName {get;}` | py `watchlistSymbolRemovedEventArgs.SymbolName: str` — Gets the symbol name. [Cloud not supported] - property `public Watchlist Watchlist {get;}` | py `watchlistSymbolRemovedEventArgs.Watchlist: Watchlist` — Gets the watchlist. [Cloud not supported] ## interface cAlgo.API.Watchlists — Represents the Watchlists interface - allows getting all the watchlists and symbols in them, and receiving the relevant events. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Watchlists/Watchlists/index.md) - property `Watchlist Item {get;}` | py `api.Watchlists[index: int] -> Watchlist` — Gets the desired Watchlist. [Cloud not supported] - event `event Action Added;` | py `api.Watchlists.Added += handler # handler(obj: WatchlistAddedEventArgs)` — Occurs when a new watchlist is added. [Cloud not supported] - event `event Action Removed;` | py `api.Watchlists.Removed += handler # handler(obj: WatchlistRemovedEventArgs)` — Occurs when a watchlist is removed. [Cloud not supported] - event `event Action WatchlistRenamed;` | py `api.Watchlists.WatchlistRenamed += handler # handler(obj: WatchlistRenamedEventArgs)` — Occurs when the name of the watchlist is changed. [Cloud not supported] - event `event Action WatchlistSymbolAdded;` | py `api.Watchlists.WatchlistSymbolAdded += handler # handler(obj: WatchlistSymbolAddedEventArgs)` — Occurs when a new symbol is added to the watchlist. [Cloud not supported] - event `event Action WatchlistSymbolRemoved;` | py `api.Watchlists.WatchlistSymbolRemoved += handler # handler(obj: WatchlistSymbolRemovedEventArgs)` — Occurs when a symbol is removed from the watchlist. [Cloud not supported] ## class cAlgo.API.WebSocketClient — Represents a web socket client. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/WebSocket/WebSocketClient/index.md) - constructor `public WebSocketClient()` | py `WebSocketClient()` — Creates a WebSocketClient with default options. [Cloud not supported] - constructor `public WebSocketClient(WebSocketClientOptions options)` | py `WebSocketClient(options: WebSocketClientOptions)` — Creates a WebSocketClient with passed options. [Cloud not supported] - method `public void Close(WebSocketClientCloseStatus closeStatus, string closeStatusDescription)` | py `webSocketClient.Close(closeStatus: WebSocketClientCloseStatus, closeStatusDescription: str) -> None` — Disconnects WebSocketClient. [Cloud not supported] - method `public void Connect(Uri uri)` | py `webSocketClient.Connect(uri: Uri) -> None` — Connects WebSocketClient to passed URI. [Cloud not supported] - method `public void Dispose()` | py `webSocketClient.Dispose() -> None` — Releases the unmanaged resources used by the WebSocketClient instance. [Cloud not supported] - method `public void Send(string text)` | py `webSocketClient.Send(text: str) -> None` — Sends passed text. [Cloud not supported] - method `public void Send(byte[] data)` | py `webSocketClient.Send(data: list[int]) -> None` — Sends passed binary data. [Cloud not supported] - property `public WebSocketClientCloseStatus? CloseStatus {get;}` | py `webSocketClient.CloseStatus: WebSocketClientCloseStatus | None` — Gets close status / reason. [Cloud not supported] - property `public string CloseStatusDescription {get;}` | py `webSocketClient.CloseStatusDescription: str` — Gets a description of the reason why the instance was closed. [Cloud not supported] - property `public WebSocketClientState State {get;}` | py `webSocketClient.State: WebSocketClientState` — Gets current state of WebSocketClient instance. [Cloud not supported] - event `public event Action BinaryReceived;` | py `webSocketClient.BinaryReceived += handler # handler(obj: WebSocketClientBinaryReceivedEventArgs)` — Occurs when WebSocketClient receives binary data. [Cloud not supported] - event `public event Action Connected;` | py `webSocketClient.Connected += handler # handler(obj: WebSocketClientConnectedEventArgs)` — Occurs when WebSocketClient is connected. [Cloud not supported] - event `public event Action Disconnected;` | py `webSocketClient.Disconnected += handler # handler(obj: WebSocketClientDisconnectEventArgs)` — Occurs when WebSocketClient is disconnected. [Cloud not supported] - event `public event Action TextReceived;` | py `webSocketClient.TextReceived += handler # handler(obj: WebSocketClientTextReceivedEventArgs)` — Occurs when WebSocketClient receives text data. [Cloud not supported] ## class cAlgo.API.WebSocketClientBinaryReceivedEventArgs — Provides data for WebSocketClient binary data received event. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/WebSocket/WebSocketClientBinaryReceivedEventArgs/index.md) - property `public WebSocketClient Client {get;}` | py `webSocketClientBinaryReceivedEventArgs.Client: WebSocketClient` — Websocket client instance. [Cloud not supported] - property `public byte[] Data {get;}` | py `webSocketClientBinaryReceivedEventArgs.Data: list[int]` — Received data. [Cloud not supported] ## enum cAlgo.API.WebSocketClientCloseStatus — An enumeration of different Web socket client close states / reasons. (https://help.ctrader.com/ctrader-algo/references/WebSocket/WebSocketClientCloseStatus/index.md) - enum value `WebSocketClientCloseStatus.Empty;` | py `WebSocketClientCloseStatus.Empty` — No error specified. - enum value `WebSocketClientCloseStatus.EndpointUnavailable;` | py `WebSocketClientCloseStatus.EndpointUnavailable` — (1001) Indicates an endpoint is being removed. Either the server or client will become unavailable. - enum value `WebSocketClientCloseStatus.InternalServerError;` | py `WebSocketClientCloseStatus.InternalServerError` — (1011) The connection will be closed by the server because of an error on the server. - enum value `WebSocketClientCloseStatus.InvalidMessageType;` | py `WebSocketClientCloseStatus.InvalidMessageType` — (1003) The client or server is terminating the connection because it cannot accept the data type it received. - enum value `WebSocketClientCloseStatus.InvalidPayloadData;` | py `WebSocketClientCloseStatus.InvalidPayloadData` — (1007) The client or server is terminating the connection because it has received data inconsistent with the message type. - enum value `WebSocketClientCloseStatus.MandatoryExtension;` | py `WebSocketClientCloseStatus.MandatoryExtension` — (1010) The client is terminating the connection because it expected the server to negotiate an extension. - enum value `WebSocketClientCloseStatus.MessageTooBig;` | py `WebSocketClientCloseStatus.MessageTooBig` — (1009) The client or server is terminating the connection because it has received a message that is too big for it to process. - enum value `WebSocketClientCloseStatus.NormalClosure;` | py `WebSocketClientCloseStatus.NormalClosure` — (1000) The connection has closed after the request was fulfilled. - enum value `WebSocketClientCloseStatus.PolicyViolation;` | py `WebSocketClientCloseStatus.PolicyViolation` — (1008) The connection will be closed because an endpoint has received a message that violates its policy. - enum value `WebSocketClientCloseStatus.ProtocolError;` | py `WebSocketClientCloseStatus.ProtocolError` — (1008) The client or server is terminating the connection because of a protocol error. ## class cAlgo.API.WebSocketClientConnectedEventArgs — Provides data for Websocket client connected event. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/WebSocket/WebSocketClientConnectedEventArgs/index.md) - property `public WebSocketClient Client {get;}` | py `webSocketClientConnectedEventArgs.Client: WebSocketClient` — Connected websocket client instance. [Cloud not supported] ## class cAlgo.API.WebSocketClientDisconnectEventArgs — Provides data for Websocket client disconnected event. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/WebSocket/WebSocketClientDisconnectEventArgs/index.md) - property `public WebSocketClient Client {get;}` | py `webSocketClientDisconnectEventArgs.Client: WebSocketClient` — Disconnected websocket client instance. [Cloud not supported] ## class cAlgo.API.WebSocketClientOptions — Websocket client options. (https://help.ctrader.com/ctrader-algo/references/WebSocket/WebSocketClientOptions/index.md) - constructor `public WebSocketClientOptions()` | py `WebSocketClientOptions()` — Creates WebSocketClientOptions with default values. - property `public TimeSpan KeepAliveInterval {get; set;}` | py `webSocketClientOptions.KeepAliveInterval: TimeSpan` — Gets or sets the WebSocket protocol keep-alive interval. Default value is set to 30 seconds. - property `public IEnumerable SubProtocols {get; set;}` | py `webSocketClientOptions.SubProtocols: Iterable[str]` — Gets or sets sub-protocols to be negotiated during the WebSocket connection handshake. - property `public TimeSpan Timeout {get; set;}` | py `webSocketClientOptions.Timeout: TimeSpan` — Gets or sets the operation timeout. Default value is set to 60 seconds. - property `public bool UseDefaultCredentials {get; set;}` | py `webSocketClientOptions.UseDefaultCredentials: bool` — Gets or sets a Boolean value that indicates if default credentials should be used during WebSocket handshake. Default value is false. ## enum cAlgo.API.WebSocketClientState — An enumeration of different Web socket client states. (https://help.ctrader.com/ctrader-algo/references/WebSocket/WebSocketClientState/index.md) - enum value `WebSocketClientState.None;` | py `WebSocketClientState.None` — Reserved for future use. - enum value `WebSocketClientState.Connecting;` | py `WebSocketClientState.Connecting` — The connection is negotiating the handshake with the remote endpoint. - enum value `WebSocketClientState.Open;` | py `WebSocketClientState.Open` — The initial state after the HTTP handshake has been completed. - enum value `WebSocketClientState.CloseSent;` | py `WebSocketClientState.CloseSent` — A close message was sent to the remote endpoint. - enum value `WebSocketClientState.CloseReceived;` | py `WebSocketClientState.CloseReceived` — A close message was received from the remote endpoint. - enum value `WebSocketClientState.Closed;` | py `WebSocketClientState.Closed` — Indicates the WebSocket close handshake completed gracefully. - enum value `WebSocketClientState.Aborted;` | py `WebSocketClientState.Aborted` — Indicates that the WebSocket has been aborted. ## class cAlgo.API.WebSocketClientTextReceivedEventArgs — Provides data for WebSocketClient text data received event. [Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/WebSocket/WebSocketClientTextReceivedEventArgs/index.md) - property `public WebSocketClient Client {get;}` | py `webSocketClientTextReceivedEventArgs.Client: WebSocketClient` — Websocket client instance. [Cloud not supported] - property `public string Text {get;}` | py `webSocketClientTextReceivedEventArgs.Text: str` — Received text. [Cloud not supported] ## class cAlgo.API.WebView — Represents the web view control. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/WebView/index.md) - constructor `public WebView()` | py `WebView()` — Initializes a new instance of the WebView class. [CLI not supported; Cloud not supported] - method `public ExecuteScriptResult ExecuteScript(string javaScript)` | py `webView.ExecuteScript(javaScript: str) -> ExecuteScriptResult` — Executes JavaScript code from the javaScript parameter in the current top level document rendered in the WebView and returns the result. You can only use this method after control is fully loaded and navigation is completed. [CLI not supported; Cloud not supported] - method `public void ExecuteScriptAsync(string javaScript)` | py `webView.ExecuteScriptAsync(javaScript: str) -> None` — Executes JavaScript code from the javaScript parameter in the current top level document rendered in the WebView. You can only use this method after control is fully loaded and navigation is completed. [CLI not supported; Cloud not supported] - method `public void ExecuteScriptAsync(string javaScript, Action callback)` | py `webView.ExecuteScriptAsync(javaScript: str, callback: Callable[[ExecuteScriptResult], None]) -> None` — Executes asynchronously JavaScript code from the javaScript parameter in the current top level document rendered in the WebView. You can only use this method after control is fully loaded and navigation is completed. [CLI not supported; Cloud not supported] - method `public void GoBackAsync()` | py `webView.GoBackAsync() -> None` — Navigates asynchronously the WebView to the previous page in the navigation history. [CLI not supported; Cloud not supported] - method `public void GoForwardAsync()` | py `webView.GoForwardAsync() -> None` — Navigates asynchronously the WebView to the next page in the navigation history. [CLI not supported; Cloud not supported] - method `public void NavigateAsync(string url)` | py `webView.NavigateAsync(url: str) -> None` — Navigate asynchronously to another URL. [CLI not supported; Cloud not supported] - method `public void NavigateToStringAsync(string html)` | py `webView.NavigateToStringAsync(html: str) -> None` — Initiates a navigation asynchronously to html content as source HTML of a new document. [CLI not supported; Cloud not supported] - method `public void OpenDevToolsWindow()` | py `webView.OpenDevToolsWindow() -> None` — Opens the DevTools window for the current WebView. [CLI not supported; Cloud not supported] - method `public void ReloadAsync()` | py `webView.ReloadAsync() -> None` — Reloads asynchronously the current page. [CLI not supported; Cloud not supported] - method `public void StopAsync()` | py `webView.StopAsync() -> None` — Stops asynchronously all navigations and pending resource fetches. [CLI not supported; Cloud not supported] - property `public Color DefaultBackgroundColor {get; set;}` | py `webView.DefaultBackgroundColor: Color` — Default background color of WebView. [CLI not supported; Cloud not supported] - property `public bool IsLoaded {get;}` | py `webView.IsLoaded: bool` — Returns True if WebView is loaded otherwise False. [CLI not supported; Cloud not supported] - event `public event Action Loaded;` | py `webView.Loaded += handler # handler(obj: WebViewLoadedEventArgs)` — Occurs after web view is loaded [CLI not supported; Cloud not supported] - event `public event Action NavigationCompleted;` | py `webView.NavigationCompleted += handler # handler(obj: WebViewNavigationCompletedEventArgs)` — Occurs when navigation of a page is completed. [CLI not supported; Cloud not supported] - event `public event Action Unloaded;` | py `webView.Unloaded += handler # handler(obj: WebViewUnloadedEventArgs)` — Occurs after web view is unloaded [CLI not supported; Cloud not supported] - event `public event Action WebMessageReceived;` | py `webView.WebMessageReceived += handler # handler(obj: WebViewWebMessageReceivedEventArgs)` — Occurs after web content sends a message [CLI not supported; Cloud not supported] ## class cAlgo.API.WebViewLoadedEventArgs — Provides data for the WebView control Loaded event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/WebViewLoadedEventArgs/index.md) - property `public WebView WebView {get;}` | py `webViewLoadedEventArgs.WebView: WebView` — The WebView control. [CLI not supported; Cloud not supported] ## class cAlgo.API.WebViewNavigationCompletedEventArgs — Provides data for the WebView control NavigationCompleted event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/WebViewNavigationCompletedEventArgs/index.md) - property `public int HttpStatusCode {get;}` | py `webViewNavigationCompletedEventArgs.HttpStatusCode: int` — Response HTTP status code. [CLI not supported; Cloud not supported] - property `public bool IsSuccessful {get;}` | py `webViewNavigationCompletedEventArgs.IsSuccessful: bool` — True if navigation was successful otherwise false. [CLI not supported; Cloud not supported] - property `public string Url {get;}` | py `webViewNavigationCompletedEventArgs.Url: str` — URL from WebView Source property at the moment of NavigationCompleted in big process. [CLI not supported; Cloud not supported] - property `public WebView WebView {get;}` | py `webViewNavigationCompletedEventArgs.WebView: WebView` — The WebView control. [CLI not supported; Cloud not supported] ## class cAlgo.API.WebViewUnloadedEventArgs — Provides data for the WebView control Unloaded event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/WebViewUnloadedEventArgs/index.md) - property `public WebView WebView {get;}` | py `webViewUnloadedEventArgs.WebView: WebView` — The WebView control. [CLI not supported; Cloud not supported] ## class cAlgo.API.WebViewWebMessageReceivedEventArgs — Provides data for the WebView control WebMessageReceived event. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/WebViewWebMessageReceivedEventArgs/index.md) - property `public string Message {get;}` | py `webViewWebMessageReceivedEventArgs.Message: str` — The message that was received. [CLI not supported; Cloud not supported] - property `public string Source {get;}` | py `webViewWebMessageReceivedEventArgs.Source: str` — Gets the URI of the document that sent this web message. [CLI not supported; Cloud not supported] - property `public WebView WebView {get;}` | py `webViewWebMessageReceivedEventArgs.WebView: WebView` — WebView Control. [CLI not supported; Cloud not supported] ## interface cAlgo.API.Indicators.WeightedClose — Weighted Close is an average of high, low and close prices where close has greater weight. (https://help.ctrader.com/ctrader-algo/references/Indicators/WeightedClose/index.md) - property `IndicatorDataSeries Result {get;}` | py `weightedClose.Result: IndicatorDataSeries` — Gets the resulting time series of the Weighted Close indicator calculation. ## interface cAlgo.API.Indicators.WeightedMovingAverage — The Weighted Moving Average is a moving average that gives more weith to the latest values. (https://help.ctrader.com/ctrader-algo/references/Indicators/WeightedMovingAverage/index.md) - property `IndicatorDataSeries Result {get;}` | py `weightedMovingAverage.Result: IndicatorDataSeries` — Gets the resulting time series of the Weighted Moving Average indicator calculation. ## interface cAlgo.API.Indicators.WellesWilderSmoothing — The Welles Wilder's Smoothing indicator is an exponential moving average, but it has different alpha ration. As a result it responds to price changes slower. (https://help.ctrader.com/ctrader-algo/references/Indicators/WellesWilderSmoothing/index.md) ## interface cAlgo.API.Indicators.WilliamsAccumulationDistribution — William's Accumulation Distribution is an oscillator that can identify if the market is driven by buyers (accumulation) or by sellers (distribution) (https://help.ctrader.com/ctrader-algo/references/Indicators/WilliamsAccumulationDistribution/index.md) - property `IndicatorDataSeries Result {get;}` | py `williamsAccumulationDistribution.Result: IndicatorDataSeries` — Gets the resulting time series of the Williams Accumulation Distribution indicator calculation. ## interface cAlgo.API.Indicators.WilliamsPctR — Williams %R is an effective momentum oscillator and was described by Larry Williams for the first time in 1973. (https://help.ctrader.com/ctrader-algo/references/Indicators/WilliamsPctR/index.md) - property `IndicatorDataSeries Result {get;}` | py `williamsPctR.Result: IndicatorDataSeries` — Gets the resulting time series of the Williams PctR indicator calculation. ## class cAlgo.API.Window — The window class, you can use it to show a window that can contain other chart controls [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/Windows/Window/index.md) - constructor `public Window()` | py `Window()` — Creates an empty window with default settings [CLI not supported; Cloud not supported] - method `public void Close()` | py `window.Close() -> None` — Closes the window [CLI not supported; Cloud not supported] - method `public void Hide()` | py `window.Hide() -> None` — Hides the window [CLI not supported; Cloud not supported] - method `public void Show()` | py `window.Show() -> None` — Shows the window [CLI not supported; Cloud not supported] - property `public Color BackgroundColor {get; set;}` | py `window.BackgroundColor: Color` — Get / Set the window background color [CLI not supported; Cloud not supported] - property `public ControlBase Child {get; set;}` | py `window.Child: ControlBase` — Get / Set the main content control of window [CLI not supported; Cloud not supported] - property `public double Height {get; set;}` | py `window.Height: float` — Get / Set height of the Window [CLI not supported; Cloud not supported] - property `public bool IsActive {get;}` | py `window.IsActive: bool` — Get / Set the window active / de-active flag, if Yes then the window will be active [CLI not supported; Cloud not supported] - property `public bool IsVisible {get;}` | py `window.IsVisible: bool` — Get / Set the window visibility flag, if Yes then the window will be shown otherwise it will be hidden [CLI not supported; Cloud not supported] - property `public double Left {get; set;}` | py `window.Left: float` — Get / Set window left margin (X) [CLI not supported; Cloud not supported] - property `public double MaxHeight {get; set;}` | py `window.MaxHeight: float` — Get / Set the window maximum height [CLI not supported; Cloud not supported] - property `public double MaxWidth {get; set;}` | py `window.MaxWidth: float` — Get / Set the window maximum width [CLI not supported; Cloud not supported] - property `public double MinHeight {get; set;}` | py `window.MinHeight: float` — Get / Set the window minimum height [CLI not supported; Cloud not supported] - property `public double MinWidth {get; set;}` | py `window.MinWidth: float` — Get / Set the window minimum width [CLI not supported; Cloud not supported] - property `public OwnerType OwnerType {get; set;}` | py `window.OwnerType: OwnerType` — Get / Set the window owner [CLI not supported; Cloud not supported] - property `public Thickness Padding {get; set;}` | py `window.Padding: Thickness` — Get / Set the window padding [CLI not supported; Cloud not supported] - property `public ResizeMode ResizeMode {get; set;}` | py `window.ResizeMode: ResizeMode` — Get / Set the window resize mode [CLI not supported; Cloud not supported] - property `public string Title {get; set;}` | py `window.Title: str` — Get / Set the window title [CLI not supported; Cloud not supported] - property `public double Top {get; set;}` | py `window.Top: float` — Get / Set window top margin (Y) [CLI not supported; Cloud not supported] - property `public bool Topmost {get; set;}` | py `window.Topmost: bool` — Get / Set the window topmost flag, if True then the window will appear on top of all other windows [CLI not supported; Cloud not supported] - property `public double Width {get; set;}` | py `window.Width: float` — Get / Set width of the window [CLI not supported; Cloud not supported] - property `public WindowStartupLocation WindowStartupLocation {get; set;}` | py `window.WindowStartupLocation: WindowStartupLocation` — Get / Set the window startup location [CLI not supported; Cloud not supported] - property `public WindowState WindowState {get; set;}` | py `window.WindowState: WindowState` — Get / Set the window state [CLI not supported; Cloud not supported] - event `public event Action Activated;` | py `window.Activated += handler # handler(obj: WindowActivatedEventArgs)` — This event gets triggered when window is activated [CLI not supported; Cloud not supported] - event `public event Action Closed;` | py `window.Closed += handler # handler(obj: WindowClosedEventArgs)` — This event gets triggered when window is closed [CLI not supported; Cloud not supported] - event `public event Action Deactivated;` | py `window.Deactivated += handler # handler(obj: WindowDeactivatedEventArgs)` — This event gets triggered when window is deactivated [CLI not supported; Cloud not supported] - event `public event Action IsVisibleChanged;` | py `window.IsVisibleChanged += handler # handler(obj: WindowIsVisibleChangedEventArgs)` — This event gets triggered when window visibility changes [CLI not supported; Cloud not supported] - event `public event Action LocationChanged;` | py `window.LocationChanged += handler # handler(obj: WindowLocationChangedEventArgs)` — This event gets triggered when window location changes [CLI not supported; Cloud not supported] - event `public event Action SizeChanged;` | py `window.SizeChanged += handler # handler(obj: WindowSizeChangedEventArgs)` — This event gets triggered when window is size changes [CLI not supported; Cloud not supported] ## class cAlgo.API.WindowActivatedEventArgs — Provides data for WindowActivated event handlers [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/WindowActivatedEventArgs/index.md) - property `public Window Window {get;}` | py `windowActivatedEventArgs.Window: Window` — The Window that got activated [CLI not supported; Cloud not supported] ## class cAlgo.API.WindowClosedEventArgs — Provides data for WindowClosed event handlers [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/WindowClosedEventArgs/index.md) - property `public Window Window {get;}` | py `windowClosedEventArgs.Window: Window` — The window the got closed [CLI not supported; Cloud not supported] ## class cAlgo.API.WindowDeactivatedEventArgs — Provides data for WindowDeactivated event handlers [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/WindowDeactivatedEventArgs/index.md) - property `public Window Window {get;}` | py `windowDeactivatedEventArgs.Window: Window` — The window that got deactivated [CLI not supported; Cloud not supported] ## class cAlgo.API.WindowIsVisibleChangedEventArgs — Provides data for WindowIsVisibleChanged event handlers [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/WindowIsVisibleChangedEventArgs/index.md) - property `public bool NewValue {get;}` | py `windowIsVisibleChangedEventArgs.NewValue: bool` — The value of window IsVisible property after got changed [CLI not supported; Cloud not supported] - property `public bool OldValue {get;}` | py `windowIsVisibleChangedEventArgs.OldValue: bool` — The value of window IsVisible property before got changed [CLI not supported; Cloud not supported] - property `public Window Window {get;}` | py `windowIsVisibleChangedEventArgs.Window: Window` — The window which it is IsVisible property got changed [CLI not supported; Cloud not supported] ## class cAlgo.API.WindowLocationChangedEventArgs — Provides data for WindowLocationChanged event handlers [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/WindowLocationChangedEventArgs/index.md) - property `public Window Window {get;}` | py `windowLocationChangedEventArgs.Window: Window` — The window which it is location changed [CLI not supported; Cloud not supported] ## class cAlgo.API.WindowSizeChangedEventArgs — Provides data for WindowSizeChanged event handlers [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/EventArgs/WindowSizeChangedEventArgs/index.md) - property `public Window Window {get;}` | py `windowSizeChangedEventArgs.Window: Window` — The window which it is size changed [CLI not supported; Cloud not supported] ## enum cAlgo.API.WindowStartupLocation — Types of startup locations that you can use for windows (https://help.ctrader.com/ctrader-algo/references/Controls/Windows/WindowStartupLocation/index.md) - enum value `WindowStartupLocation.Manual;` | py `WindowStartupLocation.Manual` — Default window startup location value. The startup location of a Window is set from code, or defers to the default Windows location. - enum value `WindowStartupLocation.CenterScreen;` | py `WindowStartupLocation.CenterScreen` — Window is placed at the center of the screen. - enum value `WindowStartupLocation.CenterOwner;` | py `WindowStartupLocation.CenterOwner` — Window is placed at the center of it is owner. ## enum cAlgo.API.WindowState — Types of states for windows (https://help.ctrader.com/ctrader-algo/references/Controls/Windows/WindowState/index.md) - enum value `WindowState.Normal;` | py `WindowState.Normal` — The default state of window - enum value `WindowState.Minimized;` | py `WindowState.Minimized` — Window is minimized to the task bar - enum value `WindowState.Maximized;` | py `WindowState.Maximized` — Window is maximized ## class cAlgo.API.WrapPanel — Positions the child elements in sequential position from left to right, breaking content to the next line at the end of the containing box, from top to bottom, or from right to left. [CLI not supported; Cloud not supported] (https://help.ctrader.com/ctrader-algo/references/Controls/Layout/WrapPanel/index.md) - constructor `public WrapPanel()` | py `WrapPanel()` — Initializes a new instance of the WrapPanel class. [CLI not supported; Cloud not supported] - property `public double ItemHeight {get; set;}` | py `wrapPanel.ItemHeight: float` — Gets or sets the height of the item. [CLI not supported; Cloud not supported] - property `public double ItemWidth {get; set;}` | py `wrapPanel.ItemWidth: float` — Gets or sets the width of the item. [CLI not supported; Cloud not supported] - property `public Orientation Orientation {get; set;}` | py `wrapPanel.Orientation: Orientation` — Gets or sets the orientation of the child element. [CLI not supported; Cloud not supported]