Выпущен MetaTrader 4 Client Terminal build 600 с обновленным языком MQL4 и Маркетом приложений - страница 25

 
Из справки:
SymbolInfoInteger
...
Параметры

name

[in]  Имя символа.

prop_id

[in]  Идентификатор свойства символа. Значение может быть одним из значений перечисления ENUM_SYMBOL_INFO_INTEGER.

long_var

[out]  Переменная типа long, принимающая  значение запрашиваемого свойства.
...

Вопрос: а где найти значения перечисления ENUM_SYMBOL_INFO_INTEGER?

Поиск по справке показал только текущую статью.

Да и по прочим новым...


 
alexey_pak:

//--- Папка, в которой хранятся данные терминала
string terminal_data_path=TerminalInfoString(TERMINAL_DATA_PATH);
//--- Общая папка всех клиентских терминалов
string common_data_path=TerminalInfoString(TERMINAL_COMMONDATA_PATH);


Этот способ позволяет узнать путь из терминала. Вопрос же заключается в том, как узнать из стороннего ПО расположение каталога данных, например, из какого-то ключа реестра или ещё как-то, т.е. узнать расположение этого каталога без запуска терминала?

 
Сделали бы лучше возможность блокировки окна графика от изменения таймфрейма и валютной пары.
 
xoilja:

Этот способ позволяет узнать путь из терминала. Вопрос же заключается в том, как узнать из стороннего ПО расположение каталога данных, например, из какого-то ключа реестра или ещё как-то, т.е. узнать расположение этого каталога без запуска терминала?

С получением TERMINAL_COMMONDATA_PATH проблем совсем нет. С путём к TERMINAL_DATA_PATH придётся повозиться.

0. Проверяем на номер версии ОС и включён ли UAC.

1. Если версия ОС до Windows Vista или UAC отключён, то путь совпадает с путём инсталяции терминала.

2. Получаем список процессов.

3. Выбираем среди них наш.

4. Получаем или уже есть путь к исполняемому файлу.

5. Идём в каталог "C:\Users\Name\AppData\Roaming\MetaQuotes\Terminal".

6. Перечисляем все каталоги с хешированными именами.

7. Заглядываем в каждый каталог и читаем файл "origin.txt".

8. Сравниваем путь из файла с нашим путём к исполняемому файлу.

9. Если совпал, то это наш каталог.

 
Zhunko:

Поправил, конечно. Выложу скоро. Сами можете это сделать. Скопируйте функции с постфиксом "A" и вставте их рядом, с постфиксом "W".

Чтобы так было:

Все bool в сигнатурах должны быть теперь int или для наглядности объявите в каждом заголовочном файле такой макрос: Потом замените bool на BOOL.

Спасибо! Файл WinUser32.mqh - удалось поправить, но WinKernel32.mqh все еще выдает 12 предупреждений.

Файлы:
winkernel32.mqh  115 kb
 
Y.A.K._:
Из справки:

Вопрос: а где найти значения перечисления ENUM_SYMBOL_INFO_INTEGER?

Поиск по справке показал только текущую статью.

Да и по прочим новым...


В справке: Справочник MQL4 / Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала

или быстрее через поиск

Справку поправим

 

Как убрать текст в верхней части экрана (слева) с валютной парой? Раньше можно было снять галочку, а сейчас не понятно.


 
alexloz:


В справке: Справочник MQL4 / Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала

или быстрее через поиск

Справку поправим


Это не то перечисление.

Меня для функции SymbolInfoInteger интересует. Там в примере такие значения присутствуют, как SYMBOL_SPREAD_FLOAT,SYMBOL_SPREAD.

ENUM_TERMINAL_INFO_INTEGER - это не то перечисление, там таких значений нет.
 
#include <WinUser32.mqh>
#define VK_PAGEUP 0x21
#define VK_UP 0x26
#define VK_END  0x23
#define VK_HOME 0x24

В советнике компилятор выдает предупреждения: macro redefinition

А сам файл WinUser32 при этом компилируется без предупреждений.

Подскажите, в чем проблема?

Файлы:
winuser32.mqh  112 kb
 

Пропала вкладка Новости (включал/ выключал галочку в настройках - не помогло)

Ждал два дня появления первой новости ...устал спать хочу )))

билд 600