Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Они уже зарабатывают с помощью сервиса Фриланс. Зарабатывай и ты!
Valeriy Medvedev
9308
Valeriy Medvedev 2014.04.16 13:00 

В чем ошибка? Кто может подсказать?

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

Недопустимое значение параметра функции

Alexander
2441
Alexander 2014.04.19 16:04  
Переменную deals надо передавать по ссылке.
Valeriy Medvedev
9308
Valeriy Medvedev 2014.04.22 11:53  

Roger. Переменную deals надо передавать по ссылке.

Уважаемый Roger! Если Вам не трудно, внесите соответствующие изменения в пример, который я привел. Спасибо за Ваш отзыв.

pako
3342
pako 2014.04.22 13:37  

в МТ4 есть SYMBOL_SESSION_DEALS ????

на МТ5 2014.04.22 15:52:49.491 test deals (GBPUSD,H1) GBPUSD deals_bool = true deals = 0 err = 0

Alexander
2441
Alexander 2014.04.23 05:36  
long deals;
 bool deals_bool = SymbolInfoInteger(
 Symbol(), // символ
 SYMBOL_SESSION_DEALS, // идентификатор свойства
 deals& // сюда примем значение свойства
 );
 int err = GetLastError();

Print (Symbol()," deals_bool = ",deals_bool," deals = ",deals," err = ",err);
Valeriy Medvedev
9308
Valeriy Medvedev 2014.04.23 09:08  

К сожалению Ваш вариант я уже пробовал. Компилятор выдает кучу ошибок.

SymbolInfoInteger

Возвращает соответствующее свойство указанного символа. Существует 2 варианта функции.

1. Непосредственно возвращает значение свойства.

long SymbolInfoInteger(
string name, // символ
ENUM_SYMBOL_INFO_INTEGER prop_id // идентификатор свойства
);

2. Возвращает true или false в зависимости от успешности выполнения функции. В случае успеха значение свойства помещается в приемную переменную, передаваемую по ссылке последним параметром.

bool SymbolInfoInteger(
string name, // символ
ENUM_SYMBOL_INFO_INTEGER prop_id, // идентификатор свойства
long& long_var // сюда примем значение свойства
);

и в 1-м и во 2-м случаях выдает ошибку. 4051.

Может эти функции нужно использовать через классы?

Alexander
2441
Alexander 2014.04.24 00:41  
Я был не прав, у Вас все было правильно. Проверил, да, некоторые функции не работают в четверке.
Valeriy Medvedev
9308
Valeriy Medvedev 2014.04.24 04:04  
Спасибо за понимание. Жаль, что разработчик никак не отреагировал на эту важную тему.
Alekseu Fedotov
730
Alekseu Fedotov 2014.04.24 04:35  
ich_hub:
Спасибо за понимание. Жаль, что разработчик никак не отреагировал на эту важную тему.

Попробуйте скрипт кинуть на график, вроде работают но информации по некоторым идентификаторам нет

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)); 
  }
//+------------------------------------------------------------------+
Valeriy Medvedev
9308
Valeriy Medvedev 2014.04.26 13:17  

Уважаемый r772ra!

Спасибо за внимание к этой теме. Действительно, некоторая часть рыночной информации отображается, но именно то,

что хотелось бы получить с помощью указанных разработчиком функций, никак не удается!!!

/
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий