Skip to content

Plugin

Summary

Base class for Plugins.

Remarks

Contains all necessary data, provides framework forconvenient Plugin's creation.

Signature

1
public abstract class Plugin

Namespace

cAlgo.API

Methods

ToString

Summary

The name of the plugin class.

Signature

1
public string ToString()

Return Value

string

RefreshData

Summary

Updates MarketSeries, Positions, PendingOrders, History, etc.And sends postponed events after Thread sleep call.If you put the main thread on sleep by calling Thread sleep methodthen you have to call RefreshData after Thread wakes up to sendthe postponed events while thread was sleeping.

Signature

1
public void RefreshData()

Return Value

void

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
 using cAlgo.API;
 using System.Linq;
 using System.Threading; 
 namespace Plugins
 {
     [Plugin(AccessRights = AccessRights.None)]
     public class NewPlugin : Plugin
     {
         protected override void OnStart()
         {
             Thread.Sleep(2000);
             RefreshData();
         }
     }

BeginInvokeOnMainThread

Summary

Invokes asynchronously the specified code on the main Plugin thread.

Signature

1
public void BeginInvokeOnMainThread(Action action)

Parameters

Name Type Description
action Action The code to invoke on the main Plugin thread

Return Value

void

Print (1 of 3)

Summary

Prints text representation of the specified object to the log.

Signature

1
public void Print(object value)

Parameters

Name Type Description
value object Object to print.

Return Value

void

Examples

1
 Print(Application.ColorTheme);

Print (2 of 3)

Summary

Prints a message to the Log

Signature

1
public void Print(object[] parameters)

Parameters

Name Type Description
parameters object[] Parameters to print

Return Value

void

Examples

1
 Print(Application.ColorTheme, " ", Application.Version);

Print (3 of 3)

Summary

Prints a message to the Log.

Signature

1
public void Print(string message, object[] parameters)

Parameters

Name Type Description
message string Message to print.
parameters object[] Parameters (optional)

Return Value

void

Examples

1
 Print("Application ColorTheme is {0}, Version is {1}.", Application.ColorTheme, Application.Version);

Sleep (3)

Sleep (1 of 3)

Summary

Suspends the plugin until the specified timespan elapses.

Signature

1
public void Sleep(TimeSpan timespan)

Parameters

Name Type Description
timespan TimeSpan The Timespan during which the plugin should not react to any events.

Return Value

void

Related Tutorials

Sleep (2 of 3)

Summary

Suspends the plugin until the specified number of milliseconds elapses.

Signature

1
public void Sleep(int milliseconds)

Parameters

Name Type Description
milliseconds int The number of milliseconds for which the plugin should be suspended.

Return Value

void

Related Tutorials

Sleep (3 of 3)

Summary

Suspends the plugin until the specified datetime.

Signature

1
public void Sleep(DateTime dateTime)

Parameters

Name Type Description
dateTime DateTime The DateTime until the plugin should be suspended.

Return Value

void

Related Tutorials

PlaceLimitOrder (7)

PlaceLimitOrder (1 of 7)

Summary

Place a Limit Order

Signature

1
public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price (or better) at which order is filled

Return Value

TradeResult

PlaceLimitOrder (2 of 7)

Summary

Place a Limit Order

Signature

1
public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price (or better) at which order is filled
label string Label representing the order

Return Value

TradeResult

PlaceLimitOrder (3 of 7)

Summary

Place a Limit Order

Signature

1
public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price (or better) at which order is filled
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips

Return Value

TradeResult

PlaceLimitOrder (4 of 7)

Summary

Place a Limit Order

Signature

1
public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price (or better) at which order is filled
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
expiration DateTime? Order expiry time

Return Value

TradeResult

PlaceLimitOrder (5 of 7)

Summary

Place a Limit Order

Signature

1
public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, string comment)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price (or better) at which order is filled
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
expiration DateTime? Order expiry time
comment string Order comment

Return Value

TradeResult

Examples

1
2
 PlaceLimitOrder(TradeType.Buy, Symbol, 100000,
                 Symbol.Bid - 2*Symbol.PipSize);
1
2
 PlaceLimitOrder(TradeType.Buy, Symbol, 200000,
             Symbol.Bid - 2*Symbol.PipSize, "myLabel");
1
2
 PlaceLimitOrder(TradeType.Buy, Symbol, 10000,
                 Symbol.Bid - 5*Symbol.PipSize, "112", 10, 10);
1
2
3
4
 double targetPrice = Symbol.Bid - 5*Symbol.PipSize;
 DateTime expiry = DateTime.Now.AddMinutes(30);
 PlaceLimitOrder(TradeType.Buy, Symbol, 10000,
                 targetPrice, "112", 10, 10, expiry);
1
2
3
4
 double targetPrice = Symbol.Bid - 5*Symbol.PipSize;
 DateTime expiry = DateTime.Now.AddMinutes(30);
 PlaceLimitOrder(TradeType.Buy, Symbol, 10000,
                 targetPrice, "112", 10, 10, expiry, "first order");

PlaceLimitOrder (6 of 7)

Summary

Place a Limit Order

Signature

1
public TradeResult PlaceLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, string comment, bool hasTrailingStop)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price (or better) at which order is filled
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
expiration DateTime? Order expiry time
comment string Order comment
hasTrailingStop bool Enable/disable TrailingStop for position

Return Value

TradeResult

Examples

1
2
 PlaceLimitOrder(TradeType.Buy, Symbol, 100000,
                 Symbol.Bid - 2*Symbol.PipSize);
1
2
 PlaceLimitOrder(TradeType.Buy, Symbol, 200000,
             Symbol.Bid - 2*Symbol.PipSize, "myLabel");
1
2
 PlaceLimitOrder(TradeType.Buy, Symbol, 10000,
                 Symbol.Bid - 5*Symbol.PipSize, "112", 10, 10);
1
2
3
4
 double targetPrice = Symbol.Bid - 5*Symbol.PipSize;
 DateTime expiry = DateTime.Now.AddMinutes(30);
 PlaceLimitOrder(TradeType.Buy, Symbol, 10000,
                 targetPrice, "112", 10, 10, expiry);
1
2
3
4
 double targetPrice = Symbol.Bid - 5*Symbol.PipSize;
 DateTime expiry = DateTime.Now.AddMinutes(30);
 PlaceLimitOrder(TradeType.Buy, Symbol, 10000,
                 targetPrice, "112", 10, 10, expiry, "first order");
1
2
3
4
 double targetPrice = Symbol.Bid - 5*Symbol.PipSize;
 DateTime expiry = DateTime.Now.AddMinutes(30);
 PlaceLimitOrder(TradeType.Buy, Symbol, 10000,
                 targetPrice, "112", 10, 10, expiry, "first order", HasTrailingStop);

PlaceLimitOrder (7 of 7)

Summary

Place a Limit Order

Signature

1
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

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price (or better) at which order is filled
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
expiration DateTime? Order expiry time
comment string Order comment
hasTrailingStop bool Enable/disable TrailingStop for position
stopLossTriggerMethod StopTriggerMethod? Trigger method for position's StopLoss

Return Value

TradeResult

Examples

1
2
 PlaceLimitOrder(TradeType.Buy, Symbol, 100000,
                 Symbol.Bid - 2*Symbol.PipSize);
1
2
 PlaceLimitOrder(TradeType.Buy, Symbol, 200000,
             Symbol.Bid - 2*Symbol.PipSize, "myLabel");
1
2
 PlaceLimitOrder(TradeType.Buy, Symbol, 10000,
                 Symbol.Bid - 5*Symbol.PipSize, "112", 10, 10);
1
2
3
4
 double targetPrice = Symbol.Bid - 5*Symbol.PipSize;
 DateTime expiry = DateTime.Now.AddMinutes(30);
 PlaceLimitOrder(TradeType.Buy, Symbol, 10000,
                 targetPrice, "112", 10, 10, expiry);
1
2
3
4
 double targetPrice = Symbol.Bid - 5*Symbol.PipSize;
 DateTime expiry = DateTime.Now.AddMinutes(30);
 PlaceLimitOrder(TradeType.Buy, Symbol, 10000,
                 targetPrice, "112", 10, 10, expiry, "first order");
1
2
3
4
 double targetPrice = Symbol.Bid - 5*Symbol.PipSize;
 DateTime expiry = DateTime.Now.AddMinutes(30);
 PlaceLimitOrder(TradeType.Buy, Symbol, 10000,
                 targetPrice, "112", 10, 10, expiry, "first order", HasTrailingStop);
1
2
3
4
 double targetPrice = Symbol.Bid - 5*Symbol.PipSize;
 DateTime expiry = DateTime.Now.AddMinutes(30);
 PlaceLimitOrder(TradeType.Buy, Symbol, 10000,
                 targetPrice, "112", 10, 10, expiry, "first order", HasTrailingStop, StopTriggerMethod.Trade);

PlaceLimitOrderAsync (7)

PlaceLimitOrderAsync (1 of 7)

Summary

Place limit order in asynchronous execution mode

Signature

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

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume of trade
targetPrice double Target price (or better) at which the order is filled
callback Action The action when the position closes

Return Value

TradeOperation

PlaceLimitOrderAsync (2 of 7)

Summary

Place limit order in asynchronous execution mode

Signature

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

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume of trade
targetPrice double Target price (or better) at which the order is filled
label string Label that represents the order
callback Action The action when the position closes

Return Value

TradeOperation

PlaceLimitOrderAsync (3 of 7)

Summary

Place limit order in asynchronous execution mode

Signature

1
public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, Action<TradeResult> callback)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume of trade
targetPrice double Target price (or better) at which the order is filled
label string Label that represents the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
callback Action The action when the position closes

Return Value

TradeOperation

PlaceLimitOrderAsync (4 of 7)

Summary

Place limit order in asynchronous execution mode

Signature

1
public TradeOperation PlaceLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, Action<TradeResult> callback)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume of trade
targetPrice double Target price (or better) at which the order is filled
label string Label that represents the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
expiration DateTime? Order expiry date and time
callback Action The action when the position closes

Return Value

TradeOperation

PlaceLimitOrderAsync (5 of 7)

Summary

Place limit order in asynchronous execution mode

Signature

1
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

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume of trade
targetPrice double Target price (or better) at which the order is filled
label string Label that represents the order
stopLossPips double? Stop loss in pips from target price
takeProfitPips double? Take profit in pips from target price
expiration DateTime? Order expiry date and time
comment string Order comment
callback Action The action when the position closes

Return Value

TradeOperation

Examples

1
2
 PlaceLimitOrderAsync(TradeType.Buy, Symbol, 10000,
                     Symbol.Bid - 10* Symbol.PipSize,"myLabel");
1
2
 PlaceLimitOrderAsync(TradeType.Buy, Symbol, 10000,
                     Symbol.Bid - 10* Symbol.PipSize,"myLabel", 10,10);
1
2
3
 DateTime? expiry = DateTime.Now.AddHours(1);
 PlaceLimitOrderAsync(TradeType.Buy, Symbol, 10000,
                     Symbol.Bid - 10* Symbol.PipSize,"myLabel", 10, 10, expiry, "order comment");
1
2
3
4
5
6
7
8
 protected override void OnStart()
 {
     PlaceLimitOrderAsync(TradeType.Buy, Symbol, 10000, Symbol.Bid, LimitOrderOnPlaced);
 }
 private void LimitOrderOnPlaced(TradeResult tradeResult)
 {
     Print("Limit order placed {0}", tradeResult.PendingOrder.Label);
 }

PlaceLimitOrderAsync (6 of 7)

Summary

