如何在 MQL5 中获取未平仓交易量
How to get an amount of open trades in MQL5
我想在策略测试期间获取模拟账户中 MQL5
的未平仓交易量。
PositionsTotal()
和 OrdersTotal()
总是 return 0
即使有未平仓交易。
建议的解决方案 here 无效。
任何帮助将不胜感激。
当运行 从Metaquotes 网站下载Metatrader 5 中的代码时出现问题。 运行 来自外汇经纪商的 Metatrader 5 实例中的相同代码解决了该问题。
根据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);
}
我想在策略测试期间获取模拟账户中 MQL5
的未平仓交易量。
PositionsTotal()
和 OrdersTotal()
总是 return 0
即使有未平仓交易。
建议的解决方案 here 无效。
任何帮助将不胜感激。
当运行 从Metaquotes 网站下载Metatrader 5 中的代码时出现问题。 运行 来自外汇经纪商的 Metatrader 5 实例中的相同代码解决了该问题。
根据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);
}