准确获取MT5当前图表k线数量

 

MT5 当前图表上的柱数取决于系统设置。使用无限选项的历史数据过多会导致指标计算时间过长。设置 1000 后,MQL5 没有获取当前图表上柱数的有效命令。下面的代码完美的解决了这个问题。

执行后,BarsTotal=历史数据总量,hs_rates[0].time=最近开盘时间,hs_rates[BarsTotal-1].time=最早开盘时间。这些数据会随着图表的刷新而改变。


 MqlRates     hs_rates[];
int BarsTotal= CopyRates ( NULL , PERIOD_CURRENT , 0 ,( int ) SeriesInfoInteger ( NULL , PERIOD_CURRENT , SERIES_BARS_COUNT ),hs_rates);
ArraySetAsSeries (hs_rates, true );