Как начать работу с MT5, краткое описание! - страница 8

 

Как это повлияет на продукты Market в будущем?

Я предполагаю, что процесс валидации потребует, чтобы продукт был скомпилирован без него, чтобы удовлетворить самый низкий общий знаменатель.

 
Fernando Carreiro # : Как это повлияет на продукты Market в будущем? Я предполагаю, что процесс валидации потребует, чтобы продукт был составлен без него, чтобы удовлетворить самый низкий общий знаменатель.

Форум о трейдинге, автоматизированных торговых системах и тестировании торговых стратегий

Компиляция MQL5-программ с набором инструкций AVX / AVX2 + FMA3 / AVX512 + FMA3 с билдом 3902

Ренат Фатхуллин, 2023.09.01 13:24

В продажу будут приниматься только программы, скомпилированные в режиме "x64 Regular".

Скорее всего, в будущем мы расширим возможности рынка.

Релиз MT5 запланирован на пятницу следующей недели. Поэтому мы просим вас активно тестировать новые режимы.

 

Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий

Компиляция MQL5-программ с набором инструкций AVX / AVX2 + FMA3 / AVX512 + FMA3 с билдом 3902

Ренат Фатхуллин, 2023.09.01 18:28

В текущей бета-версии 3905, доступной на MetaQuotes-Demo, мы расширили информацию для MQL5:

 void OnStart ()
  {
   Print ( "CPU name:         " , TerminalInfoString (TERMINAL_CPU_NAME));
   Print ( "CPU cores:        " , TerminalInfoInteger ( TERMINAL_CPU_CORES ));
   Print ( "CPU architecture: " , TerminalInfoString (TERMINAL_CPU_ARCHITECTURE));   // новое
   Print ( "" );
   Print ( "EX5 architecture: " ,__CPU_ARCHITECTURE__);                            // новое
  }

CPU name:         12th Gen Intel Core i9-12900K
CPU cores:        24
CPU architecture: AVX2 + FMA3

EX5 architecture: AVX

Вы можете на лету узнать возможности процессора, на котором запущен терминал.

С помощью строкового макроса __CPU_ARCHITECTURE__ можно узнать и проверить, для какого набора команд был скомпилирован EX5-файл.


Если загрузка не удалась, то об этом будет сказано:

your CPU architecture does not allow to run the file 'test.ex5', AVX512 required, you have AVX2

-------------------------

Кое-что о MQL5 Cloud Network и MQL5 VPS в связи с AVX512 и AVX2 -

vps-сервере, не проблема.

В MetaTrader VPS Hosting последние несколько серверов без поддержки AVX2 будут заменены на современные уже к концу недели, и перенести программы x64/avx/avx2 в наше облако можно будет без проблем. На сторонних VPS достаточно проверить марку процессора, воспользоваться программой CPU-Z или посмотреть на стартовый баннер терминала.

Явный переход на специализированные версии терминалов для современных процессоров - большой и правильный шаг. Мы серьезно нацелены на повышение производительности всей платформы, и теперь у нас есть свобода действий, чтобы напрямую внедрять новые методы оптимизации, не строя костылей.

Терминалы MetaTrader 5 в облаке запускаются сразу в сборках AVX2:

Windows Server 2022 build 20348 on Xen, 32 x AMD EPYC 7542 32 -Core, AVX2 , 61  / 71 Gb memory, 149  / 255 Gb disk, admin, GMT+ 1

-------------------------


Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий

Компиляция MQL5-программ с набором инструкций AVX / AVX2 + FMA3 / AVX512 + FMA3 с билдом 3902

Ренат Фатхуллин, 2023.09.06 13:07

В MQL5 Cloud Network верхним пределом для EX5 будет AVX2, а задания будут автоматически распределяться между агентами с необходимым набором процессоров.

То есть через пару дней все будет работать прозрачно. Завтра мы выпускаем открытую бету для брокеров, а через неделю будет релиз.


Форум о трейдинге, автоматизированных торговых системах и тестировании торговых стратегий

Компиляция MQL5-программ с набором инструкций AVX / AVX2 + FMA3 / AVX512 + FMA3 с билдом 3902