Place limit order in asynchronous execution mode

Signature

1
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

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume of trade
targetPrice double Target price (or better) at which the order is filled
label string Label that represents the order
stopLossPips double? Stop loss in pips from target price
takeProfitPips double? Take profit in pips from target price
expiration DateTime? Order expiry date and time
comment string Order comment
hasTrailingStop bool Enable/disable TrailingStop for position
callback Action The action when the position closes

Return Value

TradeOperation

Examples

1
2
 PlaceLimitOrderAsync(TradeType.Buy, Symbol, 10000,
                     Symbol.Bid - 10* Symbol.PipSize,"myLabel");
1
2
 PlaceLimitOrderAsync(TradeType.Buy, Symbol, 10000,
                     Symbol.Bid - 10* Symbol.PipSize,"myLabel", 10,10);
1
2
3
 DateTime? expiry = DateTime.Now.AddHours(1);
 PlaceLimitOrderAsync(TradeType.Buy, Symbol, 10000,
                     Symbol.Bid - 10* Symbol.PipSize,"myLabel", 10, 10, expiry, "order comment");
1
2
3
4
5
6
7
8
 protected override void OnStart()
 {
     PlaceLimitOrderAsync(TradeType.Buy, Symbol, 10000, Symbol.Bid, LimitOrderOnPlaced);
 }
 private void LimitOrderOnPlaced(TradeResult tradeResult)
 {
     Print("Limit order placed {0}", tradeResult.PendingOrder.Label);
 }
1
2
3
 DateTime? expiry = DateTime.Now.AddHours(1);
 PlaceLimitOrderAsync(TradeType.Buy, Symbol, 10000,
                     Symbol.Bid - 10* Symbol.PipSize,"myLabel", 10, 10, expiry, "order comment", HasTrailingStop);

PlaceLimitOrderAsync (7 of 7)

Summary

Place limit order in asynchronous execution mode

Signature

1
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

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume of trade
targetPrice double Target price (or better) at which the order is filled
label string Label that represents the order
stopLossPips double? Stop loss in pips from target price
takeProfitPips double? Take profit in pips from target price
expiration DateTime? Order expiry date and time
comment string Order comment
hasTrailingStop bool Enable/disable TrailingStop for position
stopLossTriggerMethod StopTriggerMethod? Trigger method for position's StopLoss
callback Action The action when the position closes

Return Value

TradeOperation

Examples

1
2
 PlaceLimitOrderAsync(TradeType.Buy, Symbol, 10000,
                     Symbol.Bid - 10* Symbol.PipSize,"myLabel");
1
2
 PlaceLimitOrderAsync(TradeType.Buy, Symbol, 10000,
                     Symbol.Bid - 10* Symbol.PipSize,"myLabel", 10,10);
1
2
3
 DateTime? expiry = DateTime.Now.AddHours(1);
 PlaceLimitOrderAsync(TradeType.Buy, Symbol, 10000,
                     Symbol.Bid - 10* Symbol.PipSize,"myLabel", 10, 10, expiry, "order comment");
1
2
3
4
5
6
7
8
 protected override void OnStart()
 {
     PlaceLimitOrderAsync(TradeType.Buy, Symbol, 10000, Symbol.Bid, LimitOrderOnPlaced);
 }
 private void LimitOrderOnPlaced(TradeResult tradeResult)
 {
     Print("Limit order placed {0}", tradeResult.PendingOrder.Label);
 }
1
2
3
 DateTime? expiry = DateTime.Now.AddHours(1);
 PlaceLimitOrderAsync(TradeType.Buy, Symbol, 10000,
                     Symbol.Bid - 10* Symbol.PipSize,"myLabel", 10, 10, expiry, "order comment", HasTrailingStop);
1
2
3
 DateTime? expiry = DateTime.Now.AddHours(1);
 PlaceLimitOrderAsync(TradeType.Buy, Symbol, 10000,
                     Symbol.Bid - 10* Symbol.PipSize,"myLabel", 10, 10, expiry, "order comment", HasTrailingStop, StopTriggerMethod.Trade);

PlaceStopOrder (8)

PlaceStopOrder (1 of 8)

Summary

Place a stop order

Signature

1
public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price at which order becomes a market order

Return Value

TradeResult

PlaceStopOrder (2 of 8)

Summary

Place a stop order

Signature

1
public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price at which order becomes a market order
label string Representing label

Return Value

TradeResult

PlaceStopOrder (3 of 8)

Summary

Place a stop order

Signature

1
public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price at which order becomes a market order
label string Representing label
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips

Return Value

TradeResult

PlaceStopOrder (4 of 8)

Summary

Place a stop order

Signature

1
public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price at which order becomes a market order
label string Representing label
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
expiration DateTime? Order expiry time

Return Value

TradeResult

PlaceStopOrder (5 of 8)

Summary

Place a stop order

Signature

1
public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, string comment)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price at which order becomes a market order
label string Representing label
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
expiration DateTime? Order expiry time
comment string Order comment

Return Value

TradeResult

Examples

1
 PlaceStopOrder(TradeType.Buy, Symbol, 10000, Symbol.Ask);
1
2
 PlaceStopOrder(TradeType.Buy, Symbol, 10000, Symbol.Ask,
                 "myStopOrder");
1
2
 PlaceStopOrder(TradeType.Sell, Symbol, 20000, Symbol.Ask,
                 "myStopOrder", 20, 20);
1
2
3
 DateTime expiration = Server.Time.AddHours(1);
 PlaceStopOrder(TradeType.Sell, Symbol, 20000, Symbol.Ask,
                 "myStopOrder", 20, 20, expiration);
1
2
 PlaceStopOrder(TradeType.Sell, Symbol, 20000, Symbol.Ask,
                 "myStopOrder", 20, 20, null, "my comment");

PlaceStopOrder (6 of 8)

Summary

Place a stop order

Signature

1
public TradeResult PlaceStopOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, string comment, bool hasTrailingStop)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price at which order becomes a market order
label string Representing label
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
expiration DateTime? Order expiry time
comment string Order comment
hasTrailingStop bool Enable/disable TrailingStop for position

Return Value

TradeResult

Examples

1
 PlaceStopOrder(TradeType.Buy, Symbol, 10000, Symbol.Ask);
1
2
 PlaceStopOrder(TradeType.Buy, Symbol, 10000, Symbol.Ask,
                 "myStopOrder");
1
2
 PlaceStopOrder(TradeType.Sell, Symbol, 20000, Symbol.Ask,
                 "myStopOrder", 20, 20);
1
2
3
 DateTime expiration = Server.Time.AddHours(1);
 PlaceStopOrder(TradeType.Sell, Symbol, 20000, Symbol.Ask,
                 "myStopOrder", 20, 20, expiration);
1
2
 PlaceStopOrder(TradeType.Sell, Symbol, 20000, Symbol.Ask,
                 "myStopOrder", 20, 20, null, "my comment");
1
2
 PlaceStopOrder(TradeType.Sell, Symbol, 20000, Symbol.Ask,
                 "myStopOrder", 20, 20, null, "my comment", HasTrailingStop);

PlaceStopOrder (7 of 8)

Summary

Place a stop order

Signature

1
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

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price at which order becomes a market order
label string Representing label
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
expiration DateTime? Order expiry time
comment string Order comment
hasTrailingStop bool Enable/disable TrailingStop for position
stopLossTriggerMethod StopTriggerMethod? Trigger method for position's StopLoss

Return Value

TradeResult

Examples

1
 PlaceStopOrder(TradeType.Buy, Symbol, 10000, Symbol.Ask);
1
2
 PlaceStopOrder(TradeType.Buy, Symbol, 10000, Symbol.Ask,
                 "myStopOrder");
1
2
 PlaceStopOrder(TradeType.Sell, Symbol, 20000, Symbol.Ask,
                 "myStopOrder", 20, 20);
1
2
3
 DateTime expiration = Server.Time.AddHours(1);
 PlaceStopOrder(TradeType.Sell, Symbol, 20000, Symbol.Ask,
                 "myStopOrder", 20, 20, expiration);
1
2
 PlaceStopOrder(TradeType.Sell, Symbol, 20000, Symbol.Ask,
                 "myStopOrder", 20, 20, null, "my comment");
1
2
 PlaceStopOrder(TradeType.Sell, Symbol, 20000, Symbol.Ask,
                 "myStopOrder", 20, 20, null, "my comment", HasTrailingStop);
1
2
 PlaceStopOrder(TradeType.Sell, Symbol, 20000, Symbol.Ask,
                 "myStopOrder", 20, 20, null, "my comment", HasTrailingStop, StopTriggerMethod.Trade);

PlaceStopOrder (8 of 8)

Summary

Place a stop order

Signature

1
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

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price at which order becomes a market order
label string Representing label
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
expiration DateTime? Order expiry time
comment string Order comment
hasTrailingStop bool Enable/disable TrailingStop for position
stopLossTriggerMethod StopTriggerMethod? Trigger method for position's StopLoss
stopOrderTriggerMethod StopTriggerMethod Determines how pending order will be triggered in case it's a StopOrder

Return Value

TradeResult

Examples

1
 PlaceStopOrder(TradeType.Buy, Symbol, 10000, Symbol.Ask);
1
2
 PlaceStopOrder(TradeType.Buy, Symbol, 10000, Symbol.Ask,
                 "myStopOrder");
1
2
 PlaceStopOrder(TradeType.Sell, Symbol, 20000, Symbol.Ask,
                 "myStopOrder", 20, 20);
1
2
3
 DateTime expiration = Server.Time.AddHours(1);
 PlaceStopOrder(TradeType.Sell, Symbol, 20000, Symbol.Ask,
                 "myStopOrder", 20, 20, expiration);
1
2
 PlaceStopOrder(TradeType.Sell, Symbol, 20000, Symbol.Ask,
                 "myStopOrder", 20, 20, null, "my comment");
1
2
 PlaceStopOrder(TradeType.Sell, Symbol, 20000, Symbol.Ask,
                 "myStopOrder", 20, 20, null, "my comment", HasTrailingStop);
1
2
 PlaceStopOrder(TradeType.Sell, Symbol, 20000, Symbol.Ask,
                 "myStopOrder", 20, 20, null, "my comment", HasTrailingStop, StopTriggerMethod.Trade);

PlaceStopOrderAsync (8)

PlaceStopOrderAsync (1 of 8)

Summary

Place stop order in asynchronous execution mode

Signature

1
public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, Action<TradeResult> callback)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume of trade
targetPrice double Price at which the order becomes market order
callback Action Action when order is placed

Return Value

TradeOperation

PlaceStopOrderAsync (2 of 8)

Summary

Place stop order in asynchronous execution mode

Signature

1
public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, Action<TradeResult> callback)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume of trade
targetPrice double Price at which the order becomes market order
label string Label representing the order
callback Action Action when order is placed

Return Value

TradeOperation

PlaceStopOrderAsync (3 of 8)

Summary

Place stop order in asynchronous execution mode

Signature

1
public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, Action<TradeResult> callback)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume of trade
targetPrice double Price at which the order becomes market order
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
callback Action Action when order is placed

Return Value

TradeOperation

PlaceStopOrderAsync (4 of 8)

Summary

Place stop order in asynchronous execution mode

Signature

1
public TradeOperation PlaceStopOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, Action<TradeResult> callback)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume of trade
targetPrice double Price at which the order becomes market order
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
expiration DateTime? Order expiry date and time
callback Action Action when order is placed

Return Value

TradeOperation

PlaceStopOrderAsync (5 of 8)

Summary

Place stop order in asynchronous execution mode

