diff --git a/MtApi5/MtApi5Client.cs b/MtApi5/MtApi5Client.cs index bf4780d6..8dacc260 100755 --- a/MtApi5/MtApi5Client.cs +++ b/MtApi5/MtApi5Client.cs @@ -466,6 +466,15 @@ namespace MtApi5 return sendCommand(Mt5CommandType.HistoryDealGetString, commandParameters); } + + /// + ///Close all open positions. + /// + ///OrderCloseAll + public bool OrderCloseAll() + { + return sendCommand(Mt5CommandType.OrderCloseAll, null); + } #endregion #region Account Information functions diff --git a/MtApi5/MtCommandType.cs b/MtApi5/MtCommandType.cs index de50e10b..bede832d 100755 --- a/MtApi5/MtCommandType.cs +++ b/MtApi5/MtCommandType.cs @@ -99,6 +99,7 @@ namespace MtApi5 SymbolInfoSessionTrade = 59, MarketBookAdd = 60, MarketBookRelease = 61, - MarketBookGet = 62 + MarketBookGet = 62, + OrderCloseAll = 63 } } diff --git a/MtApi5/Properties/AssemblyInfo.cs b/MtApi5/Properties/AssemblyInfo.cs index 83334acf..2094ec8d 100755 --- a/MtApi5/Properties/AssemblyInfo.cs +++ b/MtApi5/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.7.0")] -[assembly: AssemblyFileVersion("1.0.7.0")] +[assembly: AssemblyVersion("1.0.8.0")] +[assembly: AssemblyFileVersion("1.0.8.0")] diff --git a/MtApi5Setup_x64/MtApi5Setup_x64.vdproj b/MtApi5Setup_x64/MtApi5Setup_x64.vdproj index c069a040..97214e81 100755 --- a/MtApi5Setup_x64/MtApi5Setup_x64.vdproj +++ b/MtApi5Setup_x64/MtApi5Setup_x64.vdproj @@ -13,12 +13,6 @@ "SccProvider" = "8:" "Hierarchy" { - "Entry" - { - "MsmKey" = "8:_0A948AEB88E843A79E449F2694CEAC4A" - "OwnerKey" = "8:_8B9C059CECE541EF9F06C906252E106A" - "MsmSig" = "8:_UNDEFINED" - } "Entry" { "MsmKey" = "8:_26066077D06445DAA7176D267C4A5A5C" @@ -52,13 +46,13 @@ "Entry" { "MsmKey" = "8:_C28BD2D9EC05E0CCB849ABEEA4360539" - "OwnerKey" = "8:_A1E29B278F4C4BCAA1195F775A473B52" + "OwnerKey" = "8:_8B9C059CECE541EF9F06C906252E106A" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_C28BD2D9EC05E0CCB849ABEEA4360539" - "OwnerKey" = "8:_8B9C059CECE541EF9F06C906252E106A" + "OwnerKey" = "8:_A1E29B278F4C4BCAA1195F775A473B52" "MsmSig" = "8:_UNDEFINED" } "Entry" @@ -70,7 +64,7 @@ "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_A1E29B278F4C4BCAA1195F775A473B52" + "OwnerKey" = "8:_C28BD2D9EC05E0CCB849ABEEA4360539" "MsmSig" = "8:_UNDEFINED" } "Entry" @@ -82,7 +76,7 @@ "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_C28BD2D9EC05E0CCB849ABEEA4360539" + "OwnerKey" = "8:_A1E29B278F4C4BCAA1195F775A473B52" "MsmSig" = "8:_UNDEFINED" } } @@ -217,11 +211,6 @@ "AssemblyAsmDisplayName" = "8:MTApiService, Version=1.0.13.0, Culture=neutral, PublicKeyToken=704b91b7000ff499, processorArchitecture=MSIL" "ScatterAssemblies" { - "_C28BD2D9EC05E0CCB849ABEEA4360539" - { - "Name" = "8:MTApiService.dll" - "Attributes" = "3:512" - } } "SourcePath" = "8:MTApiService.dll" "TargetName" = "8:" @@ -352,15 +341,15 @@ { "Name" = "8:Microsoft Visual Studio" "ProductName" = "8:MtApi5" - "ProductCode" = "8:{564F64AB-717A-46FC-AE3A-51139ADF5EE0}" - "PackageCode" = "8:{BEF87E05-9C6D-4CEB-9D91-FBFFA4AE28C1}" + "ProductCode" = "8:{02DC498A-5F06-4134-BD32-C5D677B8017A}" + "PackageCode" = "8:{23755B17-D96D-4C2C-A6BD-D3E136A8992E}" "UpgradeCode" = "8:{5673F99F-74B5-4D75-9648-3250C9B492FB}" "AspNetVersion" = "8:4.0.30319.0" "RestartWWWService" = "11:FALSE" "RemovePreviousVersions" = "11:TRUE" "DetectNewerInstalledVersion" = "11:TRUE" "InstallAllUsers" = "11:FALSE" - "ProductVersion" = "8:1.0.7" + "ProductVersion" = "8:1.0.8" "Manufacturer" = "8:DW" "ARPHELPTELEPHONE" = "8:" "ARPHELPLINK" = "8:" @@ -1047,20 +1036,6 @@ } "MergeModule" { - "{CEE29DC0-9FBA-4B99-8D47-5BC643D9B626}:_0A948AEB88E843A79E449F2694CEAC4A" - { - "UseDynamicProperties" = "11:TRUE" - "IsDependency" = "11:TRUE" - "SourcePath" = "8:Microsoft_VC100_CRT_x64.msm" - "Properties" - { - } - "LanguageId" = "3:0" - "Exclude" = "11:FALSE" - "Folder" = "8:" - "Feature" = "8:" - "IsolateTo" = "8:" - } } "ProjectOutput" { @@ -1094,7 +1069,7 @@ } "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_8B9C059CECE541EF9F06C906252E106A" { - "SourcePath" = "8:..\\x64\\Release\\MT5Connector.dll" + "SourcePath" = "8:..\\Release\\MT5Connector.dll" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_6185AD4113574BCA9BE89DF5A396A60C" diff --git a/MtApi5Setup_x86/MtApi5Setup_x86.vdproj b/MtApi5Setup_x86/MtApi5Setup_x86.vdproj index 8abb48f7..7b3404c4 100755 --- a/MtApi5Setup_x86/MtApi5Setup_x86.vdproj +++ b/MtApi5Setup_x86/MtApi5Setup_x86.vdproj @@ -28,13 +28,13 @@ "Entry" { "MsmKey" = "8:_1894B11511EC28CA06BF342E1D467761" - "OwnerKey" = "8:_BC617CC9A43A49E8B6CDC49115E4A3BC" + "OwnerKey" = "8:_67B77AB154964269BD0C77F69052517C" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_1894B11511EC28CA06BF342E1D467761" - "OwnerKey" = "8:_67B77AB154964269BD0C77F69052517C" + "OwnerKey" = "8:_BC617CC9A43A49E8B6CDC49115E4A3BC" "MsmSig" = "8:_UNDEFINED" } "Entry" @@ -64,7 +64,7 @@ "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_1894B11511EC28CA06BF342E1D467761" + "OwnerKey" = "8:_67B77AB154964269BD0C77F69052517C" "MsmSig" = "8:_UNDEFINED" } "Entry" @@ -76,7 +76,7 @@ "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_67B77AB154964269BD0C77F69052517C" + "OwnerKey" = "8:_1894B11511EC28CA06BF342E1D467761" "MsmSig" = "8:_UNDEFINED" } } @@ -341,15 +341,15 @@ { "Name" = "8:Microsoft Visual Studio" "ProductName" = "8:MtApi5" - "ProductCode" = "8:{B374AA70-7936-4A44-AF48-ADF152634A97}" - "PackageCode" = "8:{8BA7181F-7E81-4114-B5AA-F0806596313B}" + "ProductCode" = "8:{4B2B9BEE-9FB1-4E27-9B5F-0C7DAE61A624}" + "PackageCode" = "8:{743CA117-4184-4A9C-B0F9-298A4D6925DB}" "UpgradeCode" = "8:{0D37B66D-F57F-4AF8-9AF5-B0EB060D60BE}" "AspNetVersion" = "8:4.0.30319.0" "RestartWWWService" = "11:FALSE" "RemovePreviousVersions" = "11:TRUE" "DetectNewerInstalledVersion" = "11:TRUE" "InstallAllUsers" = "11:FALSE" - "ProductVersion" = "8:1.0.7" + "ProductVersion" = "8:1.0.8" "Manufacturer" = "8:DW" "ARPHELPTELEPHONE" = "8:" "ARPHELPLINK" = "8:" diff --git a/mq5/MtApi5.ex5 b/mq5/MtApi5.ex5 index 0d29499a..9f778790 100755 Binary files a/mq5/MtApi5.ex5 and b/mq5/MtApi5.ex5 differ diff --git a/mq5/MtApi5.mq5 b/mq5/MtApi5.mq5 index 61e33855..2a81e870 100755 --- a/mq5/MtApi5.mq5 +++ b/mq5/MtApi5.mq5 @@ -2,6 +2,7 @@ #property link "" #include +#include #import "MT5Connector.dll" bool initExpert(int expertHandle, string connectionProfile, string symbol, double bid, double ask, string& err); @@ -1590,6 +1591,17 @@ int executeCommand() } } break; + + case 63: //OrderCloseAll + { + bool retVal; + + retVal = OrderCloseAll(); + + sendBooleanResponse(ExpertHandle, retVal); + } + break; + default: Print("Unknown command type = ", commandType); @@ -1704,4 +1716,15 @@ string ResultToString(bool retVal, datetime from, datetime to) , (int)to); return strResult; +} + +bool OrderCloseAll() +{ + CTrade trade; + int i = PositionsTotal()-1; + while (i >= 0) + { + if (trade.PositionClose(PositionGetSymbol(i))) i--; + } + return true; } \ No newline at end of file