diff --git a/MtApi/MtApi.csproj b/MtApi/MtApi.csproj
index ee9e53aa..af7bae5e 100755
--- a/MtApi/MtApi.csproj
+++ b/MtApi/MtApi.csproj
@@ -78,6 +78,7 @@
+
diff --git a/MtApi/MtApiClient.cs b/MtApi/MtApiClient.cs
index 13896b09..ac7ab6ed 100755
--- a/MtApi/MtApiClient.cs
+++ b/MtApi/MtApiClient.cs
@@ -17,7 +17,7 @@ namespace MtApi
public sealed class MtApiClient
{
- private const int DOUBLE_ARRAY_LIMIT = 64800;
+ private const int DoubleArrayLimit = 64800;
#region MetaTrader Constants
@@ -96,26 +96,6 @@ namespace MtApi
#region Trading functions
- private int InternalOrderSend(string symbol, TradeOperation cmd, double volume, double? price, int? slippage, double? stoploss, double? takeprofit
- , string comment, int? magic, DateTime? expiration, Color? arrowColor)
- {
- var response = SendRequest(new OrderSendRequest
- {
- Symbol = symbol,
- Cmd = (int)cmd,
- Volume = volume,
- Price = price,
- Slippage = slippage,
- Stoploss = stoploss,
- Takeprofit = takeprofit,
- Comment = comment,
- Magic = magic,
- Expiration = expiration.HasValue ? MtApiTimeConverter.ConvertToMtTime(expiration.Value) : default(int?),
- ArrowColor = arrowColor.HasValue ? MtApiColorConverter.ConvertToMtColor(arrowColor.Value) : default(int?)
- });
- return response != null ? response.Ticket : -1;
- }
-
public int OrderSend(string symbol, TradeOperation cmd, double volume, double price, int slippage, double stoploss, double takeprofit
, string comment, int magic, DateTime expiration, Color arrowColor)
{
@@ -186,19 +166,34 @@ namespace MtApi
public bool OrderClose(int ticket, double lots, double price, int slippage, Color color)
{
- var commandParameters = new ArrayList { ticket, lots, price, slippage, MtApiColorConverter.ConvertToMtColor(color) };
- return sendCommand(MtCommandType.OrderClose, commandParameters);
+ return InternalOrderClose(ticket, lots, price, slippage, color);
}
public bool OrderClose(int ticket, double lots, double price, int slippage)
{
- return OrderClose(ticket, lots, price, slippage, Color.Empty);
+ return InternalOrderClose(ticket, lots, price, slippage, null);
+ }
+
+ public bool OrderClose(int ticket, double lots, int slippage)
+ {
+ return InternalOrderClose(ticket, lots, null, slippage, null);
+ }
+
+ public bool OrderClose(int ticket, int slippage)
+ {
+ return InternalOrderClose(ticket, null, null, slippage, null);
+ }
+
+ [Obsolete("OrderCloseByCurrentPrice is deprecated, please use OrderClose instead.")]
+ public bool OrderCloseByCurrentPrice(int ticket, int slippage)
+ {
+ return InternalOrderClose(ticket, null, null, slippage, null);
}
public bool OrderCloseBy(int ticket, int opposite, Color color)
{
var commandParameters = new ArrayList { ticket, opposite, MtApiColorConverter.ConvertToMtColor(color) };
- return sendCommand(MtCommandType.OrderCloseBy, commandParameters);
+ return SendCommand(MtCommandType.OrderCloseBy, commandParameters);
}
public bool OrderCloseBy(int ticket, int opposite)
@@ -206,45 +201,39 @@ namespace MtApi
return OrderCloseBy(ticket, opposite, Color.Empty);
}
- public bool OrderCloseByCurrentPrice(int ticket, int slippage)
- {
- var commandParameters = new ArrayList { ticket, slippage };
- return sendCommand(MtCommandType.OrderCloseByCurrentPrice, commandParameters);
- }
-
public double OrderClosePrice()
{
- return sendCommand(MtCommandType.OrderClosePrice, null);
+ return SendCommand(MtCommandType.OrderClosePrice, null);
}
public double OrderClosePrice(int ticket)
{
var commandParameters = new ArrayList { ticket };
- double retVal = sendCommand(MtCommandType.OrderClosePriceByTicket, commandParameters);
+ double retVal = SendCommand(MtCommandType.OrderClosePriceByTicket, commandParameters);
return retVal;
}
public DateTime OrderCloseTime()
{
- var commandResponse = sendCommand(MtCommandType.OrderCloseTime, null);
+ var commandResponse = SendCommand(MtCommandType.OrderCloseTime, null);
return MtApiTimeConverter.ConvertFromMtTime(commandResponse);
}
public string OrderComment()
{
- return sendCommand(MtCommandType.OrderComment, null);
+ return SendCommand(MtCommandType.OrderComment, null);
}
public double OrderCommission()
{
- return sendCommand(MtCommandType.OrderCommission, null);
+ return SendCommand(MtCommandType.OrderCommission, null);
}
public bool OrderDelete(int ticket, Color color)
{
var commandParameters = new ArrayList { ticket, MtApiColorConverter.ConvertToMtColor(color) };
- return sendCommand(MtCommandType.OrderDelete, commandParameters);
+ return SendCommand(MtCommandType.OrderDelete, commandParameters);
}
public bool OrderDelete(int ticket)
@@ -254,24 +243,24 @@ namespace MtApi
public DateTime OrderExpiration()
{
- var commandResponse = sendCommand(MtCommandType.OrderExpiration, null);
+ var commandResponse = SendCommand(MtCommandType.OrderExpiration, null);
return MtApiTimeConverter.ConvertFromMtTime(commandResponse);
}
public double OrderLots()
{
- return sendCommand(MtCommandType.OrderLots, null);
+ return SendCommand(MtCommandType.OrderLots, null);
}
public int OrderMagicNumber()
{
- return sendCommand(MtCommandType.OrderMagicNumber, null);
+ return SendCommand(MtCommandType.OrderMagicNumber, null);
}
public bool OrderModify(int ticket, double price, double stoploss, double takeprofit, DateTime expiration, Color arrow_color)
{
var commandParameters = new ArrayList { ticket, price, stoploss, takeprofit, MtApiTimeConverter.ConvertToMtTime(expiration), MtApiColorConverter.ConvertToMtColor(arrow_color) };
- return sendCommand(MtCommandType.OrderModify, commandParameters);
+ return SendCommand(MtCommandType.OrderModify, commandParameters);
}
public bool OrderModify(int ticket, double price, double stoploss, double takeprofit, DateTime expiration)
@@ -281,37 +270,37 @@ namespace MtApi
public double OrderOpenPrice()
{
- return sendCommand(MtCommandType.OrderOpenPrice, null);
+ return SendCommand(MtCommandType.OrderOpenPrice, null);
}
public double OrderOpenPrice(int ticket)
{
var commandParameters = new ArrayList { ticket };
- double retVal = sendCommand(MtCommandType.OrderOpenPriceByTicket, commandParameters);
+ double retVal = SendCommand(MtCommandType.OrderOpenPriceByTicket, commandParameters);
return retVal;
}
public DateTime OrderOpenTime()
{
- var commandResponse = sendCommand(MtCommandType.OrderOpenTime, null);
+ var commandResponse = SendCommand(MtCommandType.OrderOpenTime, null);
return MtApiTimeConverter.ConvertFromMtTime(commandResponse);
}
public void OrderPrint()
{
- sendCommand