我想MQL5
在策略测试期间获得模拟账户的未平仓交易量。
PositionsTotal()
即使有未平仓交易,也总是OrdersTotal()
返回。0
此处建议的解决方案不起作用。
任何帮助将不胜感激。
根据https://mql5tutorial.com/mql5-tutorial-how-to-simply-count-positions-with-mql5/,您可以使用以下代码执行此操作
void OnTick()
{
int PositionForThisCurrencyPair = 0;
for (int i = PositionsTotal()-1; i>=0; i--)
{
string symbol = PositionGetSymbol(i);
if(Symbol() == symbol)
{
PositionForThisCurrencyPair+=1 ;
}
}
Comment("\n\n positions for this currency pair:",PositionForThisCurrencyPair);
}
运行从 Metaquotes 网站下载的 Metatrader 5 中的代码时出现问题。在外汇经纪商的 Metatrader 5 实例中运行相同的代码解决了这个问题。