Ренат Фатхуллин, 2023.09.06 13:58

...

В ближайшие два месяца мы планируем крупное обновление компилятора MQL5 с более полной поддержкой набора инструкций AVX2/512. Плюс оптимизация внутренних функций языка, что даст хорошее ускорение.

 

визуальная студия

Вопрос:

visual studio и что она позволит, если не писать на C# например?

...и ответ:

Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий

Компиляция MQL5-программ с набором инструкций AVX / AVX2 + FMA3 / AVX512 + FMA3 с билдом 3902

Ренат Фатхуллин, 2023.09.07 13:07

Установив Visual Studio, вы можете компилировать файлы C/C++ прямо в MetaEditor.

Например, это позволяет легко компилировать EXE-файлы или DLL-библиотеки непосредственно в MQL5-проектах/каталогах:


------------------------

Анонс:

MetaTrader 5 Platform Beta Build 3930: Пополнение/снятие средств в терминале и поддержка AVX-инструкций для ускорения работы программ


MetaTrader 5 Platform Beta Build 3930: Deposits/withdrawals in the terminal and support for AVX instructions to speed up programs
MetaTrader 5 Platform Beta Build 3930: Deposits/withdrawals in the terminal and support for AVX instructions to speed up programs
  • 2023.09.07
  • www.mql5.com
The beta version of the updated MetaTrader 5 platform is to be released on Friday, September 8, 2023...
 

Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий

Новая платформа MetaTrader 5 build 3980: Улучшения и исправления

MetaQuotes, 2023.09.21 15:01

Обновленная версия платформы MetaTrader 5 будет выпущена в четверг, 21 сентября 2023 года. Она содержит ряд исправлений и улучшений платформы.

Новая платформа MetaTrader 5 build 3980: Улучшения и исправления


