Roger. Переменную deals надо передавать по ссылке.
Уважаемый Roger! Если Вам не трудно, внесите соответствующие изменения в пример, который я привел. Спасибо за Ваш отзыв.
в МТ4 есть SYMBOL_SESSION_DEALS ????
на МТ5 2014.04.22 15:52:49.491 test deals (GBPUSD,H1) GBPUSD deals_bool = true deals = 0 err = 0
long deals; bool deals_bool = SymbolInfoInteger( Symbol(), // символ SYMBOL_SESSION_DEALS, // идентификатор свойства deals& // сюда примем значение свойства ); int err = GetLastError(); Print (Symbol()," deals_bool = ",deals_bool," deals = ",deals," err = ",err);
К сожалению Ваш вариант я уже пробовал. Компилятор выдает кучу ошибок.
Возвращает соответствующее свойство указанного символа. Существует 2 варианта функции.
1. Непосредственно возвращает значение свойства.
long SymbolInfoInteger( |
2. Возвращает true или false в зависимости от успешности выполнения функции. В случае успеха значение свойства помещается в приемную переменную, передаваемую по ссылке последним параметром.
bool SymbolInfoInteger( |
и в 1-м и во 2-м случаях выдает ошибку. 4051.
Может эти функции нужно использовать через классы?
Спасибо за понимание. Жаль, что разработчик никак не отреагировал на эту важную тему.
Попробуйте скрипт кинуть на график, вроде работают но информации по некоторым идентификаторам нет
void OnStart() { Alert("Количество сделок в текущей сессии = ",SymbolInfoInteger(Symbol(),SYMBOL_SESSION_DEALS)); Alert("Общее число ордеров на покупку в текущий момент = ",SymbolInfoInteger(Symbol(),SYMBOL_SESSION_BUY_ORDERS)); Alert("Общее число ордеров на продажу в текущий момент = ",SymbolInfoInteger(Symbol(),SYMBOL_SESSION_SELL_ORDERS)); Alert("Volume - объем в последней сделке = ",SymbolInfoInteger(Symbol(),SYMBOL_VOLUME)); Alert("Максимальный Volume за день = ",SymbolInfoInteger(Symbol(),SYMBOL_VOLUMEHIGH)); Alert("Минимальный Volume за день = ",SymbolInfoInteger(Symbol(),SYMBOL_VOLUMELOW)); Alert("Время последней котировки = ",TimeToString(SymbolInfoInteger(Symbol(),SYMBOL_TIME),TIME_DATE|TIME_MINUTES|TIME_SECONDS)); Alert("Количество знаков после запятой = ",SymbolInfoInteger(Symbol(),SYMBOL_DIGITS)); Alert("Размер спреда в пунктах = ",SymbolInfoInteger(Symbol(),SYMBOL_SPREAD)); } //+------------------------------------------------------------------+
Уважаемый r772ra!
Спасибо за внимание к этой теме. Действительно, некоторая часть рыночной информации отображается, но именно то,
что хотелось бы получить с помощью указанных разработчиком функций, никак не удается!!!
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
В чем ошибка? Кто может подсказать?
long deals;
bool deals_bool = SymbolInfoInteger(Symbol(), // символ
SYMBOL_SESSION_DEALS, // идентификатор свойства
deals // сюда примем значение свойства
);
int err = GetLastError();
Print (Symbol()," deals_bool = ",deals_bool," deals = ",deals," err = ",err);
Выдает ошибку:
4051
ERR_INVALID_FUNCTION_PARAMVALUE
Недопустимое значение параметра функции