Signature

1
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

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume of trade
targetPrice double Price at which the order becomes market order
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
expiration DateTime? Order expiry date and time
comment string Order comment
callback Action Action when order is placed

Return Value

TradeOperation

Examples

1
 PlaceStopOrderAsync(TradeType.Sell, Symbol, 10000, Symbol.Bid - 5* Symbol.PipSize);
1
 PlaceStopOrderAsync(TradeType.Sell, Symbol, 10000, Symbol.Bid - 5* Symbol.PipSize, "myLabel", 10, 10);
1
2
3
 DateTime? expiry = DateTime.Now.AddHours(1);
 PlaceStopOrderAsync(TradeType.Sell, Symbol, 10000,
             Symbol.Bid - 10* Symbol.PipSize,"myLabel", 10, 10, expiry, "order comment");
1
2
3
4
5
6
7
8
 protected override void OnStart()
 {
     PlaceStopOrderAsync(TradeType.Buy, Symbol, 20000, Symbol.Ask, StopOrderOnPlaced);
 }
 private void StopOrderOnPlaced(TradeResult tradeResult)
 {
     Print("Stop order placed {0}", tradeResult.PendingOrder.Label);
 }

PlaceStopOrderAsync (6 of 8)

Summary

Place stop order in asynchronous execution mode

Signature

1
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

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume of trade
targetPrice double Price at which the order becomes market order
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
expiration DateTime? Order expiry date and time
comment string Order comment
hasTrailingStop bool Enable/disable TrailingStop for position
callback Action Action when order is placed

Return Value

TradeOperation

Examples

1
 PlaceStopOrderAsync(TradeType.Sell, Symbol, 10000, Symbol.Bid - 5* Symbol.PipSize);
1
 PlaceStopOrderAsync(TradeType.Sell, Symbol, 10000, Symbol.Bid - 5* Symbol.PipSize, "myLabel", 10, 10);
1
2
3
 DateTime? expiry = DateTime.Now.AddHours(1);
 PlaceStopOrderAsync(TradeType.Sell, Symbol, 10000,
             Symbol.Bid - 10* Symbol.PipSize,"myLabel", 10, 10, expiry, "order comment");
1
2
3
4
5
6
7
8
 protected override void OnStart()
 {
     PlaceStopOrderAsync(TradeType.Buy, Symbol, 20000, Symbol.Ask, StopOrderOnPlaced);
 }
 private void StopOrderOnPlaced(TradeResult tradeResult)
 {
     Print("Stop order placed {0}", tradeResult.PendingOrder.Label);
 }
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
 protected override void OnStart()
 {
     bool hasTrailingStop = true;
     DateTime? expiry = DateTime.Now.AddHours(1);
     PlaceStopOrderAsync(TradeType.Sell, Symbol, 10000,
                         Symbol.Bid - 10* Symbol.PipSize,"myLabel", 10, 10, expiry, "order comment", hasTrailingStop);
 }
 private void StopOrderOnPlaced(TradeResult tradeResult)
 {
     Print("Stop order placed with HasTrailingStop: {0}", tradeResult.PendingOrder.HasTrailingStop);
 }

PlaceStopOrderAsync (7 of 8)

Summary

Place stop order in asynchronous execution mode

Signature

1
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

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume of trade
targetPrice double Price at which the order becomes market order
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
expiration DateTime? Order expiry date and time
comment string Order comment
hasTrailingStop bool Enable/disable TrailingStop for position
stopLossTriggerMethod StopTriggerMethod? Trigger method for position's StopLoss
callback Action Action when order is placed

Return Value

TradeOperation

Examples

1
 PlaceStopOrderAsync(TradeType.Sell, Symbol, 10000, Symbol.Bid - 5* Symbol.PipSize);
1
 PlaceStopOrderAsync(TradeType.Sell, Symbol, 10000, Symbol.Bid - 5* Symbol.PipSize, "myLabel", 10, 10);
1
2
3
 DateTime? expiry = DateTime.Now.AddHours(1);
 PlaceStopOrderAsync(TradeType.Sell, Symbol, 10000,
             Symbol.Bid - 10* Symbol.PipSize,"myLabel", 10, 10, expiry, "order comment");
1
2
3
4
5
6
7
8
 protected override void OnStart()
 {
     PlaceStopOrderAsync(TradeType.Buy, Symbol, 20000, Symbol.Ask, StopOrderOnPlaced);
 }
 private void StopOrderOnPlaced(TradeResult tradeResult)
 {
     Print("Stop order placed {0}", tradeResult.PendingOrder.Label);
 }
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
 protected override void OnStart()
 {
     bool hasTrailingStop = true;
     DateTime? expiry = DateTime.Now.AddHours(1);
     PlaceStopOrderAsync(TradeType.Sell, Symbol, 10000,
                         Symbol.Bid - 10* Symbol.PipSize,"myLabel", 10, 10, expiry, "order comment", hasTrailingStop);
 }
 private void StopOrderOnPlaced(TradeResult tradeResult)
 {
     Print("Stop order placed with HasTrailingStop: {0}", tradeResult.PendingOrder.HasTrailingStop);
 }
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
 protected override void OnStart()
 {
     bool hasTrailingStop = true;
     DateTime? expiry = DateTime.Now.AddHours(1);
     PlaceStopOrderAsync(TradeType.Sell, Symbol, 10000,
                         Symbol.Bid - 10* Symbol.PipSize,"myLabel", 10, 10, expiry,
                         "order comment", hasTrailingStop, StopTriggerMethod.Trade);
 }
 private void StopOrderOnPlaced(TradeResult tradeResult)
 {
     Print("Stop order placed with stop trigger method: {0}", tradeResult.PendingOrder.StopTriggerMethod);
 }

PlaceStopOrderAsync (8 of 8)

Summary

Place stop order in asynchronous execution mode

Signature

1
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

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume of trade
targetPrice double Price at which the order becomes market order
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
expiration DateTime? Order expiry date and time
comment string Order comment
hasTrailingStop bool Enable/disable TrailingStop for position
stopLossTriggerMethod StopTriggerMethod? Trigger method for position's StopLoss
stopOrderTriggerMethod StopTriggerMethod Determines how pending order will be triggered in case it's a StopOrder
callback Action Action when order is placed

Return Value

TradeOperation

Examples

1
 PlaceStopOrderAsync(TradeType.Sell, Symbol, 10000, Symbol.Bid - 5* Symbol.PipSize);
1
 PlaceStopOrderAsync(TradeType.Sell, Symbol, 10000, Symbol.Bid - 5* Symbol.PipSize, "myLabel", 10, 10);
1
2
3
 DateTime? expiry = DateTime.Now.AddHours(1);
 PlaceStopOrderAsync(TradeType.Sell, Symbol, 10000,
             Symbol.Bid - 10* Symbol.PipSize,"myLabel", 10, 10, expiry, "order comment");
1
2
3
4
5
6
7
8
 protected override void OnStart()
 {
     PlaceStopOrderAsync(TradeType.Buy, Symbol, 20000, Symbol.Ask, StopOrderOnPlaced);
 }
 private void StopOrderOnPlaced(TradeResult tradeResult)
 {
     Print("Stop order placed {0}", tradeResult.PendingOrder.Label);
 }
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
 protected override void OnStart()
 {
     bool hasTrailingStop = true;
     DateTime? expiry = DateTime.Now.AddHours(1);
     PlaceStopOrderAsync(TradeType.Sell, Symbol, 10000,
                         Symbol.Bid - 10* Symbol.PipSize,"myLabel", 10, 10, expiry, "order comment", hasTrailingStop);
 }
 private void StopOrderOnPlaced(TradeResult tradeResult)
 {
     Print("Stop order placed with HasTrailingStop: {0}", tradeResult.PendingOrder.HasTrailingStop);
 }
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
 protected override void OnStart()
 {
     bool hasTrailingStop = true;
     DateTime? expiry = DateTime.Now.AddHours(1);
     PlaceStopOrderAsync(TradeType.Sell, Symbol, 10000,
                         Symbol.Bid - 10* Symbol.PipSize,"myLabel", 10, 10, expiry,
                         "order comment", hasTrailingStop, StopTriggerMethod.Trade);
 }
 private void StopOrderOnPlaced(TradeResult tradeResult)
 {
     Print("Stop order placed with stop loss trigger method: {0}", tradeResult.PendingOrder.StopLossTriggerMethod);
 }
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
 protected override void OnStart()
 {
     bool hasTrailingStop = true;
     StopTriggerMethod stopLossTriggerMethod = StopTriggerMethod.Trade;
     StopTriggerMethod stopOrderTriggerMethod = StopTriggerMethod.Trade;
     DateTime? expiry = DateTime.Now.AddHours(1);
     PlaceStopOrderAsync(TradeType.Sell, Symbol, 10000,
                         Symbol.Bid - 10* Symbol.PipSize,"myLabel", 10, 10, expiry,
                         "order comment", hasTrailingStop, stopLossTriggerMethod, stopOrderTriggerMethod);
 }
 private void StopOrderOnPlaced(TradeResult tradeResult)
 {
     Print("Stop order placed with stop order trigger method: {0}", tradeResult.PendingOrder.StopOrderTriggerMethod);
 }

ExecuteMarketOrder (6)

ExecuteMarketOrder (1 of 6)

Summary

Execute a Market Order

Signature

1
public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade

Return Value

TradeResult

ExecuteMarketOrder (2 of 6)

Summary

Execute a Market Order

Signature

1
public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
label string Representing label

Return Value

TradeResult

ExecuteMarketOrder (3 of 6)

Summary

Execute a Market Order

Signature

1
public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
label string Representing label
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips

Return Value

TradeResult

ExecuteMarketOrder (4 of 6)

Summary

Execute a Market Order

Signature

1
public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, string comment)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
label string Representing label
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
comment string order comment

Return Value

TradeResult

Examples

1
 ExecuteMarketOrder(TradeType.Sell, Symbol, 10000);
1
 ExecuteMarketOrder(TradeType.Sell, Symbol, 10000, "Robot1");
1
 ExecuteMarketOrder(TradeType.Buy, Symbol, 10000, "myLabel", 10, 10);
1
 ExecuteMarketOrder(TradeType.Sell, Symbol, 10000, "Robot1", 10, 10, 2);
1
 ExecuteMarketOrder(TradeType.Buy, Symbol, 5000, "myRobot", StopLoss, TakeProfit, Slippage, "this is a comment");

ExecuteMarketOrder (5 of 6)

Summary

Execute a Market Order

Signature

1
public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
label string Representing label
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
comment string order comment
hasTrailingStop bool Enable/disable TrailingStop for position

Return Value

TradeResult

Examples

1
 ExecuteMarketOrder(TradeType.Sell, Symbol, 10000);
1
 ExecuteMarketOrder(TradeType.Sell, Symbol, 10000, "Robot1");
1
 ExecuteMarketOrder(TradeType.Buy, Symbol, 10000, "myLabel", 10, 10);
1
 ExecuteMarketOrder(TradeType.Sell, Symbol, 10000, "Robot1", 10, 10, 2);
1
 ExecuteMarketOrder(TradeType.Buy, Symbol, 5000, "myRobot", StopLoss, TakeProfit, Slippage, "this is a comment");
1
 ExecuteMarketOrder(TradeType.Buy, Symbol, 5000, "myRobot", StopLoss, TakeProfit, Slippage, "this is a comment", HasTrailingStop);

ExecuteMarketOrder (6 of 6)

Summary

Execute a Market Order

Signature

1
public TradeResult ExecuteMarketOrder(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
label string Representing label
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
comment string order comment
hasTrailingStop bool Enable/disable TrailingStop for position
stopLossTriggerMethod StopTriggerMethod? Trigger method for position's StopLoss

Return Value

TradeResult

Examples

1
 ExecuteMarketOrder(TradeType.Sell, Symbol, 10000);
1
 ExecuteMarketOrder(TradeType.Sell, Symbol, 10000, "Robot1");
1
 ExecuteMarketOrder(TradeType.Buy, Symbol, 10000, "myLabel", 10, 10);
1
 ExecuteMarketOrder(TradeType.Sell, Symbol, 10000, "Robot1", 10, 10, 2);
1
 ExecuteMarketOrder(TradeType.Buy, Symbol, 5000, "myRobot", StopLoss, TakeProfit, Slippage, "this is a comment");
1
 ExecuteMarketOrder(TradeType.Buy, Symbol, 5000, "myRobot", StopLoss, TakeProfit, Slippage, "this is a comment", HasTrailingStop);
1
2
 ExecuteMarketOrder(TradeType.Buy, Symbol, 5000, "myRobot", StopLoss, TakeProfit, Slippage, 
 "this is a comment", HasTrailingStop, StopTriggerMethod.Trade);

ExecuteMarketOrderAsync (6)

ExecuteMarketOrderAsync (1 of 6)

Summary

Execute a market order in asynchronous execution mode

Signature

1
public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, Action<TradeResult> callback)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
callback Action Event raised when position is opened

Return Value

TradeOperation

ExecuteMarketOrderAsync (2 of 6)

Summary

Execute a market order in asynchronous execution mode

Signature

1
public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, Action<TradeResult> callback)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
label string Label representing the order
callback Action Event raised when position is opened

Return Value

TradeOperation

ExecuteMarketOrderAsync (3 of 6)

Summary

Execute a market order in asynchronous execution mode

Signature

1
public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, Action<TradeResult> callback)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
callback Action Event raised when position is opened

Return Value

TradeOperation

ExecuteMarketOrderAsync (4 of 6)

Summary

Execute a market order in asynchronous execution mode

Signature

1
public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, string comment, Action<TradeResult> callback)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
comment string Order comment
callback Action Event raised when position is opened

Return Value

TradeOperation

Examples

1
 ExecuteMarketOrderAsync(TradeType.Buy, Symbol, 10000);
1
 ExecuteMarketOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel");
1
 ExecuteMarketOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel", 10, 20);
1
 ExecuteMarketOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel", 10, 20, 2);
1
 ExecuteMarketOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel", 10, 20, 2, "order comment");
1
2
 ExecuteMarketOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel", 10, 20, 2, 
                         "order comment", OnOpened);

ExecuteMarketOrderAsync (5 of 6)

Summary

Execute a market order in asynchronous execution mode

Signature

1
public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop, Action<TradeResult> callback)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
comment string Order comment
hasTrailingStop bool Enable/disable TrailingStop for position
callback Action Event raised when position is opened

Return Value

TradeOperation

Examples

1
 ExecuteMarketOrderAsync(TradeType.Buy, Symbol, 10000);
1
 ExecuteMarketOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel");
1
 ExecuteMarketOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel", 10, 20);
1
 ExecuteMarketOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel", 10, 20, 2);
1
 ExecuteMarketOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel", 10, 20, 2, "order comment");
1
2
 ExecuteMarketOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel", 10, 20, 2, 
                         "order comment", OnOpened);
1
2
 ExecuteMarketOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel", 10, 20, 2, 
                         "order comment", HasTrailingStop, OnOpened);

ExecuteMarketOrderAsync (6 of 6)

Summary

Execute a market order in asynchronous execution mode

Signature

1
public TradeOperation ExecuteMarketOrderAsync(TradeType tradeType, string symbolName, double volume, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action<TradeResult> callback)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
comment string Order comment
hasTrailingStop bool Enable/disable TrailingStop for position
stopLossTriggerMethod StopTriggerMethod? Trigger method for position's StopLoss
callback Action Event raised when position is opened

Return Value

TradeOperation

Examples

1
 ExecuteMarketOrderAsync(TradeType.Buy, Symbol, 10000);
1
 ExecuteMarketOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel");
1
 ExecuteMarketOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel", 10, 20);
1
 ExecuteMarketOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel", 10, 20, 2);
1
 ExecuteMarketOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel", 10, 20, 2, "order comment");
1
2
 ExecuteMarketOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel", 10, 20, 2, 
                         "order comment", OnOpened);
1
2
 ExecuteMarketOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel", 10, 20, 2, 
                         "order comment", HasTrailingStop, OnOpened);
1
2
 ExecuteMarketOrder(TradeType.Buy, Symbol, 5000, "myRobot", StopLoss, TakeProfit, Slippage, 
                    "this is a comment", HasTrailingStop, StopTriggerMethod.Trade);

ExecuteMarketRangeOrder (6)

ExecuteMarketRangeOrder (1 of 6)

Summary

Execute a Market Order

Signature

1
public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
marketRangePips double The market range (slippage) in Pips
basePrice double Base price to calculate relative slippage price

Return Value

TradeResult

ExecuteMarketRangeOrder (2 of 6)

Summary

Execute a Market Order

Signature

1
public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
marketRangePips double The market range (slippage) in Pips
basePrice double Base price to calculate relative slippage price
label string Representing label

Return Value

TradeResult

ExecuteMarketRangeOrder (3 of 6)

Summary

Execute a Market Order

Signature

1
public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
marketRangePips double The market range (slippage) in Pips
basePrice double Base price to calculate relative slippage price
label string Representing label
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips

Return Value

TradeResult

ExecuteMarketRangeOrder (4 of 6)

Summary

Execute a Market Order

Signature

1
public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips, string comment)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
marketRangePips double The market range (slippage) in Pips
basePrice double Base price to calculate relative slippage price
label string Representing label
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
comment string order comment

Return Value

TradeResult

Examples

1
 ExecuteMarketRangeOrder(TradeType.Sell, Symbol, 10000);
1
 ExecuteMarketRangeOrder(TradeType.Sell, Symbol, 10000, "Robot1");
1
 ExecuteMarketRangeOrder(TradeType.Buy, Symbol, 10000, "myLabel", 10, 10);
1
 ExecuteMarketRangeOrder(TradeType.Sell, Symbol, 10000, "Robot1", 10, 10, 2);
1
 ExecuteMarketRangeOrder(TradeType.Buy, Symbol, 5000, "myRobot", StopLoss, TakeProfit, Slippage, "this is a comment");

ExecuteMarketRangeOrder (5 of 6)

Summary

Execute a Market Order

Signature

1
public TradeResult ExecuteMarketRangeOrder(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
marketRangePips double The market range (slippage) in Pips
basePrice double Base price to calculate relative slippage price
label string Representing label
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
comment string order comment
hasTrailingStop bool Enable/disable TrailingStop for position

Return Value

TradeResult

Examples

1
 ExecuteMarketRangeOrder(TradeType.Sell, Symbol, 10000);
1
 ExecuteMarketRangeOrder(TradeType.Sell, Symbol, 10000, "Robot1");
1
 ExecuteMarketRangeOrder(TradeType.Buy, Symbol, 10000, "myLabel", 10, 10);
1
 ExecuteMarketRangeOrder(TradeType.Sell, Symbol, 10000, "Robot1", 10, 10, 2);
1
 ExecuteMarketRangeOrder(TradeType.Buy, Symbol, 5000, "myRobot", StopLoss, TakeProfit, Slippage, "this is a comment");
1
 ExecuteMarketRangeOrder(TradeType.Buy, Symbol, 5000, "myRobot", StopLoss, TakeProfit, Slippage, "this is a comment", HasTrailingStop);

ExecuteMarketRangeOrder (6 of 6)

Summary

Execute a Market Order

Signature

1
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)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
marketRangePips double The market range (slippage) in Pips
basePrice double Base price to calculate relative slippage price
label string Representing label
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
comment string order comment
hasTrailingStop bool Enable/disable TrailingStop for position
stopLossTriggerMethod StopTriggerMethod? Trigger method for position's StopLoss

Return Value

TradeResult

Examples

1
 ExecuteMarketRangeOrder(TradeType.Sell, Symbol, 10000);
1
 ExecuteMarketRangeOrder(TradeType.Sell, Symbol, 10000, "Robot1");
1
 ExecuteMarketRangeOrder(TradeType.Buy, Symbol, 10000, "myLabel", 10, 10);
1
 ExecuteMarketRangeOrder(TradeType.Sell, Symbol, 10000, "Robot1", 10, 10, 2);
1
 ExecuteMarketRangeOrder(TradeType.Buy, Symbol, 5000, "myRobot", StopLoss, TakeProfit, Slippage, "this is a comment");
1
 ExecuteMarketRangeOrder(TradeType.Buy, Symbol, 5000, "myRobot", StopLoss, TakeProfit, Slippage, "this is a comment", HasTrailingStop);
1
2
 ExecuteMarketRangeOrder(TradeType.Buy, Symbol, 5000, "myRobot", StopLoss, TakeProfit, Slippage,
 "this is a comment", HasTrailingStop, StopTriggerMethod.Trade);

ExecuteMarketRangeOrderAsync (6)

ExecuteMarketRangeOrderAsync (1 of 6)

Summary

Execute a market order in asynchronous execution mode

Signature

1
public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, Action<TradeResult> callback)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
marketRangePips double The market range (slippage) in Pips
basePrice double Base price to calculate relative slippage price
callback Action Event raised when position is opened

Return Value

TradeOperation

ExecuteMarketRangeOrderAsync (2 of 6)

Summary

Execute a market order in asynchronous execution mode

Signature

1
public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, Action<TradeResult> callback)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
marketRangePips double The market range (slippage) in Pips
basePrice double Base price to calculate relative slippage price
label string Label representing the order
callback Action Event raised when position is opened

Return Value

TradeOperation

ExecuteMarketRangeOrderAsync (3 of 6)

Summary

Execute a market order in asynchronous execution mode

Signature

1
public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips, Action<TradeResult> callback)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
marketRangePips double The market range (slippage) in Pips
basePrice double Base price to calculate relative slippage price
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
callback Action Event raised when position is opened

Return Value

TradeOperation

ExecuteMarketRangeOrderAsync (4 of 6)

Summary

Execute a market order in asynchronous execution mode

Signature

1
public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips, string comment, Action<TradeResult> callback)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
marketRangePips double The market range (slippage) in Pips
basePrice double Base price to calculate relative slippage price
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
comment string Order comment
callback Action Event raised when position is opened

Return Value

TradeOperation

Examples

1
 ExecuteMarketRangeOrderAsync(TradeType.Buy, Symbol, 10000);
1
 ExecuteMarketRangeOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel");
1
 ExecuteMarketRangeOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel", 10, 20);
1
 ExecuteMarketRangeOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel", 10, 20, 2);
1
 ExecuteMarketRangeOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel", 10, 20, 2, "order comment");
1
2
 ExecuteMarketRangeOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel", 10, 20, 2,
                         "order comment", OnOpened);

ExecuteMarketRangeOrderAsync (5 of 6)

Summary

Execute a market order in asynchronous execution mode

Signature

1
public TradeOperation ExecuteMarketRangeOrderAsync(TradeType tradeType, string symbolName, double volume, double marketRangePips, double basePrice, string label, double? stopLossPips, double? takeProfitPips, string comment, bool hasTrailingStop, Action<TradeResult> callback)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
marketRangePips double The market range (slippage) in Pips
basePrice double Base price to calculate relative slippage price
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
comment string Order comment
hasTrailingStop bool Enable/disable TrailingStop for position
callback Action Event raised when position is opened