Терминал клиента MetaTrader 5 build 3980

  1. Терминал: Улучшены новые торговые отчеты. Исправлено отображение общей стоимости свопов и графика прибыли по символам.
  2. Терминал: Оптимизированы страницы ввода и вывода средств. Для получения более подробной информации о новой интеграции платформы с платежными системами, пожалуйста, ознакомьтесь с примечаниями к выпуску build 3950.
  3. Терминал: Оптимизированы пересчеты финансовых операций по всей платформе, включая тестер стратегий. Теперь прибыль, маржа и многие другие параметры рассчитываются быстрее.
  4. Терминал: Обновлены переводы пользовательского интерфейса.
  5. MQL5: Добавлены методы Conjugate для типов complex, vector<complex> и matrix<complex>. Они реализуют операции комплексного сопряжения.
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    void OnStart()
      {
       complex a=1+1 i;
       complex b=a.Conjugate();
       Print(a, "  ", b);
       /*
       (1,1)  (1,-1)
       */
    
       vectorc va= {0.1+0.1 i, 0.2+0.2 i, 0.3+0.3 i};
       vectorc vb=va.Conjugate();
       Print(va, "  ", vb);
       /*
       [(0.1,0.1),(0.2,0.2),(0.3,0.3)]  [(0.1,-0.1),(0.2,-0.2),(0.3,-0.3)]
       */
    
       matrixc ma(2, 3);
       ma.Row(va, 0);
       ma.Row(vb, 1);
       matrixc mb=ma.Conjugate();
       Print(ma);
       Print(mb);
       /*
       [[(0.1,0.1),(0.2,0.2),(0.3,0.3)]
        [(0.1,-0.1),(0.2,-0.2),(0.3,-0.3)]]
    
       [[(0.1,-0.1),(0.2,-0.2),(0.3,-0.3)]
        [(0.1,0.1),(0.2,0.2),(0.3,0.3)]]
       */
       
       ma=mb.Transpose().Conjugate();
       Print(ma);
       /*
       [[(0.1,0.1),(0.1,-0.1)]
        [(0.2,0.2),(0.2,-0.2)]
        [(0.3,0.3),(0.3,-0.3)]]
       */
      }
  6. MQL5: Добавлена обработка выводов модели ONNX типа 'Последовательность карт'.

    Для моделей ONNX, предоставляющих в выходном слое последовательности карт (ONNX_TYPE_SEQUENCE of ONNX_TYPE_MAP), в качестве выходного параметра следует передавать динамический или фиксированный массив структур. Первые два поля этой структуры должны соответствовать типам ключа и значения ONNX_TYPE_MAP и быть фиксированными или динамическими массивами.

    Рассмотрим модель iris.onnx, созданную следующим скриптом Python:
    .
    from sys import argv
    data_path=argv[0]
    last_index=data_path.rfind("\\")+1
    data_path=data_path[0:last_index]
    
    from sklearn.datasets import load_iris
    iris_dataset = load_iris()
    from sklearn.model_selection import train_test_split
    X_train, X_test, y_train, y_test = train_test_split(iris_dataset['data'], iris_dataset['target'], random_state=0)
    from sklearn.neighbors import KNeighborsClassifier
    knn = KNeighborsClassifier(n_neighbors=1)
    knn.fit(X_train, y_train)
    
    #  Convert into ONNX format
    from skl2onnx import convert_sklearn
    from skl2onnx.common.data_types import FloatTensorType
    initial_type = [('float_input', FloatTensorType([None, 4]))]
    onx = convert_sklearn(knn, initial_types=initial_type)
    path = data_path+"iris.onnx"
    with open(path, "wb") as f:
        f.write(onx.SerializeToString())
    Откройте созданный onnx-файл в MetaEditor:


    Просмотр модели ONNX в редакторе MetaEditor


    Последовательность Map передается как "output_probability". Она имеет ключ типа INT64 (что соответствует long в MQL5) и значение типа float. Для получения данных из этого вывода объявляем следующую структуру:
    .
    struct MyMap
      {
       long              key[];
       float             value[];
      };
    Здесь мы использовали динамические массивы с соответствующими типами. В данном случае можно использовать фиксированные массивы, так как Map для этой модели всегда содержит 3 пары ключ+значение.

    Так как возвращается последовательность Map, то в качестве параметра для получения данных из вывода output_probability следует передать массив таких структур. Этот массив может быть динамическим или фиксированным, в соответствии со свойствами конкретной модели. Пример:
    //--- declare an array to receive data from the output layer output_probability
    MyMap output_probability[];
    
    ...
    
    //--- model running
    OnnxRun(model,ONNX_DEBUG_LOGS,float_input,output_label,output_probability);
  7. MetaEditor: Исправлено отображение типов вывода в окне просмотра моделей ONNX.

Веб-терминал MetaTrader 5 build 3980

  1. Добавлен раздел "Связаться с брокером" в главном меню веб-терминала.
  2. Добавлена обработка ошибок при SSL-аутентификации. Данный тип аутентификации не поддерживается в веб-терминале. Вместо него можно использовать одноразовые пароли.
  3. Исправлена ссылка на скачивание десктопной платформы в главном меню.
  4. Исправлен диалог управления счетами. Если брокер не предоставляет возможность открытия демо- или реального счета, соответствующий пункт меню будет скрыт.


Обновление будет доступно через систему Live Update.


 

ONNX и MQL5 Copilot


