Бета-версия обновленной платформы MetaTrader 5 выйдет 29 ноября 2019 г. Мы приглашаем всех трейдеров присоединиться к тестированию новой платформы, чтобы оценить все ее возможности и помочь разработчикам исправить ошибки.
Чтобы обновить платформу MetaTrader 5 до сборки 2245, перейдите в раздел Помощь \ Проверить обновления рабочего стола \ Последняя бета-версия:
Финальная версия новой сборки платформы MetaTrader 5 будет выпущена после публичного бета-тестирования.
В новой версии представлены следующие изменения:
Терминал: В Market Watch стало доступно больше столбцов. В основном разделе теперь имеется 40 дополнительных параметров символа, которые ранее были доступны только на вкладке Подробности.
Терминал: Добавлена подсветка текущего подключенного счета и текущего сервера в Навигаторе. Функция будет полезна, если у вас несколько счетов у разных брокеров.
Терминал: Обновлен дизайн фреймов для графиков. Рамки стали меньше, поэтому теперь больше места отводится для полезной информации.
Терминал: Изменен алгоритм расчета итогов торговли при отображении истории торговли в виде позиций. Теперь значения рассчитываются на основе фактических записей.
Для отображения истории торговли в виде позиций терминал использует информацию о сделках, совершенных за запрашиваемый период. В истории будут показаны только позиции, закрытые в течение этого периода. Если позиция все еще открыта или время ее закрытия не попадает в выбранный интервал, она не будет отображаться в истории. Поэтому общая прибыль и комиссия в режиме "позиции" может отличаться от прибыли и комиссии в режиме истории "ордера/сделки".
Например, вы просматриваете историю за прошлую неделю. За этот период было совершено 100 сделок, 98 из которых открыли и закрыли 20 позиций. Последние две сделки открыли новые позиции, которые не были закрыты до сих пор. В этом случае история сделок содержит 100 записей и соответствующие суммарные значения, рассчитанные на основе этих сделок. При просмотре истории в виде позиций вы увидите 20 записей, собранных на основе 98 сделок. Только эти данные будут учтены при расчете итоговых значений. Если брокер взимает комиссию за входную сделку, итоговое значение комиссии в истории сделок будет отличаться от комиссии, показанной в истории позиций, поскольку в последнем случае две последние сделки будут проигнорированы.
Терминал: Реализован более быстрый запуск MQL5-программ.
Терминал: В установочный файл терминала добавлен новый ключ /beta, который позволяет загрузить бета-версию. В обычном режиме сначала должна быть установлена релизная версия, которая затем может быть обновлена до бета-версии. Пропустив этот шаг, вы сможете сэкономить время и трафик. Пример запуска установки:
C:\mt5setup.exe /beta
Терминал: Исправлено отображение маржинальных требований для инструментов с типом "Биржевые акции".
Терминал: Ускоренная работа всех компонентов платформы за счет использования компилятора Clang/LLVM. В некоторых случаях компиляция выполняется на 20% быстрее.
MQL5: Добавлены новые функции DirectX 11 и шейдеры для 3D-визуализации. Теперь мощная трехмерная графика может быть создана прямо в MQL5.
Новый класс CCanvas3D является расширением класса пользовательской графики CCanvas. Он доступен в каталоге \MQL5\Include\Canvas\. Класс содержит функции для рендеринга трехмерных объектов через DirectX API.
Создать - создает сцену.
Прикрепить - привязывает сцену к графику.
Уничтожить - уничтожает сцену.
ObjectAdd - добавляет к сцене объект-потомок, унаследованный от базового класса CDXObject.
Render - полный цикл рендеринга, с очисткой буфера и рендерингом всех CDXObject, добавленных через метод ObjectAdd.
RenderBegin - начинает рендеринг сцены, заполняет буфер рендеринга указанным цветом (если установлен флаг DX_CLEAR_COLOR) и буферы глубины (при использовании DX_CLEAR_DEPTH), а также устанавливает буфер сцены DXInputScene для шейдеров по умолчанию.
RenderEnd - завершает рендеринг сцены и получает результат во внутренний буфер. Если redraw==true, выводит изображение на график, на котором запущена сцена.
ViewMatrixGet - получает матрицу вида.
ViewMatrixSet - устанавливает матрицу представления. Матрица не совместима с методами ViewPositionSet, ViewRotationSet, ViewTargetSet и ViewUpDirectionsSet.
ViewTargetSet - задает точку, на которую направлена камера. Вместе с ViewUpDirectionsSet является альтернативой ViewRotationSet.
ViewUpDirectionsSet - задает вертикальное положение камеры. Вместе с ViewTargetSet является альтернативой ViewRotationSet.
ProjectionMatrixGet - получение матрицы проекции.
ProjectionMatrixSet - установка матрицы проекции.
Подробная документация по новой библиотеке будет опубликована в ближайшее время.
Новые примеры использования функций доступны в разделе \MQL5\Experts\Examples\:
CorrelationMatrix3D
DemoMorphMath3D
Скомпилируйте их и запустите на графике, чтобы увидеть возможности 3D-визуализации в MQL5.
MQL5: Добавлена поддержка операций с базами данных SQLite непосредственно из MQL5. Подключение к базам данных и выполнение SQL-запросов теперь можно реализовать с помощью функций MQL5. Внутренняя операция реализуется новым расширением стандартной библиотеки.
Доступны следующие функции:
//--- opening and closing the databaseint DatabaseOpen(string filename,UINT flags);
void DatabaseClose(int database);
//--- working with tablesbool DatabaseTableExists(int database,string table_name);
//--- preparing an SQL queryint DatabasePrepare(int database,string sql,...);
void DatabaseFinalize(int request);
//--- reading a query result without/with binding to MQL5 structureint DatabaseRead(int request);
int DatabaseReadBind(int request,struct or var);
//--- extracting data from query results to different data typesint DatabaseGetColumnCount(int request);
int DatabaseGetColumnSize(int request,int column);
int DatabaseGetColumnType(int request,int column);
int DatabaseGetColumnText(int request,int column,string &value);
int DatabaseGetColumnInteger(int request,int column,int &value);
int DatabaseGetColumnLong(int request,int column,long &value);
int DatabaseGetColumnDouble(int request,int column,double &value);
int DatabaseGetColumnBlob(int request,int column,void &data[]);
//--- working with transactionsint DatabaseExecute(int db_id,string request);
int DatabaseBeginTransaction(int db_id);
int DatabaseCommitTransaction(int db_id);
int DatabaseRollbackTransaction(int db_id);
MQL5: Добавлено новое свойство MQL5-программ, позволяющее выбрать метод визуализации по умолчанию.
#property optimization_chart_mode "3d,InpX,InpY"
Свойство позволяет установить вид графика, который открывается по окончании оптимизации, а также параметры программы для осей X и Y.
Свойство устанавливает только вид графика по умолчанию. Его можно изменить вручную в любое время, используя контекстное меню.
MQL5: Новая функция MathArctan2. Возвращает значение радиана угла, тангенс которого равен отношению двух указанных чисел.
double MathArctan2(
double y // the y coordinate of the pointdouble x // the x coordinate of the point
);
MQL5: Проведена общая оптимизация программ для повышения производительности и снижения потребления ресурсов.
MQL5: Добавлены примеры математических расчетов, которые могут быть выполнены в тестере стратегий. Они доступны в каталоге \MQL5\Experts\Examples\Math 3D\.
MQL5: Добавлена загрузка связанных библиотек при использовании библиотек .NET в MQL5-программах. Если используемая библиотека .NET требует для работы другие библиотеки, компилятор попытается автоматически загрузить необходимые библиотеки из \MQL5\Libraries.
MQL5: Исправлены операции со временем в модуле MetaTrader для интеграции с Python. Теперь все выходные данные используют время торгового сервера, к которому подключен терминал.
Тестер: Множество новых функций и улучшений:
Пользовательские настройки для финансовых инструментов Теперь вы можете изменять настройки основного торгового инструмента, с помощью которого проводится тестирование/оптимизация. Переписать можно практически все параметры спецификации: объемы, режимы торговли, маржинальные требования, режим исполнения и другие настройки. Таким образом, если вам необходимо проверить советник в разных условиях, нет необходимости создавать отдельный пользовательский символ и загружать его историю. Это можно сделать, изменив стандартные настройки символа.
Если спецификация символа настроена, значок шестеренки и значок символа помечены звездочкой. Это показывает, что для текущего теста используются пользовательские параметры.
Последние настройки/эксперты/графики Используйте новые команды контекстного меню для быстрого тестирования или настройки оптимизации. Выберите последние использованные настройки тестера, последние графики или приложения:
MetaEditor: Добавлена возможность компиляции C/C++ и Python проектов непосредственно из MetaEditor. Теперь мультиязычными проектами можно управлять с помощью встроенного редактора.
Если на вашем компьютере установлены соответствующие компиляторы, MetaEditor обнаружит их и добавит в настройки. По желанию вы можете указать пути к необходимым компонентам на вкладке Компиляторы. На этой же вкладке вы можете загрузить компоненты, нажав Install рядом с соответствующим полем.
После этого вы можете компилировать проекты на C/C++ и Python аналогично MQL5-программам.
MetaEditor: Добавлена поддержка подпроектов внутри каталога Shared Projects, предназначенного для совместной разработки проектов через MQL5 Storage. Ранее на верхнем уровне можно было создавать только одиночные проекты.
MetaEditor: Обновление встроенного отладчика.
MetaEditor: Исправлено добавление заголовка функции при использовании стиллера кода.
MetaEditor: Команды "Перейти к предыдущей/следующей позиции курсора" теперь доступны не только в меню Вид, но и на панели инструментов.
MetaEditor: В именах проектов теперь можно использовать пробелы.
Android: Добавлена возможность быстрого перехода на страницы ввода/вывода средств на сайте брокера.
Теперь нет необходимости искать соответствующие функции в кабинете трейдера на сайте брокера. Команды быстрой навигации доступны непосредственно в терминалах: пользователи могут переходить на страницы пополнения счета и вывода средств из разделов "Счета" и "Торговля":
Операции ввода/вывода средств доступны только в том случае, если для торгового счета на стороне брокера включены соответствующие функции.
Торговый терминал не выполняет никаких операций по пополнению/выводу средств со счета. Встроенные функции перенаправляют пользователя на соответствующие страницы сайта брокера.
Android: Позиции в истории теперь сортируются по дате закрытия.
Android: Добавлена маркировка позиций, закрытых по Stop Loss или Take Profit, красной и зеленой вертикальными линиями в разделе истории.
Категория - свойство используется для дополнительной маркировки финансовых инструментов. Например, это может быть сектор рынка, к которому принадлежит инструмент: Сельское хозяйство, Нефть и газ и другие. Категория отображается только в том случае, если соответствующая информация предоставлена брокером.
Биржа - название биржи, на которой торгуется ценная бумага. Категория отображается только в том случае, если соответствующая информация предоставлена брокером.
Android: Добавлена индикация состояния Margin Call в торговом разделе. При возникновении этого состояния параметры Margin, Free Margin и Margin Level отображаются красным цветом.
Android: Исправлено отображение кнопки открытия раздела ОТР на планшетах.
Android: Другие исправления и улучшения.
iPhone/iPad: Добавлена возможность быстрого перехода на страницы пополнения/вывода средств на сайте брокера. Более подробную информацию вы можете найти в списке "Что нового в MetaTrader 5 для Android".
iPhone/iPad: Добавлена поддержка темного режима для iOS/iPadOS.
Базы могут храниться как на диске, так и только в памяти с помощью флага DATABASE_OPEN_MEMORY. Обертывание массивных вставок / изменений в транзакцию DatabaseTransactionBegin / Commit / Rollback ускоряет операции в сотни раз.
Поскольку мы максимально сфокусированы на производительности, вот результаты тестов LLVM 9.0.0 против MQL5. Время в миллисекундах, чем меньше, тем лучше:
Windows 10 x64, Intel Xeon E5-2690 v3 @ 2.60GHz
LLVM MQL5
---------------------------------------------------------------------------------
Test 1: 1000 INSERTs: 11572 8488
Test 2: 25000 INSERTs in a transaction: 59 60
Test 3: 25000 INSERTs into an indexed table: 102 105
Test 4: 100 SELECTs without an index: 142 150
Test 5: 100 SELECTs on a string comparison: 391 390
Test 6: Creating an index: 43 33
Test 7: 5000 SELECTs with an index: 385 307
Test 8: 1000 UPDATEs without an index: 58 54
Test 9: 25000 UPDATEs with an index: 161 165
Test 10: 25000 text UPDATEs with an index: 124 120
Test 11: INSERTs from a SELECT: 84 84
Test 12: DELETE without an index: 25 74
Test 13: DELETE with an index: 70 72
Test 14: A big INSERT after a big DELETE: 62 66
Test 15: A big DELETE followed by many small INSERTs: 33 33
Test 16: DROP TABLE: finished. 42 40
Скорость на MQL5 абсолютно такая же, как на родном C++ с одним из лучших компиляторов. Пакет бенчмарков для воспроизведения прилагается.
Также мы реализовали уникальную функцию DatabaseReadBind, которая позволяет читать записи непосредственно в структуру, что упрощает и ускоряет массовые операции.
Вот простой пример:
struct Person
{
int id;
string name;
int age;
string address;
double salary;
};
//+------------------------------------------------------------------+//| Test |//+------------------------------------------------------------------+bool TestDB( string filename, int flags)
{
int db;
//--- open
db=DatabaseOpen(filename,flags);
if (db== INVALID_HANDLE )
{
Print ( "DB: " ,filename, " open failed with code " , GetLastError ());
return ( false );
}
//--- create a tableif (!DatabaseTableExists(db, "COMPANY" ))
if (!DatabaseExecute(db, "CREATE TABLE COMPANY(""ID INT PRIMARY KEY NOT NULL,""NAME TEXT NOT NULL,""AGE INT NOT NULL,""ADDRESS CHAR(50),""SALARY REAL );" ))
{
Print ( "DB: " ,filename, " create table failed with code " , GetLastError ());
DatabaseClose(db);
return ( false );
}
//--- insert dataif (!DatabaseExecute(db, "INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Paul', 32, 'California', 20000.00 ); ""INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (2, 'Allen', 25, 'Texas', 15000.00 ); ""INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (3, 'Teddy', 23, 'Norway', 20000.00 );""INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY) VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00 );" ))
{
Print ( "DB: " ,filename, " insert failed with code " , GetLastError ());
DatabaseClose(db);
return ( false );
}
//--- prepare the requestint request=DatabasePrepare(db, "SELECT * FROM COMPANY WHERE SALARY>15000" );
if (request== INVALID_HANDLE )
{
Print ( "DB: " ,filename, " request failed with code " , GetLastError ());
DatabaseClose(db);
return ( false );
}
//--- выводим записи
Person person;
for ( int i= 0 ; DatabaseReadBind(request,person); i++)
Print (i, ": " ,person.id, " " , person.name, " " ,person.age, " " ,person.address, " " ,person.salary);
Print ( "" );
//--- close all
DatabaseFinalize(request);
DatabaseClose(db);
return ( true );
}
//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart ()
{
TestDB( "test.sqlite" ,DATABASE_OPEN_READWRITE | DATABASE_OPEN_CREATE |DATABASE_OPEN_COMMON);
}
Output:
0 : 1 Paul 32 California 20000.01 : 3 Teddy 23 Norway 20000.02 : 4 Mark 25 Rich-Mond 65000.0
Обновление платформы MetaTrader 5 будет выпущено в пятницу, 13 декабря 2019 года. Обновление содержит важные дополнения и исправления, основанные на отзывах, которые мы получили после предыдущего обновления MetaTrader 5 build 2265:
Терминал: Исправлена ошибка, из-за которой невозможно было удалить советник с графика, не имеющего данных.
Терминал: Исправлено отображение заголовка графика под Wine.
MQL5: Улучшена скорость загрузки и компиляции MQL5-программ.
MQL5: Двойной клик на графике теперь передается в MQL5-программу как событие одинарного клика. Ранее такие события не обрабатывались.
Тестер: Исправлена ошибка, из-за которой символ тестирования в настройках был пустым. Ошибка могла возникать при переключении между торговыми счетами с разными наборами торговых инструментов. Новое поведение: если ранее выбранный символ не найден на текущем подключенном торговом счете, вместо него автоматически выбирается первый доступный символ в Market Watch.
MetaEditor: Исправлена загрузка значка приложения при повторном открытии свойств проекта.
В первой части цикла статей мы проанализировали паттерны Merrill и применили их к различным массивам данных, таким как цена и ценовые осцилляторы ATR, CCI и WPR, среди прочих. Целью статьи было изучить и оценить перспективы использования указанных паттернов на форекс и других рынках. Вторая часть была посвящена созданию конструктора стратегий для сборки простых стратегий с использованием рассмотренных ранее паттернов. В третьей части мы расширим функционал создания и тестирования стратегий. Будет добавлена возможность работы не только с пунктами, но и с лотами, а также функционал для просмотра результатов тестирования.
In the first part of the article series, we analyzed Merrill patterns and applied them to different data arrays, such as the price and price-based oscillators ATR, CCI and WPR, among others. The purpose of the article was to explore and evaluate the prospects of using the specified patterns on forex and other markets. The second part was...
This article features a description of the proposed statistical method for detecting seasonal patterns in financial time series. The market may have monthly season cycles, as well as intraday cycles depending on the month. The hourly analysis has shown that with a certain smoothing period (for example, a moving average), you can find certain cycles both inside sessions and when moving from one trading session to another.
Одним из преимуществ подхода является возможность работы со специфическими рыночными паттернами и отсутствие чрезмерной оптимизации (parameter overfitting), а значит, торговая система может быть высокостабильной.
Что касается недостатков, то процесс поиска сезонных паттернов непрост и предполагает работу с различными комбинациями и циклами.
Анализ проводился для валютной пары EURUSD, с временным интервалом 10 лет. Исходные коды Python прилагаются в конце статьи в формате .ipynb (Jupyter notebook). Вы можете провести аналогичное исследование для любого желаемого финансового инструмента, используя прилагаемую библиотеку, и применить полученные результаты для создания собственной торговой системы или улучшения существующей.
In 2013, Eugene Fama, who developed efficient market hypothesis, won the Nobel Prize in Economics. According to his hypothesis, asset prices fully reflect all substantial information. This means that none of the market participants has advantages over others. However, the hypothesis itself has some reservations, while the efficiency can have...
За последний год база пользователей виртуального хостинга платформы MetaTrader значительно выросла. В связи с этим мы существенно инвестировали в развитие всей инфраструктуры сервиса и значительно расширили сеть дата-центров.
Новая точка хостинга в Сан-Паулу стала последним дополнением к пулу точек, дополнив центры во Франкфурте, Лондоне, Нью-Йорке, Гонконге, Сингапуре, Москве и Амстердаме. Мы разместили его в том же центре обработки данных, где располагается фондовая биржа B3 (бывшая BM&F Bovespa) и крупнейшие бразильские брокеры. Близкое физическое соседство с мировыми финансовыми центрами позволяет трейдерам арендовать виртуальную копию платформы с наименьшим пингом до брокерских серверов в любой точке мира.
Побочным эффектом модернизации сервиса является необходимость повышения цен на VPS. В настоящее время минимальная цена аренды сервера на 1 месяц начинается от 15 долларов США. За эту цену трейдеры получают до 3 Гб оперативной памяти, до 16 Гб дискового пространства, несколько ядер процессора и минимальную сетевую задержку до брокера.
План обслуживания
Цена, USD
Цена хостинга в месяц, USD
Бесплатно (24 часа)
0
-
Подписка на 1 месяц
15
15
Подписка на 3 месяца
42
14
6 месяцев подписки
79
13
12 месяцев подписки
153
12.8
Нативный VPS-сервис от MetaQuotes отличается от обычных VPS-решений тем, что он был специально разработан для размещения торговых терминалов и поэтому доступен непосредственно в платформах MetaTrader. Десятки тысяч трейдеров уже пользуются виртуальным хостингом MetaTrader, не беспокоясь о скорости интернет-соединения, сбоях в работе ПК или перебоях в электроснабжении.
Новые пользователи получают 24 часа бесплатного обслуживания - протестируйте VPS прямо сейчас.
Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий
Новая бета-версия платформы MetaTrader 5 build 2245: Функции DirectX для 3D-визуализации в MQL5 и настройки символов в Strategy Tester
MetaQuotes Software Corp., 2019.11.29 13:41
Бета-версия обновленной платформы MetaTrader 5 выйдет 29 ноября 2019 г. Мы приглашаем всех трейдеров присоединиться к тестированию новой платформы, чтобы оценить все ее возможности и помочь разработчикам исправить ошибки.
Чтобы обновить платформу MetaTrader 5 до сборки 2245, перейдите в раздел Помощь \ Проверить обновления рабочего стола \ Последняя бета-версия:
Финальная версия новой сборки платформы MetaTrader 5 будет выпущена после публичного бета-тестирования.
В новой версии представлены следующие изменения:
Для отображения истории торговли в виде позиций терминал использует информацию о сделках, совершенных за запрашиваемый период. В истории будут показаны только позиции, закрытые в течение этого периода. Если позиция все еще открыта или время ее закрытия не попадает в выбранный интервал, она не будет отображаться в истории. Поэтому общая прибыль и комиссия в режиме "позиции" может отличаться от прибыли и комиссии в режиме истории "ордера/сделки".
Например, вы просматриваете историю за прошлую неделю. За этот период было совершено 100 сделок, 98 из которых открыли и закрыли 20 позиций. Последние две сделки открыли новые позиции, которые не были закрыты до сих пор. В этом случае история сделок содержит 100 записей и соответствующие суммарные значения, рассчитанные на основе этих сделок. При просмотре истории в виде позиций вы увидите 20 записей, собранных на основе 98 сделок. Только эти данные будут учтены при расчете итоговых значений. Если брокер взимает комиссию за входную сделку, итоговое значение комиссии в истории сделок будет отличаться от комиссии, показанной в истории позиций, поскольку в последнем случае две последние сделки будут проигнорированы.
Новый класс CCanvas3D является расширением класса пользовательской графики CCanvas. Он доступен в каталоге \MQL5\Include\Canvas\. Класс содержит функции для рендеринга трехмерных объектов через DirectX API.
Подробная документация по новой библиотеке будет опубликована в ближайшее время.
Новые примеры использования функций доступны в разделе \MQL5\Experts\Examples\:
Скомпилируйте их и запустите на графике, чтобы увидеть возможности 3D-визуализации в MQL5.
Доступны следующие функции:
Свойство позволяет установить вид графика, который открывается по окончании оптимизации, а также параметры программы для осей X и Y.
Свойство устанавливает только вид графика по умолчанию. Его можно изменить вручную в любое время, используя контекстное меню.
Пользовательские настройки для финансовых инструментов
Теперь вы можете изменять настройки основного торгового инструмента, с помощью которого проводится тестирование/оптимизация. Переписать можно практически все параметры спецификации: объемы, режимы торговли, маржинальные требования, режим исполнения и другие настройки. Таким образом, если вам необходимо проверить советник в разных условиях, нет необходимости создавать отдельный пользовательский символ и загружать его историю. Это можно сделать, изменив стандартные настройки символа.

