Indicator
class cAlgo.API
Base class for Indicators.
Definition
public abstract class Indicator : Algo
Namespace: cAlgo.API · Group: General · Inherits: Algo
Remarks
Contains all necessary market information, provides access to built-in indicators and provides framework for convenient indicators' creation.
Examples
using cAlgo.API;
using cAlgo.API.Indicators;
namespace cAlgo;
public partial class MedianPriceAverage : Indicator
{
private SimpleMovingAverage _sma;
private IndicatorDataSeries _medianPrices;
protected override void Initialize()
{
_medianPrices = CreateDataSeries();
_sma = Indicators.SimpleMovingAverage(_medianPrices, Periods);
}
public override void Calculate(int index)
{
_medianPrices[index] = (Bars.HighPrices[index] + Bars.LowPrices[index]) / 2;
Result[index] = _sma.Result[index];
if (IsLastBar)
Print("Last value: {0}", Result[index]);
}
}
import clr
clr.AddReference("cAlgo.API")
from cAlgo.API import *
class MedianPriceAverage():
def initialize(self):
self.medianPrices = api.CreateDataSeries()
self.sma = api.Indicators.SimpleMovingAverage(self.medianPrices, api.Periods)
def calculate(self, index):
self.medianPrices[index] = (api.Bars.HighPrices[index] + api.Bars.LowPrices[index]) / 2
api.Result[index] = self.sma.Result[index]
if api.IsLastBar:
api.Print(f"Last value: {api.Result[index]}")
{
"AccessRights": "None",
"IsOverlay": true,
"Parameters": [
{
"Name": "Periods",
"Type": "Integer",
"DefaultValue": 14
}
],
"LineOutputs": [
{
"Name": "Result",
"DisplayName": "Main",
"Color": "DodgerBlue"
}
]
}
Methods
| Name | Description |
|---|---|
AddToChartDesktopCLICloudChartIndicator | Adds current indicator to chart if not added yet. |
CalculateDesktopCLICloudvoid | Calculate the value(s) of indicator for the given index. |
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 |
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 |
InitializeDesktopCLICloudvoid | Custom initialization for the Indicator. This method is invoked when an indicator is launched. |
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 |
OnDestroyDesktopCLICloudvoid | Called when Indicator is destroyed. |
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 |
ReversePosition 2 overloadsDesktopCLICloudTradeResult | Modify the direction of trade at position |
ReversePositionAsync 2 overloadsDesktopCLICloudTradeOperation | Reverses Position in asynchronous execution mode |
SetBarColor 3 overloadsDesktopCLICloudvoid | Sets appearance of an indicator bar output from startIndex to last index. |
SetLineAppearance 6 overloadsDesktopCLICloudvoid | Sets appearance of an indicator line output from startIndex to last index. |
Properties
| Name | Description |
|---|---|
AccountDesktopCLICloudIAccount | Contains information of the current account. |
IndicatorAreaDesktopCLICloudIndicatorArea | Defines the area where the indicator is placed. |
IsLastBarDesktopCLICloudbool | Returns true, if Calculate is invoked for the last bar |
LastResultDesktopCLICloudTradeResult | The latest trade result |
PermissionsDesktopCLICloudPermissions | Contains all Permissions information |
Inherited members
From Algo: OnException, OnTimer, BeginInvokeOnMainThread, RefreshData, CreateDataSeries, Sleep, Print, InstanceId, LocalStorage, Indicators, Notifications, TimeFrame, Server, TimeZone, Positions, PendingOrders, History, Timer, Time, TimeInUtc, RunningMode, IsBacktesting, Application, AssetConverter, MarketSessions, Chart, Assets, SymbolName, Symbols, Symbol, Bid, Ask, Watchlists, Bars, MarketData, Http, ChartIndicators, ChartRobots, AlgoRegistry, HistoricalOrders, Compiler, InstanceTitle, Messages, Transactions, TimeFrames, PriceAlerts, ChartTemplates, Clipboard, MarketSessionsChanged
Deprecated members (63)
protected void SetLineAppearance(IndicatorLine line, int startIndex, Color color)— Use overload with IndicatorLineOutput insteadprotected void SetLineAppearance(IndicatorLine line, int startIndex, Color color, int thickness)— Use overload with IndicatorLineOutput insteadprotected void SetLineAppearance(IndicatorLine line, int startIndex, Color color, int thickness, LineStyle lineStyle)— Use overload with IndicatorLineOutput insteadprotected void SetLineAppearance(IndicatorLine line, int startIndex, int count, Color color)— Use overload with IndicatorLineOutput insteadprotected void SetLineAppearance(IndicatorLine line, int startIndex, int count, Color color, int thickness)— Use overload with IndicatorLineOutput insteadprotected void SetLineAppearance(IndicatorLine line, int startIndex, int count, Color color, int thickness, LineStyle lineStyle)— Use overload with IndicatorLineOutput insteadpublic 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.public bool IsRealTime {get;}— Use IsLastBar property instead.