Return Value

TradeOperation

Examples

1
 ExecuteMarketRangeOrderAsync(TradeType.Buy, Symbol, 10000);
1
 ExecuteMarketRangeOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel");
1
 ExecuteMarketRangeOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel", 10, 20);
1
 ExecuteMarketRangeOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel", 10, 20, 2);
1
 ExecuteMarketRangeOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel", 10, 20, 2, "order comment");
1
2
 ExecuteMarketRangeOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel", 10, 20, 2,
                         "order comment", OnOpened);
1
2
 ExecuteMarketRangeOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel", 10, 20, 2,
                         "order comment", HasTrailingStop, OnOpened);

ExecuteMarketRangeOrderAsync (6 of 6)

Summary

Execute a market order in asynchronous execution mode

Signature

1
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<TradeResult> callback)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
marketRangePips double The market range (slippage) in Pips
basePrice double Base price to calculate relative slippage price
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
comment string Order comment
hasTrailingStop bool Enable/disable TrailingStop for position
stopLossTriggerMethod StopTriggerMethod? Trigger method for position's StopLoss
callback Action Event raised when position is opened

Return Value

TradeOperation

Examples

1
 ExecuteMarketRangeOrderAsync(TradeType.Buy, Symbol, 10000);
1
 ExecuteMarketRangeOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel");
1
 ExecuteMarketRangeOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel", 10, 20);
1
 ExecuteMarketRangeOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel", 10, 20, 2);
1
 ExecuteMarketRangeOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel", 10, 20, 2, "order comment");
1
2
 ExecuteMarketRangeOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel", 10, 20, 2,
                         "order comment", OnOpened);
1
2
 ExecuteMarketRangeOrderAsync(TradeType.Buy, Symbol, 10000, "myLabel", 10, 20, 2,
                         "order comment", HasTrailingStop, OnOpened);
1
2
 ExecuteMarketRangeOrder(TradeType.Buy, Symbol, 5000, "myRobot", StopLoss, TakeProfit, Slippage,
                    "this is a comment", HasTrailingStop, StopTriggerMethod.Trade);

PlaceStopLimitOrder (8)

PlaceStopLimitOrder (1 of 8)

Summary

Place a Stop Limit Order

Signature

1
public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price (or better) at which order is filled
stopLimitRangePips double Maximum distance for order execution from target price

Return Value

TradeResult

PlaceStopLimitOrder (2 of 8)

Summary

Place a Stop Limit Order

Signature

1
public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price (or better) at which order is filled
stopLimitRangePips double Maximum distance for order execution from target price
label string Label representing the order

Return Value

TradeResult

PlaceStopLimitOrder (3 of 8)

Summary

Place a Stop Limit Order

Signature

1
public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLossPips, double? takeProfitPips)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price (or better) at which order is filled
stopLimitRangePips double Maximum distance for order execution from target price
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips

Return Value

TradeResult

PlaceStopLimitOrder (4 of 8)

Summary

Place a Stop Limit Order

Signature

1
public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price (or better) at which order is filled
stopLimitRangePips double Maximum distance for order execution from target price
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
expiration DateTime? Order expiry date and time

Return Value

TradeResult

PlaceStopLimitOrder (5 of 8)

Summary

Place a Stop Limit Order

Signature

1
public TradeResult PlaceStopLimitOrder(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLossPips, double? takeProfitPips, DateTime? expiration, string comment)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price (or better) at which order is filled
stopLimitRangePips double Maximum distance for order execution from target price
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
expiration DateTime? Order expiry date and time
comment string Order comment

Return Value

TradeResult

PlaceStopLimitOrder (6 of 8)

Summary

Place a Stop Limit Order

Signature

1
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

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price (or better) at which order is filled
stopLimitRangePips double Maximum distance for order execution from target price
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
expiration DateTime? Order expiry date and time
comment string Order comment
hasTrailingStop bool Enable/disable TrailingStop for position

Return Value

TradeResult

PlaceStopLimitOrder (7 of 8)

Summary

Place a Stop Limit Order

Signature

1
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

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price (or better) at which order is filled
stopLimitRangePips double Maximum distance for order execution from target price
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
expiration DateTime? Order expiry date and time
comment string Order comment
hasTrailingStop bool Enable/disable TrailingStop for position
stopLossTriggerMethod StopTriggerMethod? Trigger method for position's StopLoss

Return Value

TradeResult

PlaceStopLimitOrder (8 of 8)

Summary

Place a Stop Limit Order

Signature

1
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

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price (or better) at which order is filled
stopLimitRangePips double Maximum distance for order execution from target price
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
expiration DateTime? Order expiry date and time
comment string Order comment
hasTrailingStop bool Enable/disable TrailingStop for position
stopLossTriggerMethod StopTriggerMethod? Trigger method for position's StopLoss
stopOrderTriggerMethod StopTriggerMethod Determines how pending order will be triggered in case it's a StopLimitOrder

Return Value

TradeResult

PlaceStopLimitOrderAsync (8)

PlaceStopLimitOrderAsync (1 of 8)

Summary

Place Stop Limit order in asynchronous execution mode

Signature

1
public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, Action<TradeResult> callback)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price (or better) at which order is filled
stopLimitRangePips double Maximum distance for order execution from target price
callback Action Action when order is placed

Return Value

TradeOperation

PlaceStopLimitOrderAsync (2 of 8)

Summary

Place Stop Limit order in asynchronous execution mode

Signature

1
public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, Action<TradeResult> callback)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price (or better) at which order is filled
stopLimitRangePips double Maximum distance for order execution from target price
label string Label representing the order
callback Action Action when order is placed

Return Value

TradeOperation

PlaceStopLimitOrderAsync (3 of 8)

Summary

Place Stop Limit order in asynchronous execution mode

Signature

1
public TradeOperation PlaceStopLimitOrderAsync(TradeType tradeType, string symbolName, double volume, double targetPrice, double stopLimitRangePips, string label, double? stopLossPips, double? takeProfitPips, Action<TradeResult> callback)

Parameters

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price (or better) at which order is filled
stopLimitRangePips double Maximum distance for order execution from target price
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
callback Action Action when order is placed

Return Value

TradeOperation

PlaceStopLimitOrderAsync (4 of 8)

Summary

Place Stop Limit order in asynchronous execution mode

Signature

1
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

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price (or better) at which order is filled
stopLimitRangePips double Maximum distance for order execution from target price
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
expiration DateTime? Order expiry date and time
callback Action Action when order is placed

Return Value

TradeOperation

PlaceStopLimitOrderAsync (5 of 8)

Summary

Place Stop Limit order in asynchronous execution mode

Signature

1
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

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price (or better) at which order is filled
stopLimitRangePips double Maximum distance for order execution from target price
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
expiration DateTime? Order expiry date and time
comment string Order comment
callback Action Action when order is placed

Return Value

TradeOperation

PlaceStopLimitOrderAsync (6 of 8)

Summary

Place Stop Limit order in asynchronous execution mode

Signature

1
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

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price (or better) at which order is filled
stopLimitRangePips double Maximum distance for order execution from target price
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
expiration DateTime? Order expiry date and time
comment string Order comment
hasTrailingStop bool Enable/disable TrailingStop for position
callback Action Action when order is placed

Return Value

TradeOperation

PlaceStopLimitOrderAsync (7 of 8)

Summary

Place Stop Limit order in asynchronous execution mode

Signature

1
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

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price (or better) at which order is filled
stopLimitRangePips double Maximum distance for order execution from target price
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
expiration DateTime? Order expiry date and time
comment string Order comment
hasTrailingStop bool Enable/disable TrailingStop for position
stopLossTriggerMethod StopTriggerMethod? Trigger method for position's StopLoss
callback Action Action when order is placed

Return Value

TradeOperation

PlaceStopLimitOrderAsync (8 of 8)

Summary

Place Stop Limit order in asynchronous execution mode

Signature

1
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

Name Type Description
tradeType TradeType Direction of trade
symbolName string Symbol name of trade
volume double Volume (in units) of trade
targetPrice double Price (or better) at which order is filled
stopLimitRangePips double Maximum distance for order execution from target price
label string Label representing the order
stopLossPips double? Stop loss in pips
takeProfitPips double? Take profit in pips
expiration DateTime? Order expiry date and time
comment string Order comment
hasTrailingStop bool Enable/disable TrailingStop for position
stopLossTriggerMethod StopTriggerMethod? Trigger method for position's StopLoss
stopOrderTriggerMethod StopTriggerMethod Determines how pending order will be triggered in case it's a StopLimitOrder
callback Action Action when order is placed

Return Value

TradeOperation

ReversePosition (2)

ReversePosition (1 of 2)

Summary

Modify the direction of trade at position

Signature

1
public TradeResult ReversePosition(Position position)

Parameters

Name Type Description
position Position Position which is affected

Return Value

TradeResult

Examples

1
2
3
4
5
 var position = Positions.Find("myLabel", Symbol, TradeType.Buy);
 if (position != null )
 {
     ReversePosition(position);
 }

ReversePosition (2 of 2)

Summary

Modify the direction of trade and volume of a position

Signature

1
public TradeResult ReversePosition(Position position, double volume)

Parameters

Name Type Description
position Position Position which is affected
volume double Volume (in units) of Trade

Return Value

TradeResult

Examples

1
2
3
4
5
 var position = Positions.Find("myLabel", Symbol, TradeType.Buy);
 if (position != null )
 {
     ReversePosition(position, 20000);
 }

ModifyPosition (4)

ModifyPosition (1 of 4)

Summary

Modify the volume of a position

Signature

1
public TradeResult ModifyPosition(Position position, double volume)

Parameters

Name Type Description
position Position Position which is affected
volume double Volume (in units) of Trade

Return Value

TradeResult

Examples

1
2
3
4
5
 var position = Positions.Find("myLabel", Symbol, TradeType.Buy);
 if (position != null )
 {
     ModifyPosition(position, 20000);
 }

ModifyPosition (2 of 4)

Summary

Modify the protection of a position

Signature

1
public TradeResult ModifyPosition(Position position, double? stopLoss, double? takeProfit)

Parameters

Name Type Description
position Position Position which is affected
stopLoss double? New stop loss price
takeProfit double? New take profit price

Return Value

TradeResult

Examples

1
2
3
4
5
6
7
 var position = Positions.Find("myLabel", Symbol, TradeType.Buy);
 if (position != null )
 {
     double? stopLoss = Symbol.Ask- 10*Symbol.PipSize;
     double? takeProfit = Symbol.Ask + 10 * Symbol.PipSize;
     ModifyPosition(position, stopLoss,  takeProfit);
 }

ModifyPosition (3 of 4)

Summary

Modify the protection of a position

Signature

1
public TradeResult ModifyPosition(Position position, double? stopLoss, double? takeProfit, bool hasTrailingStop)

Parameters

Name Type Description
position Position Position which is affected
stopLoss double? New stop loss price
takeProfit double? New take profit price
hasTrailingStop bool Enable/disable TrailingStop for position

Return Value

TradeResult

Examples

1
2
3
4
5
6
7
 var position = Positions.Find("myLabel", Symbol, TradeType.Buy);
 if (position != null )
 {
     double? stopLoss = Symbol.Ask- 10*Symbol.PipSize;
     double? takeProfit = Symbol.Ask + 10 * Symbol.PipSize;
     ModifyPosition(position, stopLoss,  takeProfit);
 }
1
2
3
4
5
6
7
8
9
 var position = Positions.Find("myLabel", Symbol, TradeType.Buy);
 if (position != null )
 {
     double? stopLoss = Symbol.Ask- 10*Symbol.PipSize;
     double? takeProfit = Symbol.Ask + 10 * Symbol.PipSize;
     bool hasTrailingStop = true;
     ModifyPosition(position, stopLoss,  takeProfit, hasTrailingStop);
     Print("Position was modified, has Trailing Stop = {0}", result.Position.HasTrailingStop);
 }

ModifyPosition (4 of 4)

Summary

Modify the protection of a position

Signature

1
public TradeResult ModifyPosition(Position position, double? stopLoss, double? takeProfit, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)

Parameters

Name Type Description
position Position Position which is affected
stopLoss double? New stop loss price
takeProfit double? New take profit price
hasTrailingStop bool Enable/disable TrailingStop for position
stopLossTriggerMethod StopTriggerMethod? Trigger method for position's StopLoss

Return Value

TradeResult

Examples

1
2
3
4
5
6
7
 var position = Positions.Find("myLabel", Symbol, TradeType.Buy);
 if (position != null )
 {
     double? stopLoss = Symbol.Ask- 10*Symbol.PipSize;
     double? takeProfit = Symbol.Ask + 10 * Symbol.PipSize;
     ModifyPosition(position, stopLoss,  takeProfit);
 }
1
2
3
4
5
6
7
8
9
 var position = Positions.Find("myLabel", Symbol, TradeType.Buy);
 if (position != null )
 {
     double? stopLoss = Symbol.Ask- 10*Symbol.PipSize;
     double? takeProfit = Symbol.Ask + 10 * Symbol.PipSize;
     bool hasTrailingStop = true;
     ModifyPosition(position, stopLoss,  takeProfit, hasTrailingStop);
     Print("Position was modified, has Trailing Stop = {0}", result.Position.HasTrailingStop);
 }
1
2
3
4
5
6
7
8
9
 var position = Positions.Find("myLabel", Symbol, TradeType.Buy);
 if (position != null )
 {
     double? stopLoss = Symbol.Ask- 10*Symbol.PipSize;
     double? takeProfit = Symbol.Ask + 10 * Symbol.PipSize;
     bool hasTrailingStop = true;
     ModifyPosition(position, stopLoss,  takeProfit, hasTrailingStop, StopTriggerMethod.Opposite);
     Print("Position was modified, stop loss trigger method = {0}", result.Position.StopLossTriggerMethod);
 }

ClosePosition (3)

ClosePosition (1 of 3)

Summary

Close a position

Signature

1
public TradeResult ClosePosition(Position position)

Parameters

Name Type Description
position Position Position to close

Return Value

TradeResult

ClosePosition (2 of 3)

Summary

Close a position

Signature

1
public TradeResult ClosePosition(Position position, long volume)

Parameters

Name Type Description
position Position Position to close
volume long Volume which is closed

Return Value

TradeResult

Examples

1
 ClosePosition(position);
1
2
 if (position.Volume >= 20000)
     ClosePosition(position, 10000);

ClosePosition (3 of 3)

Summary

Close a position

Signature

1
public TradeResult ClosePosition(Position position, double volume)

Parameters

Name Type Description
position Position Position to close
volume double Volume which is closed

Return Value

TradeResult

Examples

1
 ClosePosition(position);
1
2
 if (position.Volume >= 20000)
     ClosePosition(position, 10000);

ClosePositionAsync (3)

ClosePositionAsync (1 of 3)

Summary

Close a position in asynchronous execution mode

Signature

1
public TradeOperation ClosePositionAsync(Position position, Action<TradeResult> callback)

Parameters

Name Type Description
position Position The position to close
callback Action The action when the position closes

Return Value

TradeOperation

ClosePositionAsync (2 of 3)

Summary

Close a position in asynchronous execution mode

Signature

1
public TradeOperation ClosePositionAsync(Position position, long volume, Action<TradeResult> callback)

Parameters

Name Type Description
position Position The position to close
volume long The volume to close
callback Action The action when the position closes

Return Value

TradeOperation

Examples

1
 ClosePositionAsync(position);
1
2
 if (position.Volume >= 20000)
     ClosePositionAsync(position, 10000);

ClosePositionAsync (3 of 3)

Summary

Close a position in asynchronous execution mode

Signature

1
public TradeOperation ClosePositionAsync(Position position, double volume, Action<TradeResult> callback)

Parameters

Name Type Description
position Position The position to close
volume double The volume to close
callback Action The action when the position closes

Return Value

TradeOperation

Examples

1
 ClosePositionAsync(position);
1
2
 if (position.Volume >= 20000)
     ClosePositionAsync(position, 10000);

ReversePositionAsync (2)

ReversePositionAsync (1 of 2)

Summary

Modify Position in asynchronous execution mode

Signature

1
public TradeOperation ReversePositionAsync(Position position, Action<TradeResult> callback)

Parameters

Name Type Description
position Position Position to modify
callback Action Method that is called when position is modified

Return Value

TradeOperation

Examples

1
2
3
4
5
 var position = Positions.Find("myLabel", Symbol, TradeType.Buy);
 if (position != null)
 {
     ReversePositionAsync(position, TradeType.Sell);
 }

ReversePositionAsync (2 of 2)

Summary

Modify Position in asynchronous execution mode

Signature

1
public TradeOperation ReversePositionAsync(Position position, double volume, Action<TradeResult> callback)

Parameters

Name Type Description
position Position Position to modify
volume double New volume
callback Action Method that is called when position is modified

Return Value

TradeOperation

Examples

1
2
3
4
5
 var position = Positions.Find("myLabel", Symbol, TradeType.Buy);
 if (position != null)
 {
     ReversePositionAsync(position, 20000);
 }

ModifyPositionAsync (4)

ModifyPositionAsync (1 of 4)

Summary

Modify Position in asynchronous execution mode

Signature

1
public TradeOperation ModifyPositionAsync(Position position, double volume, Action<TradeResult> callback)

Parameters

Name Type Description
position Position Position to modify
volume double New volume
callback Action Method that is called when position is modified

Return Value

TradeOperation

Examples

1
2
3
4
5
 var position = Positions.Find("myLabel", Symbol, TradeType.Buy);
 if (position != null)
 {
     ModifyPositionAsync(position, 20000);
 }

ModifyPositionAsync (2 of 4)

Summary

Modify Position in asynchronous execution mode

Signature

1
public TradeOperation ModifyPositionAsync(Position position, double? stopLoss, double? takeProfit, Action<TradeResult> callback)

Parameters

Name Type Description
position Position Position to modify
stopLoss double? New stop loss price
takeProfit double? New take profit price
callback Action Method that is called when position is modified

Return Value

TradeOperation

Examples

1
2
3
4
5
6
7
 var position = Positions.Find("myLabel", Symbol, TradeType.Buy);
 if (position != null)
 {
     double? stopLoss = Symbol.Ask- 10*Symbol.PipSize;
     double? takeProfit = Symbol.Ask + 10 * Symbol.PipSize;
     ModifyPositionAsync(position, stopLoss,  takeProfit);
 }

ModifyPositionAsync (3 of 4)

Summary

Modify Position in asynchronous execution mode

Signature

1
public TradeOperation ModifyPositionAsync(Position position, double? stopLoss, double? takeProfit, bool hasTrailingStop, Action<TradeResult> callback)

Parameters

Name Type Description
position Position Position to modify
stopLoss double? New stop loss price
takeProfit double? New take profit price
hasTrailingStop bool Enable/disable TrailingStop for position
callback Action Method that is called when position is modified

Return Value

TradeOperation

Examples

1
2
3
4
5
6
7
 var position = Positions.Find("myLabel", Symbol, TradeType.Buy);
 if (position != null)
 {
     double? stopLoss = Symbol.Ask- 10*Symbol.PipSize;
     double? takeProfit = Symbol.Ask + 10 * Symbol.PipSize;
     ModifyPositionAsync(position, stopLoss,  takeProfit);
 }
1
2
3
4
5
6
7
8
 var position = Positions.Find("myLabel", Symbol, TradeType.Buy);
 if (position != null)
 {
     double? stopLoss = Symbol.Ask- 10*Symbol.PipSize;
     double? takeProfit = Symbol.Ask + 10 * Symbol.PipSize;
     bool hasTrailingStop = true;
     ModifyPositionAsync(position, stopLoss,  takeProfit, hasTrailingStop);
 }

ModifyPositionAsync (4 of 4)

Summary

Modify Position in asynchronous execution mode

Signature

1
public TradeOperation ModifyPositionAsync(Position position, double? stopLoss, double? takeProfit, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action<TradeResult> callback)

Parameters

Name Type Description
position Position Position to modify
stopLoss double? New stop loss price
takeProfit double? New take profit price
hasTrailingStop bool Enable/disable TrailingStop for position
stopLossTriggerMethod StopTriggerMethod? Trigger method for position's StopLoss
callback Action Method that is called when position is modified

Return Value

TradeOperation

Examples

1
2
3
4
5
6
7
 var position = Positions.Find("myLabel", Symbol, TradeType.Buy);
 if (position != null)
 {
     double? stopLoss = Symbol.Ask- 10*Symbol.PipSize;
     double? takeProfit = Symbol.Ask + 10 * Symbol.PipSize;
     ModifyPositionAsync(position, stopLoss,  takeProfit);
 }
1
2
3
4
5
6
7
8
 var position = Positions.Find("myLabel", Symbol, TradeType.Buy);
 if (position != null)
 {
     double? stopLoss = Symbol.Ask- 10*Symbol.PipSize;
     double? takeProfit = Symbol.Ask + 10 * Symbol.PipSize;
     bool hasTrailingStop = true;
     ModifyPositionAsync(position, stopLoss,  takeProfit, hasTrailingStop);
 }

CancelPendingOrder

Summary

Cancel a Pending Order

Signature

1
public TradeResult CancelPendingOrder(PendingOrder pendingOrder)

Parameters

Name Type Description
pendingOrder PendingOrder Pending Order which is affected

Return Value

TradeResult

Examples

1
2
3
4
 foreach (var order in PendingOrders)
 {
     CancelPendingOrder(order);
 }

ModifyPendingOrder (9)

ModifyPendingOrder (1 of 9)

Summary

Modify a Pending Order

Signature

1
public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice)

Parameters

Name Type Description
pendingOrder PendingOrder Pending Order which is affected
targetPrice double New target price

Return Value

TradeResult

Examples

1
2
3
4
5
 foreach (var order in PendingOrders)
 {
     if (order.StopLossPips == null)
         ModifyPendingOrder(order, order.TargetPrice);
 }

ModifyPendingOrder (2 of 9)

Summary

Modify a Pending Order

Signature

1
public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips)

Parameters

Name Type Description
pendingOrder PendingOrder Pending Order which is affected
targetPrice double New target price
stopLossPips double? New stop loss pips value from target price
takeProfitPips double? New take profit pips value from target price

Return Value

TradeResult

Examples

1
2
3
4
5
 foreach (var order in PendingOrders)
 {
     if (order.StopLossPips == null)
         ModifyPendingOrder(order, order.TargetPrice, 10, order.TakeProfitPips);
 }

ModifyPendingOrder (3 of 9)

Summary

Modify a Pending Order

Signature

1
public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, DateTime? expirationTime)

Parameters

Name Type Description
pendingOrder PendingOrder Pending Order which is affected
targetPrice double New target price
stopLossPips double? New stop loss pips value from target price
takeProfitPips double? New take profit pips value from target price
expirationTime DateTime? New order expiration time

Return Value

TradeResult