Если спецификация символа настроена, значок шестеренки и значок символа помечены звездочкой. Это показывает, что для текущего теста используются пользовательские параметры.Последние настройки/эксперты/графики
Используйте новые команды контекстного меню для быстрого тестирования или настройки оптимизации. Выберите последние использованные настройки тестера, последние графики или приложения:
Если на вашем компьютере установлены соответствующие компиляторы, MetaEditor обнаружит их и добавит в настройки. По желанию вы можете указать пути к необходимым компонентам на вкладке Компиляторы. На этой же вкладке вы можете загрузить компоненты, нажав Install рядом с соответствующим полем.

После этого вы можете компилировать проекты на C/C++ и Python аналогично MQL5-программам.Теперь нет необходимости искать соответствующие функции в кабинете трейдера на сайте брокера. Команды быстрой навигации доступны непосредственно в терминалах: пользователи могут переходить на страницы пополнения счета и вывода средств из разделов "Счета" и "Торговля":
Обновление будет доступно через систему Live Update.
Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий
SQLite в MQL5: Новые возможности и тестирование производительности
Ренат Фатхуллин, 2019.12.07 09:24
В билде 2265 реализованы штатные функции для работы с базами данных на базе SQLite 3.30.1:
Поскольку мы максимально сфокусированы на производительности, вот результаты тестов LLVM 9.0.0 против MQL5. Время в миллисекундах, чем меньше, тем лучше:Базы могут храниться как на диске, так и только в памяти с помощью флага DATABASE_OPEN_MEMORY . Обертывание массивных вставок / изменений в транзакцию DatabaseTransactionBegin / Commit / Rollback ускоряет операции в сотни раз.
Windows 10 x64, Intel Xeon E5-2690 v3 @ 2.60GHz LLVM MQL5 --------------------------------------------------------------------------------- Test 1: 1000 INSERTs: 11572 8488 Test 2: 25000 INSERTs in a transaction: 59 60 Test 3: 25000 INSERTs into an indexed table: 102 105 Test 4: 100 SELECTs without an index: 142 150 Test 5: 100 SELECTs on a string comparison: 391 390 Test 6: Creating an index: 43 33 Test 7: 5000 SELECTs with an index: 385 307 Test 8: 1000 UPDATEs without an index: 58 54 Test 9: 25000 UPDATEs with an index: 161 165 Test 10: 25000 text UPDATEs with an index: 124 120 Test 11: INSERTs from a SELECT: 84 84 Test 12: DELETE without an index: 25 74 Test 13: DELETE with an index: 70 72 Test 14: A big INSERT after a big DELETE: 62 66 Test 15: A big DELETE followed by many small INSERTs: 33 33 Test 16: DROP TABLE: finished. 42 40Скорость на MQL5 абсолютно такая же, как на родном C++ с одним из лучших компиляторов. Пакет бенчмарков для воспроизведения прилагается.
Также мы реализовали уникальную функцию DatabaseReadBind, которая позволяет читать записи непосредственно в структуру, что упрощает и ускоряет массовые операции.
Вот простой пример:
Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий
Новая версия платформы MetaTrader 5 build 2265: Функции DirectX для 3D-визуализации на MQL5 и настройка инструментов в тестере стратегий
Ренат Фатхуллин, 2019.12.07 08:28
Посмотрите на новые функции 3D-графики с примерами в релизе 2265:
И набор функций для работы с базами данных SQLite.
Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий
Некоторые инструменты не работают с новым билдом 2265 MT5 - как исправить?
Айтуган Хафизов, 2019.12.09 17:30
Мы выпустили бета-версию терминала MT5 с исправлением проблем с ticksize и StringTrim.
Пожалуйста, откройте демо-счет на сервере MetaQuotes-Demo, чтобы скачать обновление.
И предоставьте нам обратную связь.
Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий
Новая платформа MetaTrader 5 Build 2280
MetaQuotes Software Corp., 2019.12.12 15:54
Обновление платформы MetaTrader 5 будет выпущено в пятницу, 13 декабря 2019 года. Обновление содержит важные дополнения и исправления, основанные на отзывах, которые мы получили после предыдущего обновления MetaTrader 5 build 2265:
Обновление будет доступно через систему Live Update.
OpenCL
Форум
CodeBase
Статьи
Блоги
Документация
Рынок
Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий
SQLite в MQL5: Новые возможности и тестирование производительности
Рашид Умаров, 2019.12.17.17: 01
Добавлены примеры работы с функциями - привожу в порядке усложнения:
Расширение функциональности конструктора стратегий - статья
- Введение
- Обзор дополнений
- Этапы внедрения новой функции
- Тестирование и демонстрация построителя стратегий
- Заключение
ВведениеВ первой части цикла статей мы проанализировали паттерны Merrill и применили их к различным массивам данных, таким как цена и ценовые осцилляторы ATR, CCI и WPR, среди прочих. Целью статьи было изучить и оценить перспективы использования указанных паттернов на форекс и других рынках. Вторая часть была посвящена созданию конструктора стратегий для сборки простых стратегий с использованием рассмотренных ранее паттернов. В третьей части мы расширим функционал создания и тестирования стратегий. Будет добавлена возможность работы не только с пунктами, но и с лотами, а также функционал для просмотра результатов тестирования.
Это очень интересная статья -
----------------
Исследование сезонных паттернов финансовых временных рядов с помощью Boxplot
This article features a description of the proposed statistical method for detecting seasonal patterns in financial time series. The market may have monthly season cycles, as well as intraday cycles depending on the month. The hourly analysis has shown that with a certain smoothing period (for example, a moving average), you can find certain cycles both inside sessions and when moving from one trading session to another.
Одним из преимуществ подхода является возможность работы со специфическими рыночными паттернами и отсутствие чрезмерной оптимизации (parameter overfitting), а значит, торговая система может быть высокостабильной.
Что касается недостатков, то процесс поиска сезонных паттернов непрост и предполагает работу с различными комбинациями и циклами.
Анализ проводился для валютной пары EURUSD, с временным интервалом 10 лет. Исходные коды Python прилагаются в конце статьи в формате .ipynb (Jupyter notebook). Вы можете провести аналогичное исследование для любого желаемого финансового инструмента, используя прилагаемую библиотеку, и применить полученные результаты для создания собственной торговой системы или улучшения существующей.
Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий
Мы улучшили инфраструктуру MetaTrader VPS и расширили сеть дата-центров
MetaQuotes, 2020.02.26 11:09
За последний год база пользователей виртуального хостинга платформы MetaTrader значительно выросла. В связи с этим мы существенно инвестировали в развитие всей инфраструктуры сервиса и значительно расширили сеть дата-центров.
Новая точка хостинга в Сан-Паулу стала последним дополнением к пулу точек, дополнив центры во Франкфурте, Лондоне, Нью-Йорке, Гонконге, Сингапуре, Москве и Амстердаме. Мы разместили его в том же центре обработки данных, где располагается фондовая биржа B3 (бывшая BM&F Bovespa) и крупнейшие бразильские брокеры. Близкое физическое соседство с мировыми финансовыми центрами позволяет трейдерам арендовать виртуальную копию платформы с наименьшим пингом до брокерских серверов в любой точке мира.
Побочным эффектом модернизации сервиса является необходимость повышения цен на VPS. В настоящее время минимальная цена аренды сервера на 1 месяц начинается от 15 долларов США. За эту цену трейдеры получают до 3 Гб оперативной памяти, до 16 Гб дискового пространства, несколько ядер процессора и минимальную сетевую задержку до брокера.
USD
в месяц, USD
Нативный VPS-сервис от MetaQuotes отличается от обычных VPS-решений тем, что он был специально разработан для размещения торговых терминалов и поэтому доступен непосредственно в платформах MetaTrader. Десятки тысяч трейдеров уже пользуются виртуальным хостингом MetaTrader, не беспокоясь о скорости интернет-соединения, сбоях в работе ПК или перебоях в электроснабжении.
Новые пользователи получают 24 часа бесплатного обслуживания - протестируйте VPS прямо сейчас.
Протестируйте MetaTrader VPS бесплатно
Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий
Новый MetaTrader 5 build 2360: Расширение интеграции SQLite
MetaQuotes, 2020.03.05 16:30
Обновление платформы MetaTrader 5 будет выпущено в пятницу, 6 марта 2020 года. Новая версия содержит следующие изменения:
Новая версия MetaTrader 5 будет доступна через систему LiveUpdate.