All,
How to close all opened positions in MQL5. Need your sample please
All,
How to close all opened positions in MQL5. Need your sample please
Try this conventional loop:
#include <trade/trade.mqh> void OnStart() { CTrade trade; int i=PositionsTotal()-1; while (i>=0) { if (trade.PositionClose(PositionGetSymbol(i))) i--; } }
Mql5 not Mql4
void CloseAll()
{
for (int i = PositionsTotal() - 1; i >= 0; i--) {
{
if (!trade.PositionClose(PositionGetSymbol(i))) {
Print(PositionGetSymbol(i), "PositionClose() failed. Return code=", trade.ResultRetcode(), ". Code description: ", trade.ResultRetcodeDescription());
}
else {
Print(PositionGetSymbol(i), "PositionClose() successful. Return code=", trade.ResultRetcode(), " (", trade.ResultRetcodeDescription(), ")");
}
}
}
}
Yeah the answer above should solve it. The idea is to select all open positions using PositionsTotal();
, loop over them, and close them one by one