Чтение реального объёма - страница 3

 
Evgeny Potapov:

Спасибо! Но это получается надо через все классы и функции тащить ссылку на этот массив или скопировать содержимое в глобальный массив и пользоваться?

Другого варианта достать поле биржевых объёмов нет?

Да, нужно (тащить ссылку..). Не вижу в этом ничего плохого. Обычная практика. Копирование в глобальный массив - плохая идея.
 
Evgeny Potapov:

Спасибо! Но это получается надо через все классы и функции тащить ссылку на этот массив или скопировать содержимое в глобальный массив и пользоваться?

Другого варианта достать поле биржевых объёмов нет?

Все данные бара можно получить с помощью функции CopyRates(), это будет работать и в советнике, и в индикаторе, и в скрипте.

MqlRates rates_array[];
CopyRates(NULL, PERIOD_CURRENT, 0, 10, rates_array);

Как-то так вы получите данные последних 10 баров. Объём последнего бара будет или в rates_array[9].tick_volume, или в rates_array[9].real_volume.

Но всёж лучше по возможности переделать логику индикатора на OnCalculate(), и брать значения из массивов параметров этого ивента.

 
Dr.Trader:

Все данные бара можно получить с помощью функции CopyRates(), это будет работать и в советнике, и в индикаторе, и в скрипте.

Как-то так вы получите данные последних 10 баров. Объём последнего бара будет или в rates_array[9].tick_volume, или в rates_array[9].real_volume.

Но всёж лучше по возможности переделать логику индикатора на OnCalculate(), и брать значения из массивов параметров этого ивента.

По-моему, самый универсальный способ, т. к. может быть использован в любом типе программы, а не только в индикаторе. Отличный вариант!
 
Меня как-то просили скидывать объемы по фьючерсам с Нинзи. В принципе, некоторый костыль. Еще есть volfix, но там платно.
Причина обращения: