diff --git a/MtApi5/MtApi5Client.cs b/MtApi5/MtApi5Client.cs index 8dacc260..698a990d 100755 --- a/MtApi5/MtApi5Client.cs +++ b/MtApi5/MtApi5Client.cs @@ -475,6 +475,17 @@ namespace MtApi5 { return sendCommand(Mt5CommandType.OrderCloseAll, null); } + + /// + ///Closes a position with the specified ticket. + /// + ///Ticket of the closed position. + public bool PositionClose(int ticket) + { + var commandParameters = new ArrayList { ticket}; + + return sendCommand(Mt5CommandType.PositionClose, commandParameters); + } #endregion #region Account Information functions diff --git a/MtApi5/MtCommandType.cs b/MtApi5/MtCommandType.cs index bede832d..f9c6a41c 100755 --- a/MtApi5/MtCommandType.cs +++ b/MtApi5/MtCommandType.cs @@ -100,6 +100,7 @@ namespace MtApi5 MarketBookAdd = 60, MarketBookRelease = 61, MarketBookGet = 62, - OrderCloseAll = 63 + OrderCloseAll = 63, + PositionClose = 64 } } diff --git a/mq5/MtApi5.mq5 b/mq5/MtApi5.mq5 index 86dc224f..ac2a84ec 100755 --- a/mq5/MtApi5.mq5 +++ b/mq5/MtApi5.mq5 @@ -227,6 +227,14 @@ int executeCommand() sendBooleanResponse(ExpertHandle, retVal); } break; + case 64: //PositionCloseBy + { + ulong ticket; + getULongValue(ExpertHandle, 0, ticket); + + sendBooleanResponse(ExpertHandle, PositionClose(ticket)); + } + break; case 2: // OrderCalcMargin {