Выпущена бета-версия MetaTrader 4 Build 555 с обновленным языком MQL4 и Маркетом приложений - страница 2
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Но теперь другой вопрос (для меня гораздо более важный): Можно ли как-то программно определить путь к папке данных, если известна папка установки терминала?
Да, пока ориентируйтесь на этот пример из документации MQL5 https://www.mql5.com/ru/docs/files
Из соображений безопасности в языке MQL5 строго контролируется работа с файлами. Файлы, с которыми проводятся файловые операции средствами языка MQL5, не могут находиться за пределами файловой "песочницы".
Существует два каталога (с подкаталогами), в которых могут располагаться рабочие файлы:
•папка_данных_терминала\MQL5\FILES\ (выберите для просмотра в терминале пункт меню "Файл"-"Открыть каталог данных");
•общая папка всех установленных на компьютере терминалов – обычно расположена в каталоге C:\Documents and Settings\All Users\Application Data\MetaQuotes\Terminal\Common\ .
Программным путем можно получить наименования этих каталогов с помощью функции TerminalInfoString(), используя перечисление ENUM_TERMINAL_INFO_STRING:
//--- Папка, в которой хранятся данные терминала
string terminal_data_path=TerminalInfoString(TERMINAL_DATA_PATH);
//--- Общая папка всех клиентских терминалов
string common_data_path=TerminalInfoString(TERMINAL_COMMONDATA_PATH);
Работа с файлами из других каталогов пресекается.
Да, пока ориентируйтесь на этот пример из документации MQL5 https://www.mql5.com/ru/docs/files
Исходя из этого можно утверждать, что помимо каталога данных для каждого терминала в отдельности (если их несколько), теперь для всех терминалов существует одна, общая для них папка, в которой можно хранить/использовать советниками общие для всех программ файлы? Если так, то удобненько.
Именно так
Да, пока ориентируйтесь на этот пример из документации MQL5 https://www.mql5.com/ru/docs/files
Благодарю за пример. Как это сделать из советника - ясно.
А можно ли получить эти пути вне терминала? Поясню, зачем это нужно. Для некоторых клиентов я делаю для советника инсталлятор. Он получает путь к папке установки терминала, а затем раскладывает всё по нужным папкам внутри неё. Сейчас это всё прекрасно работает.
Но в новых сборках не будет. Поскольку, как писалось выше, сейчас бесполезно класть что-либо в папку терминала, нужно знать путь к его папке данных. Вот я и хочу понять, как его получить...
В корне каждого каталога данных терминала также находится файл origin.txt, который содержит путь к папке установки терминала, к которой относятся эти данные. Это позволяет обратно сопоставить каждый каталог данных терминала с конкретным каталогом установки терминала, например, если у пользователя установлено несколько копий терминала MetaTrader 4.
Это замечательно. А есть ли столь же элегантный способ прямо сопоставить конкретный каталог установки терминала с его каталогом данных?
Win XP SP3 32-bit 3,5 Гб памяти, файл подкачки - по выбору системы (3,5 Гб сейчас)
При тесте стандартного советника Moving Average, со стандартными параметрами на 509 билде(альпари), по всем тикам, на М1 с даты 01.01.2000г до сегодняшней, создаётся файл EURUSD1_0.fxt размером 4,18 Гб
и тестирование проходит нормально до 2013.12.10 16:31:47 2001.08.08 09:50 Moving Average: stopped because of Stop Out, как и должно быть.
Если тот-же тест включить на на 556 билде(MetaQuotes) то
на М1 с даты 01.01.2000г до сегодняшней
2013.12.10 16:46:35.555 TestGenerator: no history data 'EURUSD1'
2013.12.10 16:46:35.555 Memory handler: cannot allocate 299950380 bytes of memory
на М1 с даты 01.01.2005г до сегодняшней (с даты 01.01.2006 этот тест работает)
2013.12.10 17:13:40.273 TestGenerator: no history data 'EURUSD1'
2013.12.10 17:13:40.273 Memory handler: cannot allocate 191881320 bytes of memory
Проверил тот-же тест на на 556 билде(MetaQuotes) с даты 01.01.2000г до сегодняшней в Windows 7 SP1 64-bit 8 Гб памяти, создаётся файл EURUSD1_0.fxt размером 4,49 Гб и тестирование проходит нормально до
18:05:44 2000.10.30 01:51 Tester: not enough money for sell 0.10 EURUSD at 0.84040 sl: 0.00000 tp: 0.00000 [2000.10.30 01:51]
18:05:44 2000.10.30 01:51 Tester: PrevBalance: 82.02, PrevPL: 0.00, PrevEquity 82.02, PrevMargin: 0.00, NewMargin: 84, FreeMargin: -2.03
18:05:44 2000.10.30 01:51 Moving Average EURUSD,M1: OrderSend error 134
В старой версии МКЛ были шаблоны для программ (.mqt, лежали в папке experts\temlates), которые можно было отредактировать под себя. В новой версии не могу их найти. Теперь в МетаЕдиторе нет возможности использовать шаблоны?
Win XP SP3 32-bit 3,5 Гб памяти, файл подкачки - по выбору системы (3,5 Гб сейчас)
При тесте стандартного советника Moving Average, со стандартными параметрами на 509 билде(альпари), по всем тикам, на М1 с даты 01.01.2000г до сегодняшней, создаётся файл EURUSD1_0.fxt размером 4,18 Гб
и тестирование проходит нормально до 2013.12.10 16:31:47 2001.08.08 09:50 Moving Average: stopped because of Stop Out, как и должно быть.
Если тот-же тест включить на на 556 билде(MetaQuotes) то
на М1 с даты 01.01.2000г до сегодняшней
на М1 с даты 01.01.2005г до сегодняшней (с даты 01.01.2006 этот тест работает)
Проверил тот-же тест на на 556 билде(MetaQuotes) с даты 01.01.2000г до сегодняшней в Windows 7 SP1 64-bit 8 Гб памяти, создаётся файл EURUSD1_0.fxt размером 4,49 Гб и тестирование проходит нормально до
1. Лог тестирования приложите пожалуйста - сюда или в отдельнном инциденте в Сервисдеске.
2. Пожалуйста, точное название сервера укажите (Tools->Options->Server->Server)
нет
А зачем тогда сделали возможность использования Стилизатора под один стандарт? Ведь многие оформляют код не так как встроенный Стилизатор это делает. Многие оформляют так:
при чем это не просто многие, а большинство. Где можно исправить стилистику оформления кода Стилизатора?
при чем это не просто многие, а большинство.
Это неправда. Но шаблоны все равно зря убрали, они были удобны.