Examples

1
2
3
4
5
6
 foreach (var order in PendingOrders)
 {
     if (order.StopLossPips == null)
         ModifyPendingOrder(order, order.TargetPrice, 10, order.TakeProfitPips,
                         order.ExpirationTime);
 }

ModifyPendingOrder (4 of 9)

Summary

Modify a Pending Order

Signature

1
public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, DateTime? expirationTime, long volume)

Parameters

Name Type Description
pendingOrder PendingOrder Pending Order which is affected
targetPrice double New target price
stopLossPips double? New stop loss pips value from target price
takeProfitPips double? New take profit pips value from target price
expirationTime DateTime? New order expiration time
volume long New volume in units for the order

Return Value

TradeResult

Examples

1
2
3
4
5
6
 foreach (var order in PendingOrders)
 {
     if (order.StopLossPips == null)
         ModifyPendingOrder(order, order.TargetPrice, 10, order.TakeProfitPips,
                         order.ExpirationTime, 5);
 }

ModifyPendingOrder (5 of 9)

Summary

Modify a Pending Order

Signature

1
public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, DateTime? expirationTime, double volume)

Parameters

Name Type Description
pendingOrder PendingOrder Pending Order which is affected
targetPrice double New target price
stopLossPips double? New stop loss pips value from target price
takeProfitPips double? New take profit pips value from target price
expirationTime DateTime? New order expiration time
volume double New volume in units for the order

Return Value

TradeResult

Examples

1
2
3
4
5
6
 foreach (var order in PendingOrders)
 {
     if (order.StopLossPips == null)
         ModifyPendingOrder(order, order.TargetPrice, 10, order.TakeProfitPips,
                         order.ExpirationTime, 5);
 }

ModifyPendingOrder (6 of 9)

Summary

Modify a Pending Order

Signature

1
public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, DateTime? expirationTime, double volume, bool hasTrailingStop)

Parameters

Name Type Description
pendingOrder PendingOrder Pending Order which is affected
targetPrice double New target price
stopLossPips double? New stop loss pips value from target price
takeProfitPips double? New take profit pips value from target price
expirationTime DateTime? New order expiration time
volume double New volume in units for the order
hasTrailingStop bool Enable/disable TrailingStop for position

Return Value

TradeResult

Examples

1
2
3
4
5
6
 foreach (var order in PendingOrders)
 {
     if (order.StopLossPips == null)
         ModifyPendingOrder(order, order.TargetPrice, 10, order.TakeProfitPips,
                         order.ExpirationTime);
 }
1
2
3
4
5
6
7
 bool hasTrailingStop = false;
 foreach (var order in PendingOrders)
 {
     if (order.StopLossPips == null)
         ModifyPendingOrder(order, order.TargetPrice, 10, order.TakeProfitPips,
                         order.ExpirationTime, hasTrailingStop);
 }

ModifyPendingOrder (7 of 9)

Summary

Modify a Pending Order

Signature

1
public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod)

Parameters

Name Type Description
pendingOrder PendingOrder Pending Order which is affected
targetPrice double New target price
stopLossPips double? New stop loss pips value from target price
takeProfitPips double? New take profit pips value from target price
expirationTime DateTime? New order expiration time
volume double New volume in units for the order
hasTrailingStop bool Enable/disable TrailingStop for position
stopLossTriggerMethod StopTriggerMethod? Trigger method for position's StopLoss

Return Value

TradeResult

Examples

1
2
3
4
5
6
7
 bool hasTrailingStop = false;
 foreach (var order in PendingOrders)
 {
     if (order.StopLossPips == null)
         ModifyPendingOrder(order, order.TargetPrice, 10, order.TakeProfitPips,
                            order.ExpirationTime, 10000, hasTrailingStop, StopTriggerMethod.Trade);
 }

ModifyPendingOrder (8 of 9)

Summary

Modify a Pending Order

Signature

1
public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod)

Parameters

Name Type Description
pendingOrder PendingOrder Pending Order which is affected
targetPrice double New target price
stopLossPips double? New stop loss pips value from target price
takeProfitPips double? New take profit pips value from target price
expirationTime DateTime? New order expiration time
volume double New volume in units for the order
hasTrailingStop bool Enable/disable TrailingStop for position
stopLossTriggerMethod StopTriggerMethod? Trigger method for position's StopLoss
stopOrderTriggerMethod StopTriggerMethod? Determines how pending order will be triggered in case it's a StopOrder

Return Value

TradeResult

Examples

1
2
3
4
5
6
 foreach (var order in PendingOrders)
 {
     if (order.StopLossPips == null)
         ModifyPendingOrder(order, order.TargetPrice, 10, order.TakeProfitPips,
                            order.ExpirationTime);
 }
1
2
3
4
5
6
7
 bool hasTrailingStop = false;
 foreach (var order in PendingOrders)
 {
 if (order.StopLossPips == null)
     ModifyPendingOrder(order, order.TargetPrice, 10, order.TakeProfitPips,
                        order.ExpirationTime, 5, hasTrailingStop);
 }
1
2
3
4
5
6
7
 bool hasTrailingStop = false;
 foreach (var order in PendingOrders)
 {
     if (order.StopLossPips == null)
         ModifyPendingOrder(order, order.TargetPrice, 10, order.TakeProfitPips,
                            order.ExpirationTime, 5, hasTrailingStop, StopTriggerMethod.Trade, StopTriggerMethod.Trade);
 }

ModifyPendingOrder (9 of 9)

Summary

Modify a Pending Order

Signature

1
public TradeResult ModifyPendingOrder(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, double? stopLimitRangePips)

Parameters

Name Type Description
pendingOrder PendingOrder Pending Order which is affected
targetPrice double New target price
stopLossPips double? New stop loss pips value from target price
takeProfitPips double? New take profit pips value from target price
expirationTime DateTime? New order expiration time
volume double New volume in units for the order
hasTrailingStop bool Enable/disable TrailingStop for position
stopLossTriggerMethod StopTriggerMethod? Trigger method for position's StopLoss
stopOrderTriggerMethod StopTriggerMethod? Determines how pending order will be triggered in case it's a StopOrder
stopLimitRangePips double? Maximum distance for order execution from target price

Return Value

TradeResult

Examples

1
2
3
4
5
6
 foreach (var order in PendingOrders)
 {
     if (order.StopLossPips == null)
         ModifyPendingOrder(order, order.TargetPrice, 10, order.TakeProfitPips,
                            order.ExpirationTime);
 }
1
2
3
4
5
6
7
 bool hasTrailingStop = false;
 foreach (var order in PendingOrders)
 {
 if (order.StopLossPips == null)
     ModifyPendingOrder(order, order.TargetPrice, 10, order.TakeProfitPips,
                        order.ExpirationTime, 5, hasTrailingStop);
 }
1
2
3
4
5
6
7
 bool hasTrailingStop = false;
 foreach (var order in PendingOrders)
 {
     if (order.StopLossPips == null)
         ModifyPendingOrder(order, order.TargetPrice, 10, order.TakeProfitPips,
                            order.ExpirationTime, 5, hasTrailingStop, StopTriggerMethod.Trade, StopTriggerMethod.Trade, 2);
 }

CancelPendingOrderAsync

Summary

Cancel a Pending Order in asynchronous execution mode

Signature

1
public TradeOperation CancelPendingOrderAsync(PendingOrder pendingOrder, Action<TradeResult> callback)

Parameters

Name Type Description
pendingOrder PendingOrder Pending Order to cancel
callback Action Method that is called when pending order is cancelled

Return Value

TradeOperation

Examples

1
2
3
4
5
 if (PendingOrders.Count > 0)
 {
     var pendingOrder = PendingOrders[0];
     CancelPendingOrderAsync(pendingOrder);
 }

ModifyPendingOrderAsync (9)

ModifyPendingOrderAsync (1 of 9)

Summary

Modify a Pending Order in asynchronous execution mode

Signature

1
public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, Action<TradeResult> callback)

Parameters

Name Type Description
pendingOrder PendingOrder Pending Order to modify
targetPrice double New target price at which the order becomes market order
callback Action Method that is called when order is modified

Return Value

TradeOperation

Examples

1
2
3
4
5
 foreach (var order in PendingOrders)
 {
     if (order.StopLossPips == null)
         ModifyPendingOrderAsync(order, order.TargetPrice);
 }

ModifyPendingOrderAsync (2 of 9)

Summary

Modify a Pending Order in asynchronous execution mode

Signature

1
public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, Action<TradeResult> callback)

Parameters

Name Type Description
pendingOrder PendingOrder Pending Order to modify
targetPrice double New target price at which the order becomes market order
stopLossPips double? New stop loss
takeProfitPips double? New take profit
callback Action Method that is called when order is modified

Return Value

TradeOperation

Examples

1
2
3
4
5
 foreach (var order in PendingOrders)
 {
     if (order.StopLossPips == null)
         ModifyPendingOrderAsync(order, order.TargetPrice, 10, order.TakeProfitPips);
 }

ModifyPendingOrderAsync (3 of 9)

Summary

Modify a Pending Order in asynchronous execution mode

Signature

1
public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, DateTime? expirationTime, Action<TradeResult> callback)

Parameters

Name Type Description
pendingOrder PendingOrder Pending Order to modify
targetPrice double New target price at which the order becomes market order
stopLossPips double? New stop loss
takeProfitPips double? New take profit
expirationTime DateTime? New expiry date and time
callback Action Method that is called when order is modified

Return Value

TradeOperation

Examples

1
2
3
4
5
6
 foreach (var order in PendingOrders)
 {
     if (order.StopLossPips == null)
         ModifyPendingOrderAsync(order, order.TargetPrice, 10, order.TakeProfitPips,
                         order.ExpirationTime);
 }

ModifyPendingOrderAsync (4 of 9)

Summary

Modify a Pending Order in asynchronous execution mode

Signature

1
public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, DateTime? expirationTime, long volume, Action<TradeResult> callback)

Parameters

Name Type Description
pendingOrder PendingOrder Pending Order to modify
targetPrice double New target price at which the order becomes market order
stopLossPips double? New stop loss
takeProfitPips double? New take profit
expirationTime DateTime? New expiry date and time
volume long New volume in units for the order
callback Action Method that is called when order is modified

Return Value

TradeOperation

Examples

1
2
3
4
5
6
7
 bool hasTrailingStop = false;
 foreach (var order in PendingOrders)
 {
     if (order.StopLossPips == null)
         ModifyPendingOrderAsync(order, order.TargetPrice, 10, order.TakeProfitPips,
                         order.ExpirationTime, 5);
 }

ModifyPendingOrderAsync (5 of 9)

Summary

Modify a Pending Order in asynchronous execution mode

Signature

1
public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, DateTime? expirationTime, double volume, Action<TradeResult> callback)

Parameters

Name Type Description
pendingOrder PendingOrder Pending Order to modify
targetPrice double New target price at which the order becomes market order
stopLossPips double? New stop loss
takeProfitPips double? New take profit
expirationTime DateTime? New expiry date and time
volume double New volume in units for the order
callback Action Method that is called when order is modified

Return Value

TradeOperation

Examples

1
2
3
4
5
6
7
 bool hasTrailingStop = false;
 foreach (var order in PendingOrders)
 {
     if (order.StopLossPips == null)
         ModifyPendingOrderAsync(order, order.TargetPrice, 10, order.TakeProfitPips,
                         order.ExpirationTime, 5);
 }

ModifyPendingOrderAsync (6 of 9)

Summary

Modify a Pending Order in asynchronous execution mode

Signature

1
public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, StopTriggerMethod? stopOrderTriggerMethod, Action<TradeResult> callback)