Форум

  1. MetaEditor, Open AI и ChatGPT - итоговая тема
  2. Изучение ONNX для торговли - ключевая тема форума о ONNX
  3. Практические примеры: эта страница

    CodeBase

    1. Информация о входах и выходах модели ONNX - скрипт для MetaTrader 5
    2. Получить информацию о входах и выходах модели onnx-model - скрипт для MetaTrader 5

    Документация

    1. Модели ONNX в машинном обучении (MT5)

    Обучение ONNX для торговли - видео:

    1. ONNX Runtime - пост #60
    2. Конвертация моделей в формат #ONNX - пост #61
    3. ONNX - открытый формат для моделей машинного обучения - пост #62
    4. Развертывание моделей (глубокого) машинного обучения с помощью ONNX - пост #63
    5. Рекуррентные нейронные сети | LSTM для прогнозирования движения цены для торговых алгоритмов - пост
    6. Полный курс по искусственному интеллекту | Самоучитель искусственного интеллекта для начинающих | Edureka - пост #230
    7. Открытая биржа нейронных сетей (ONNX):
      7.1. Введение в ONNX - учебник 1 - пост
      7.2. Вызовы в глубоком обучении - учебник 2 - пост
      7.3. Все о ONNX - Учебное пособие 3 - пост
      7.4. Принципы проектирования - Учебное пособие 4 - пост
      7.5. Формат файла ONNX - Учебник 5 - пост
      7.6. Тип данных ONNX - Учебник 6 - пост
      7.7. Пример машинного обучения - Учебник 7 - пост
      7.8. ONNX Runtime - Tutorial 8 - post
      7.9. ONNX Model Zoo - Учебник 9 - пост
      7.10. ONNX Model Zoo Demo - Tutorial 10 - post
      7.11. PyTorch to Tensorflow Demo - Tutorial 11 - post
    8. MIT Introduction to Deep Learning:
      8.1. Введение в глубокое обучение - Лекция 1 - пост
      8.2. Рекуррентные нейронные сети и трансформаторы - Лекция 2 - пост
      8.3. Конволюционные нейронные сети - Лекция 3 - пост
      8.4. Глубокое генеративное моделирование - Лекция 4 - пост
      8.5. Reinforcement Learning - Лекция 5 - пост
      8.6. Новые рубежи глубокого обучения - Лекция 6 - пост
      8.7. LiDAR для автономного вождения - Лекция 7 - пост
      8.8. Автоматическое распознавание речи - Лекция 8 - пост
      8.9. ИИ для науки - Лекция 9 - пост
      8.10. Неопределенность в глубоком обучении - Лекция 10 - пост

    =======================

    Оценка моделей ONNX с помощью метрик регрессии

    Оценка моделей ONNX с помощью регрессионных метрик

    Регрессия - это задача предсказания реального значения по немаркированному примеру. Известным примером регрессии является оценка стоимости бриллианта на основе таких характеристик, как размер, вес, цвет, чистота и т. д.

    Для оценки точности предсказаний регрессионной модели используются так называемые метрики регрессии. Несмотря на схожие алгоритмы, регрессионные метрики семантически отличаются от аналогичных функций потерь.

    Evaluating ONNX models using regression metrics
    Evaluating ONNX models using regression metrics
    • www.mql5.com
    Regression is a task of predicting a real value from an unlabeled example. The so-called regression metrics are used to assess the accuracy of regression model predictions.
     
    Спасибо за это резюме!
     

    Форум о трейдинге, автоматических торговых системах и тестировании торговых стратегий

    Как начать работать с MQL5

    Сергей Голубев, 2024.03.23 06:33

    Осваиваем MQL5 от новичка до профи (часть I): Начало программирования

    Освойте MQL5 от новичка до профессионала (часть I): Начало программирования

    Иногда я получаю личные сообщения от тех, кто хочет научиться создавать собственные советники или индикаторы. Несмотря на то что на этом сайте и в интернете в целом есть много материала, в том числе очень хорошие ресурсы с примерами, новичкам все равно нужна помощь. Некоторые пользователи стремятся к большей последовательности в изложении материала, другие требуют ясности или чего-то еще. Иногда пользователи просят: "Добавьте комментарии к коду работающего советника, я все пойму и сделаю такой же сам!" Но, увидев сотню строк кода, они пугаются, путаются и отказываются от этой идеи. Вместо этого они говорят: "Лучше создайте советник для меня".

    Как бы то ни было, есть люди, которые все еще хотят "понять все". Вот тогда-то и пригодится пошаговое руководство, объясняющее все от простого к сложному. Так вот, такого пошагового руководства по языку MQL5 пользователи не нашли.

    Освойте MQL5 от новичка до профессионала (часть I): Начало программирования

    Я начинаю эту серию статей специально для новичков, для тех, кто впервые сталкивается с программированием и хочет его освоить. Эти статьи предназначены для трейдеров, которые больше не хотят зависеть от программистов и желают понять, как все работает. Статьи предлагают последовательную и подробную информацию, с картинками и примерами, направляя читателей к уровню "владения языком MQL5".