Спасибо. Жаль, без кастинга.
Как буду делать - скину сюда пример обязательно, просто раньше задачи не было такой.
Также, если сокеты получат свое развитие в тестере, тогда это будет очень актуально.
Для истории, есть большая стандартная математическая библиотеку на MQL5 в исходниках прямо в терминале:
- Статистические распределения в MQL5 - берем лучшее из R и делаем быстрее
Рассмотрим функции для работы с основными статистическими распределениями, реализованными в языке R.
Это распределения Коши, Вейбулла, нормальное, логнормальное, логистическое, экспоненциальное, равномерное, гамма-распределение, центральное и нецентральные распределения Бета, хи-квадрат, F-распределения Фишера, t-распределения Стьюдента, а также дискретные биномиальное и отрицательное биномиальные распределения, геометрическое, гипергеометрическое и распределение Пуассона. Кроме того, есть функции расчета теоретических моментов распределений, которые позволяют оценить степень соответствия реального распределения модельному.
Мы включили в стандартную библиотеку MQL5 большое количество математических функций из R. Причем добились их более быстрой работы от 3 до 7 раз по сравнению с исходными вариантами в языке R. - Справочник MQL5 / Стандартная библиотека / Математика / Статистика
Это несколько сотен функций в разделах: Статистические характеристики, Нормальное распределение, Логнормальное распределение, Бета-распределение, Нецентральное бета-распределение, Гамма-распределение, Распределение хи-квадрат, Нецентральное распределение хи-квадрат, Экспоненциальное распределение, F-распределение, Нецентральное F-распределение, Т-распределение, Нецентральное T-распределение, Логистическое распределение, Распределение Коши, Равномерное распределение, Распределение Вейбулла, Биномиальное распределение, Отрицательное биномиальное распределение, Геометрическое распределение, Гипергеометрическое распределение, Распределение Пуассона, Вспомогательные функции
С удовольствием всегда читаю статьи @Maxim Dmitrievsky , нравится мне его подход к написанию статей - сжато описана сама реализация идеи, не люблю в последнее время "километровые портянки" кода и разжевывание каждой строчки до "а теперь мы назовем переменную XY, где сохраним ..."
Спасибо!
С удовольствием всегда читаю статьи @Maxim Dmitrievsky , нравится мне его подход к написанию статей - сжато описана сама реализация идеи, не люблю в последнее время "километровые портянки" кода и разжевывание каждой строчки до "а теперь мы назовем переменную XY, где сохраним ..."
Спасибо!
Так читатель то разный бывает как искушенный, так и новичок.
Ну как бы Вы правы, так и не очень - человеческое внимание очень ограниченный ресурс, и даже опытный читатель, чтобы вникнуть в суть статьи вынужден читать "по диагонали" иначе к концу статьи просто не будет усвоения материала.
Если не ошибаюсь, то человек может усваивать новый материал лишь первые 15 минут, затем внимание снижается и эффект от новых знаний будет нулевой - как говорится "лучше меньше да лучше"
Возможно конечно растянуть чтение большой статьи, как чтение журнала или книги на несколько дней, но это не мой вариант
socketclientEA (Si-6.19,M15) Connection localhost:9090 error 4014
https://www.mql5.com/ru/docs/network/socketconnect
При вызове из индикатора GetLastError() вернет ошибку 4014 – "Системная функция не разрешена для вызова".
Решение:
Адрес для подключения должен быть добавлен в список разрешенных на стороне клиентского терминала (раздел Сервис \ Настройки \ Советники).
Разрешить Webrequest для следующих url:
http://localhost
socketclientEA (Si-6.19,M15) Connection localhost:9090 error 4014
https://www.mql5.com/ru/docs/network/socketconnect
При вызове из индикатора GetLastError() вернет ошибку 4014 – "Системная функция не разрешена для вызова".
Решение:
Адрес для подключения должен быть добавлен в список разрешенных на стороне клиентского терминала (раздел Сервис \ Настройки \ Советники).
Разрешить Webrequest для следующих url:
http://localhost
Спасибо, это было весьма не самоочевидно сначала, разработчики злые гении просто!
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Соединение MetaTrader 5 и Python: получение и отправка данных:
Работа с данными в наше время требует обширного инструментария и, зачастую, не ограничивается "песочницей" какого-то отдельного приложения. Существуют специализированные общепризнанные языки программирования для обработки и анализа данных, статистики и машинного обучения. Лидером в этой области является язык Python. В статье описан пример связи MetaTrader5 и Python при помощи сокетов, а также получение котировок через API терминала.
Мы напишем простую программу, которая будет создавать сокет сервер и принимать необходимую информацию от клиента (MQL5 программы), обрабатывать ее, после чего отправлять полученный результат обратно. Такое взаимодействие видится наиболее востребованным. Допустим, нам необходимо воспользоваться какой-нибудь библиотекой машинного обучения, например, scikit learn, которая будет рассчитывать линейную регрессию от цен, а затем возвращать координаты линии, по которым ее можно отобразить в терминале MetaTrader 5. Возьмем этот пример за базовый, но подобное взаимодействие может быть также использовано для обучения нейронной сети, передачи в нее данных из терминала (котировок), обучения и возвращения результата в терминал.
Теперь мы можем отключиться от терминала, после чего привести цены валютных пар к процентным изменениям, посчитав корреляционную матрицу и выведя ее на экран:
Видно, что валютные пары GBPUSD и GBPJPY хорошо коррелируют.Автор: Maxim Dmitrievsky