Plugin
class cAlgo.API
DesktopCLICloud
Base class for Plugins.
Environment behaviour
CLI — not supported. Plugins cannot run in the CLI: ctrader-cli runs cBots only.
Cloud — not supported. Plugins cannot run in the cloud: it runs cBots only.
Definition
public abstract class Plugin
Namespace: cAlgo.API · Group: General
Remarks
Contains all necessary data, provides framework for convenient Plugin's creation.
Examples
using cAlgo.API;
namespace cAlgo.Plugins;
public partial class MyPlugin : Plugin
{
protected override void OnStart()
{
var block = Asp.SymbolTab.AddBlock("My Plugin");
block.Child = new TextBlock { Text = $"Account balance: {Account.Balance}" };
Print("Plugin started at {0}", Server.Time);
}
protected override void OnStop()
{
Print("Plugin stopped");
}
}
import clr
clr.AddReference("cAlgo.API")
from cAlgo.API import *
class MyPlugin():
def on_start(self):
block = api.Asp.SymbolTab.AddBlock("My Plugin")
textBlock = TextBlock()
textBlock.Text = f"Account balance: {api.Account.Balance}"
block.Child = textBlock
api.Print(f"Plugin started at {api.Server.Time}")
def on_stop(self):
api.Print("Plugin stopped")
{
"AccessRights": "None"
}
Methods
| Name | Description |
|---|---|
BeginInvokeOnMainThreadDesktopCLICloudvoid | Invokes asynchronously the specified code on the main Plugin thread. |
CancelPendingOrderDesktopCLICloudTradeResult | Cancel a Pending Order |
CancelPendingOrderAsyncDesktopCLICloudTradeOperation | Cancel a Pending Order in asynchronous execution mode |
ClosePosition 3 overloadsDesktopCLICloudTradeResult | Close a position |
ClosePositionAsync 3 overloadsDesktopCLICloudTradeOperation | Close a position in asynchronous execution mode |
CreateDataSeriesDesktopCLICloudIndicatorDataSeries | Returns a new IndicatorDataSeries. |
ExecuteMarketOrder 14 overloadsDesktopCLICloudTradeResult | Execute a Market Order |
ExecuteMarketOrderAsync 14 overloadsDesktopCLICloudTradeOperation | Execute a market order in asynchronous execution mode |
ExecuteMarketRangeOrder 14 overloadsDesktopCLICloudTradeResult | Execute a Market Order |
ExecuteMarketRangeOrderAsync 14 overloadsDesktopCLICloudTradeOperation | Execute a market order in asynchronous execution mode |
ModifyPendingOrder 41 overloadsDesktopCLICloudTradeResult | Modify a Pending Order |
ModifyPendingOrderAsync 41 overloadsDesktopCLICloudTradeOperation | Modify a Pending Order in asynchronous execution mode |
ModifyPosition 16 overloadsDesktopCLICloudTradeResult | Modify the volume of a position |
ModifyPositionAsync 16 overloadsDesktopCLICloudTradeOperation | Modify Position in asynchronous execution mode |
OnErrorDesktopCLICloudvoid | Called if there is an error executing a trade operation. |
OnExceptionDesktopCLICloudvoid | Called on each unhandled exception. |
OnStartDesktopCLICloudvoid | Called when Plugin is being started. Override this method to initialize your Plugin. |
OnStopDesktopCLICloudvoid | Called when Plugin is stopped. |
OnTimerDesktopCLICloudvoid | Called when the timer interval has elapsed. |
PlaceLimitOrder 27 overloadsDesktopCLICloudTradeResult | Place a Limit Order |
PlaceLimitOrderAsync 27 overloadsDesktopCLICloudTradeOperation | Place limit order in asynchronous execution mode |
PlaceStopLimitOrder 32 overloadsDesktopCLICloudTradeResult | Place a Stop Limit Order |
PlaceStopLimitOrderAsync 32 overloadsDesktopCLICloudTradeOperation | Place Stop Limit order in asynchronous execution mode |
PlaceStopOrder 32 overloadsDesktopCLICloudTradeResult | Place a stop order |
PlaceStopOrderAsync 32 overloadsDesktopCLICloudTradeOperation | Place stop order in asynchronous execution mode |
Print 3 overloadsDesktopCLICloudvoid | Prints text representation of the specified object to the log. |
RefreshDataDesktopCLICloudvoid | 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. |
ReversePosition 2 overloadsDesktopCLICloudTradeResult | Modify the direction of trade at position |
ReversePositionAsync 2 overloadsDesktopCLICloudTradeOperation | Reverses Position in asynchronous execution mode |
Sleep 3 overloadsDesktopCLICloudvoid | Suspends the plugin until the specified timespan elapses. |
Properties
| Name | Description |
|---|---|
AccountDesktopCLICloudIAccount | Contains all Account information |
AlgoRegistryDesktopCLICloudAlgoRegistry | Provides access to installed Algorithms. |
ApplicationDesktopCLICloudApplication | Represents the application. |
AspDesktopCLICloudAsp | Gets the active symbol panel. |
AssetConverterDesktopCLICloudIAssetConverter | Converts an asset to another asset. |
AssetsDesktopCLICloudAssets | Returns list of all available assets. |
BacktestingDesktopCLICloudBacktesting | Provides access to cBot backtesting from plugins, including custom backtesting data sources. |
ChartManagerDesktopCLICloudChartManager | Returns chart manager. |
ChartTemplatesDesktopCLICloudChartTemplates | Provides access to Chart Templates. |
ClipboardDesktopCLICloudClipboard | Provides access to system Clipboard. |
CommandsDesktopCLICloudCommands | Provides access to commands. |
CompilerDesktopCLICloudCompiler | Provides access to algo compiler. |
CustomSymbolsDesktopCLICloudCustomSymbols | Provides access to custom symbols API. |
FileAssociationsDesktopCLICloudFileAssociations | Provides access to file associations. |
HistoricalOrdersDesktopCLICloudHistoricalOrders | Provides access to historical orders. |
HistoryDesktopCLICloudHistory | Represents the collection of all historical trades of the account. |
HotkeysDesktopCLICloudHotkeys | Provides access to hotkeys API. |
HttpDesktopCLICloudHttp | Send HTTP requests. |
IndicatorsDesktopCLICloudIIndicatorsAccessor | Access to the built-in Indicators. |
LastResultDesktopCLICloudTradeResult | The latest trade result |
LocalStorageDesktopCLICloudLocalStorage | Access the local storage API. |
MainMenuDesktopCLICloudMainMenu | Provides access to main menu API. |
MarketDataDesktopCLICloudMarketData | Provides access to Market Data. |
MarketSessionsDesktopCLICloudMarketSession | Returns current market sessions. |
MessagesDesktopCLICloudMessages | Access the messaging API. |
NotificationsDesktopCLICloudINotifications | Represents the notifications, such as sounds and email. |
OptimizationDesktopCLICloudOptimization | Provides access to cBot parameter optimization. |
PendingOrdersDesktopCLICloudPendingOrders | The array of all Pending Orders of the account. |
PermissionsDesktopCLICloudPermissions | Contains all Permissions information |
PositionsDesktopCLICloudPositions | The list of all open positions of the account. |
PriceAlertsDesktopCLICloudPriceAlerts | Provides access to Price Alerts. |
ServerDesktopCLICloudIServer | Server related information. |
SymbolsDesktopCLICloudSymbols | Gets the symbol names. |
TimeDesktopCLICloudDateTime | Returns the current server time. The shortcut to the Server.Time property. |
TimeFrameManagerDesktopCLICloudTimeFrameManager | Provides access to TimeFrames API. |
TimeFramesDesktopCLICloudTimeFrames | Gets collection of available TimeFrames. |
TimeInUtcDesktopCLICloudDateTime | Returns the current server time in UTC. The shortcut to the Server.TimeInUtc property. |
TimeZoneDesktopCLICloudTimeZoneInfo | TimeZone of a Plugin. |
TimerDesktopCLICloudTimer | Access to the Timer object. |
TradeWatchDesktopCLICloudTradeWatch | Gets the Trade Watch panel. |
TransactionsDesktopCLICloudTransactions | Access account transactions. |
WatchlistsDesktopCLICloudWatchlists | Gets the watchlist. |
Events
| Name | Description |
|---|---|
MarketSessionsChangedDesktopCLICloudAction<MarketSessionChangedEventArgs> | Occurs when market sessions change. |
Deprecated members (56)
public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, string comment)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, string comment, bool hasTrailingStop)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, Action<TradeResult> callback)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, Action<TradeResult> callback)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, string comment, Action<TradeResult> callback)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, string comment, bool hasTrailingStop, Action<TradeResult> callback)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action<TradeResult> callback)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, string comment)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, string comment, bool hasTrailingStop)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, Action<TradeResult> callback)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, Action<TradeResult> callback)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, string comment, Action<TradeResult> callback)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, string comment, bool hasTrailingStop, Action<TradeResult> callback)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action<TradeResult> callback)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, Action<TradeResult> callback)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLossPips, double? takeProfitPips)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, string comment)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, string comment, bool hasTrailingStop)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLossPips, double? takeProfitPips, Action<TradeResult> callback)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, Action<TradeResult> callback)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, string comment, Action<TradeResult> callback)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, string comment, bool hasTrailingStop, Action<TradeResult> callback)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action<TradeResult> callback)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod stopOrderTriggerMethod, Action<TradeResult> callback)— Parameters 'double? stopLossPips' and 'double? takeProfitPips' was replaced with 'double? stopLoss' and 'double? takeProfit'.public TradeResult ModifyPosition(Position position, double? stopLoss, double? takeProfit)— Please use new version with ProtectionType parameter.public TradeResult ModifyPosition(Position position, double? stopLoss, double? takeProfit, bool hasTrailingStop)— Please use new version with ProtectionType parameter.public TradeResult ModifyPosition(Position position, double? stopLoss, double? takeProfit, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)— Please use new version with ProtectionType parameter.public TradeOperation ModifyPositionAsync(Position position, double? stopLoss, double? takeProfit, Action<TradeResult> callback)— Please use new version with ProtectionType parameter.public TradeOperation ModifyPositionAsync(Position position, double? stopLoss, double? takeProfit, bool hasTrailingStop, Action<TradeResult> callback)— Please use new version with ProtectionType parameter.public TradeOperation ModifyPositionAsync(Position position, double? stopLoss, double? takeProfit, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action<TradeResult> callback)— Please use new version with ProtectionType parameter.public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips)— Please use new version with ProtectionType parameter.public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, DateTime? expirationTime)— Please use new version with ProtectionType parameter.public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, DateTime? expirationTime, long volume)— Please use new version with ProtectionType parameter.public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, DateTime? expirationTime, double volume)— Please use new version with ProtectionType parameter.public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, DateTime? expirationTime, double volume, bool hasTrailingStop)— Please use new version with ProtectionType parameter.public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)— Please use new version with ProtectionType parameter.public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod)— Please use new version with ProtectionType parameter.public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips)— Please use new version with ProtectionType parameter.public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, Action<TradeResult> callback)— Please use new version with ProtectionType parameter.public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, DateTime? expirationTime, Action<TradeResult> callback)— Please use new version with ProtectionType parameter.public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, DateTime? expirationTime, long volume, Action<TradeResult> callback)— Please use new version with ProtectionType parameter.public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, DateTime? expirationTime, double volume, Action<TradeResult> callback)— Please use new version with ProtectionType parameter.public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, Action<TradeResult> callback)— Please use new version with ProtectionType parameter.public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action<TradeResult> callback)— Please use new version with ProtectionType parameter.public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, DateTime? expirationTime, double volume, bool hasTrailingStop, Action<TradeResult> callback)— Please use new version with ProtectionType parameter.public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips, Action<TradeResult> callback)— Please use new version with ProtectionType parameter.