Parameters

Name Type Description
pendingOrder PendingOrder Pending Order to modify
targetPrice double New target price at which the order becomes market order
stopLossPips double? New stop loss
takeProfitPips double? New take profit
expirationTime DateTime? New expiry date and time
volume double New volume in units for the order
hasTrailingStop bool Enable/disable TrailingStop for position
stopLossTriggerMethod StopTriggerMethod? Trigger method for position's StopLoss
stopOrderTriggerMethod StopTriggerMethod? Determines how pending order will be triggered in case it's a StopOrder
callback Action Method that is called when order is modified

Return Value

TradeOperation

Examples

1
2
3
4
5
6
7
 bool hasTrailingStop = false;
 foreach (var order in PendingOrders)
 {
     if (order.StopLossPips == null)
         ModifyPendingOrderAsync(order, order.TargetPrice, 10, order.TakeProfitPips,
                         order.ExpirationTime, 5, hasTrailingStop, StopTriggerMethod.Trade, StopTriggerMethod.Opposite);
 }

ModifyPendingOrderAsync (7 of 9)

Summary

Modify a Pending Order in asynchronous execution mode

Signature

1
public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, DateTime? expirationTime, double volume, bool hasTrailingStop, StopTriggerMethod? stopLossTriggerMethod, Action<TradeResult> callback)

Parameters

Name Type Description
pendingOrder PendingOrder Pending Order to modify
targetPrice double New target price at which the order becomes market order
stopLossPips double? New stop loss
takeProfitPips double? New take profit
expirationTime DateTime? New expiry date and time
volume double New volume in units for the order
hasTrailingStop bool Enable/disable TrailingStop for position
stopLossTriggerMethod StopTriggerMethod? Trigger method for position's StopLoss
callback Action Method that is called when order is modified

Return Value

TradeOperation

Examples

1
2
3
4
5
6
7
 bool hasTrailingStop = false;
 foreach (var order in PendingOrders)
 {
     if (order.StopLossPips == null)
         ModifyPendingOrderAsync(order, order.TargetPrice, 10, order.TakeProfitPips,
                         order.ExpirationTime, 5, hasTrailingStop, StopTriggerMethod.Trade);
 }

ModifyPendingOrderAsync (8 of 9)

Summary

Modify a Pending Order in asynchronous execution mode

Signature

1
public TradeOperation ModifyPendingOrderAsync(PendingOrder pendingOrder, double targetPrice, double? stopLossPips, double? takeProfitPips, DateTime? expirationTime, double volume, bool hasTrailingStop, Action<TradeResult> callback)

Parameters

Name Type Description
pendingOrder PendingOrder Pending Order to modify
targetPrice double New target price at which the order becomes market order
stopLossPips double? New stop loss
takeProfitPips double? New take profit
expirationTime DateTime? New expiry date and time
volume double New volume in units for the order
hasTrailingStop bool Enable/disable TrailingStop for position
callback Action Method that is called when order is modified

Return Value

TradeOperation

Examples

1
2
3
4
5
6
7
 bool hasTrailingStop = false;
 foreach (var order in PendingOrders)
 {
     if (order.StopLossPips == null)
         ModifyPendingOrderAsync(order, order.TargetPrice, 10, order.TakeProfitPips,
                         order.ExpirationTime, 5, hasTrailingStop);
 }

ModifyPendingOrderAsync (9 of 9)

Summary

Modify a Pending Order in asynchronous execution mode

Signature

1
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)

Parameters

Name Type Description
pendingOrder PendingOrder Pending Order to modify
targetPrice double New target price at which the order becomes market order
stopLossPips double? New stop loss
takeProfitPips double? New take profit
expirationTime DateTime? New expiry date and time
volume double New volume in units for the order
hasTrailingStop bool Enable/disable TrailingStop for position
stopLossTriggerMethod StopTriggerMethod? Trigger method for position's StopLoss
stopOrderTriggerMethod StopTriggerMethod? Determines how pending order will be triggered in case it's a StopOrder
stopLimitRangePips double? Maximum distance for order execution from target price
callback Action Method that is called when order is modified

Return Value

TradeOperation

Examples

1
2
3
4
5
6
 foreach (var order in PendingOrders)
 {
     if (order.StopLossPips == null)
         ModifyPendingOrderAsync(order, order.TargetPrice, 10, order.TakeProfitPips,
                         order.ExpirationTime);
 }
1
2
3
4
5
6
7
 bool hasTrailingStop = false;
 foreach (var order in PendingOrders)
 {
     if (order.StopLossPips == null)
         ModifyPendingOrderAsync(order, order.TargetPrice, 10, order.TakeProfitPips,
                         order.ExpirationTime, hasTrailingStop);
 }
1
2
3
4
5
6
7
 bool hasTrailingStop = false;
 foreach (var order in PendingOrders)
 {
     if (order.StopLossPips == null)
         ModifyPendingOrderAsync(order, order.TargetPrice, 10, order.TakeProfitPips,
                         order.ExpirationTime, hasTrailingStop, StopTriggerMethod.Trade);
 }
1
2
3
4
5
6
7
 bool hasTrailingStop = false;
 foreach (var order in PendingOrders)
 {
     if (order.StopLossPips == null)
         ModifyPendingOrderAsync(order, order.TargetPrice, 10, order.TakeProfitPips,
                         order.ExpirationTime, hasTrailingStop, 5, StopTriggerMethod.Trade, StopTriggerMethod.Opposite);
 }

Properties

Server

Summary

Server related information.

Signature

1
public IServer Server {get;}

Return Value

IServer

Examples

1
2
3
4
 protected override void OnStart()
 {
     Print("The server time is: {0}", Server.Time);
 }

Timer

Summary

Access to the Timer object.

Signature

1
public Timer Timer {get;}

Return Value

Timer

Examples

1
2
3
4
5
6
7
8
 protected override void OnStart()
 {
     Timer.Start(1);//start timer with 1 second interval
 }
 protected override void OnTimer()
 {
     Print("Timer interval elapsed");
 }

TimeZone

Summary

TimeZone of a Plugin.

Signature

1
public TimeZoneInfo TimeZone {get;}

Return Value

TimeZoneInfo

Time

Summary

Returns the current server time. The shortcut to the Server.Time property.

Signature

1
public DateTime Time {get;}

Return Value

DateTime

Examples

1
2
3
4
 protected override void OnStart()
 {
     Print("The Server Time is: {0}", Time);
 }

TimeInUtc

Summary

Returns the current server time in UTC. The shortcut to the Server.TimeInUtc property.

Signature

1
public DateTime TimeInUtc {get;}

Return Value

DateTime

Examples

1
2
3
4
 protected override void OnStart()
 {
     Print("The Server Time in UTC is: {0}", TimeInUtc);
 }

Application

Summary

Represents the application.

Signature

1
public Application Application {get;}

Return Value

Application

Symbols

Summary

Gets the symbol names.

Signature

1
public Symbols Symbols {get;}

Return Value

Symbols

Asp

Summary

Gets the active symbol panel.

Signature

1
public Asp Asp {get;}

Return Value

Asp

Account

Summary

Contains all Account information

Signature

1
public IAccount Account {get;}

Return Value

IAccount

Examples

1
2
3
4
5
6
7
 double balance = Account.Balance;
 string currency = Account.Currency;
 double equity = Account.Equity;
 double freemargin = Account.FreeMargin;
 double margin = Account.Margin;
 double? marginlevel = Account.MarginLevel;
 int leverage = Account.Leverage;

AssetConverter

Summary

Converts an asset to another asset.

Signature

1
public IAssetConverter AssetConverter {get;}

Return Value

IAssetConverter

Related Tutorials

Assets

Summary

Returns list of all available assets.

Signature

1
public Assets Assets {get;}

Return Value

Assets

History

Summary

Represents the collection of all historical trades of the account.

Signature

1
public History History {get;}

Return Value

History

Examples

1
2
3
4
 foreach (HistoricalTrade trade in History)
 {
     Print(trade.EntryTime);
 }

Permissions

Summary

Contains all Permissions information

Signature

1
public Permissions Permissions {get;}

Return Value

Permissions

TradeWatch

Summary

Gets the Trade Watch panel.

Signature

1
public TradeWatch TradeWatch {get;}

Return Value

TradeWatch

MarketSessions

Summary

Returns current market sessions.

Signature

1
public MarketSession MarketSessions {get;}

Return Value

MarketSession

Related Tutorials

Watchlists

Summary

Gets the watchlist.

Signature

1
public Watchlists Watchlists {get;}

Return Value

Watchlists

Http

Summary

Send HTTP requests.

Signature

1
public Http Http {get;}

Return Value

Http

Related Tutorials

Notifications

Summary

Represents the notifications, such as sounds and email.

Signature

1
public INotifications Notifications {get;}

Return Value

INotifications

Examples

1
 Notifications.PlaySound(@"C:\Windows\Media\notify.wav");
1
2
 string emailBody = "this is the message send";
 Notifications.SendEmail("from@example.com", "to@example.com", "my subject", emailBody);

ChartManager

Summary

Returns chart manager.

Signature

1
public ChartManager ChartManager {get;}

Return Value

ChartManager

MarketData

Summary

Provides access to Market Data.

Signature

1
public MarketData MarketData {get;}

Return Value

MarketData

Examples

1
2
 private MarketDepth _md;
 _md = MarketData.GetMarketDepth("GBPUSD");

LocalStorage

Summary

Access the local storage API.

Signature

1
public LocalStorage LocalStorage {get;}

Return Value

LocalStorage

Related Tutorials

AlgoRegistry

Summary

Provides access to installed Algorithms.

Signature

1
public AlgoRegistry AlgoRegistry {get;}

Return Value

AlgoRegistry

Related Tutorials

Backtesting

Summary

%DOCUMENTATION%

Signature

1
public Backtesting Backtesting {get;}

Return Value

Backtesting

Indicators

Summary

Access to the built-in Indicators.

Signature

1
public IIndicatorsAccessor Indicators {get;}

Return Value

IIndicatorsAccessor

Examples

1
2
3
4
5
 protected override void Initialize()
 {
     //Use MarketSeries price data as parameters to indicators
     _ma = Indicators.SimpleMovingAverage(MarketSeries.Close, 20);
 }

Related Tutorials

Commands

Summary

Provides access to commands.

Signature

1
public Commands Commands {get;}

Return Value

Commands

LastResult

Summary

The latest trade result

Signature

1
public TradeResult LastResult {get;}

Return Value

TradeResult

Examples

1
2
3
 ExecuteMarketOrder(TradeType.Buy, Symbol, 20000, null, 10, null);
 if(LastResult.IsSuccessful)
     Print(LastResult.Position.StopLoss);

Positions

Summary

The list of all open positions of the account.

Signature

1
public Positions Positions {get;}

Return Value

Positions

Examples

1
2
3
4
5
 foreach (var position in Positions)
 {
     if (position.StopLoss == null)
         ModifyPosition(position, 10, position.TakeProfit);
 }

PendingOrders

Summary

The array of all Pending Orders of the account.

Signature

1
public PendingOrders PendingOrders {get;}

Return Value

PendingOrders

Examples

1
2
3
4
5
6
 foreach (var order in PendingOrders)
 {
     if (order.StopLossPips == null)
         ModifyPendingOrder(order, order.TargetPrice, 10, order.TakeProfit,
                             order.ExpirationTime);
 }

Events

MarketSessionsChanged

Summary

Occurs when market sessions change.

Signature

1
public event Action<MarketSessionChangedEventArgs> MarketSessionsChanged;