Merge pull request #61 from Tr4Dr/master

Updated PositionClose function and a fixed warning (MT5)
This commit is contained in:
Vyacheslav Demidyuk
2017-09-07 12:23:34 +03:00
committed by GitHub
2 changed files with 16 additions and 13 deletions
+3 -2
View File
@@ -497,9 +497,10 @@ namespace MtApi5
///Closes a position with the specified ticket. ///Closes a position with the specified ticket.
///</summary> ///</summary>
///<param name="ticket">Ticket of the closed position.</param> ///<param name="ticket">Ticket of the closed position.</param>
public bool PositionClose(int ticket) ///<param name="deviation">Maximal deviation from the current price (in points).</param>
public bool PositionClose(ulong ticket, ulong deviation = ulong.MaxValue)
{ {
var commandParameters = new ArrayList { ticket}; var commandParameters = new ArrayList { ticket, deviation };
return SendCommand<bool>(Mt5CommandType.PositionClose, commandParameters); return SendCommand<bool>(Mt5CommandType.PositionClose, commandParameters);
} }
+7 -5
View File
@@ -279,12 +279,14 @@ int executeCommand()
case 64: //PositionClose case 64: //PositionClose
{ {
int ticket; ulong ticket;
ulong deviation;
CTrade trade; CTrade trade;
getIntValue(ExpertHandle, 0, ticket); getULongValue(ExpertHandle, 0, ticket);
getULongValue(ExpertHandle, 1, deviation);
sendBooleanResponse(ExpertHandle, trade.PositionClose(ticket)); sendBooleanResponse(ExpertHandle, trade.PositionClose(ticket, deviation));
} }
break; break;
@@ -1906,7 +1908,7 @@ string OnRequest(string json)
return response; return response;
} }
string CreateErrorResponse(int code, string message) string CreateErrorResponse(int code, string message_er)
{ {
JSONValue* jsonError; JSONValue* jsonError;
if (code == 0) if (code == 0)
@@ -1916,7 +1918,7 @@ string CreateErrorResponse(int code, string message)
JSONObject *joResponse = new JSONObject(); JSONObject *joResponse = new JSONObject();
joResponse.put("ErrorCode", jsonError); joResponse.put("ErrorCode", jsonError);
joResponse.put("ErrorMessage", new JSONString(message)); joResponse.put("ErrorMessage", new JSONString(message_er));
string result = joResponse.toString(); string result = joResponse.toString();
delete joResponse; delete joResponse;