![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
По стопам Гудылина?)
Такие высоты для меня совершенно недосягаяемы - ограничусь Мандельбротом)
сами деревья портировать в MQL не сложно
В С++ использовал библиотеку tree.hh - работа с деревьями в стиле STL. Было бы весьма неплохо портировать её в MQL5, но сомневаюсь что это возможно)
Не нашёл на форуме обсуждений реализации этих структур данных. Как их лучше (в смысле скорости исполнения и удобства программирования) реализовать на MQL5 - через массив или ссылки?
Если конкретнее, то интересуют деревья (и леса) общего вида (не бинарные), с вершинами (и/или рёбрами) помеченными простыми структурами.
Вам какие деревья нужны собсно?
Случайные леса для обучения Ваших моделей?
Бинарные деревья поиска?
Идеально сбалансированные 2,3-деревья?
b-деревья?
Префиксные trie-деревья?
Красно-черные деревья?
Дерево Меркла для валидации цепочек данных?
Что значит "помечены простыми структурами"? Типа генерики?
Вам какие деревья нужны собсно?
Случайные леса для обучения Ваших моделей?
Бинарные деревья поиска?
Идеально сбалансированные 2,3-деревья?
Красно-черные деревья?
Что значит "помечены простыми структурами"? Типа генерики?
Если "генерик" означает общий вид, то да. Иногда их ещё вроде бы называют "розовыми" - rose tree.
"Помеченые" - вроде стандартное обозначение, что в каждой вершине (и/или ребре) хранятся "метки" - значения одного типа.
В С++ использовал библиотеку tree.hh - работа с деревьями в стиле STL. Было бы весьма неплохо портировать её в MQL5, но сомневаюсь что это возможно)
с STL сложно будет портировать в MQL, по причине отсутствия аналогичных шаблонов в MQL - писали тут, но для себя
про SQL - если в массивах можете сделать свое исследование, то SQL прекрасно с этим работает, но сделать быстро выборку в массиве Вы должны сами алгоритм поиска продумать, а БД уже готова к этому из коробки
ЗЫ: Хабр... дает много вариантов уже из готового, когда еще находишься в стадии изысканий https://habr.com/ru/post/303374/
с STL сложно будет портировать в MQL, по причине отсутствия аналогичных шаблонов в MQL - писали тут, но для себя
про SQL - если в массивах можете сделать свое исследование, то SQL прекрасно с этим работает, но сделать быстро выборку в массиве Вы должны сами алгоритм поиска продумать, а БД уже готова к этому из коробки
ЗЫ: Хабр... дает много вариантов уже из готового, когда еще находишься в стадии изысканий https://habr.com/ru/post/303374/
Нашёл дерево в библиотеке GLib. Наверное, попытаюсь сделать что-нибудь похожее (по интерфейсу)
Нашёл дерево в библиотеке GLib. Наверное, попытаюсь сделать что-нибудь похожее (по интерфейсу)
понятно, Вы ищете N-арное дерево
никогда не делал, Ваш пример объёмный, попробовал портировать первый попавшийся пример попроще: https://www.geeksforgeeks.org/depth-n-ary-tree/
была уже заготовка для списков, которую помог @fxsaber сделать https://www.mql5.com/ru/forum/85652/page16#comment_12346740
ну и соберем в MQL-код:
понятно, Вы ищете N-арное дерево
никогда не делал, Ваш пример объёмный, попробовал портировать первый попавшийся пример попроще: https://www.geeksforgeeks.org/depth-n-ary-tree/
была уже заготовка для списков, которую помог @fxsaber сделать https://www.mql5.com/ru/forum/85652/page16#comment_12346740
ну и соберем в MQL-код:
Спасибо, очень интересно. Всё же, опасаюсь использовать стандартную библиотеку (после неприятного опыта с библиотекой статистики). Думаю, полноценные деревья (со всеми видами обхода, свёртками и тд) для анализа делать в других языках (делал в Хаскеле, но хочу попробовать Rust). На MQL5 же - только какие-то усечённые варианты на основе динамических массивов с минимальным необходимым функционалом и только при наличии практической необходимости.
Спасибо, очень интересно. Всё же, опасаюсь использовать стандартную библиотеку (после неприятного опыта с библиотекой статистики). Думаю, полноценные деревья (со всеми видами обхода, свёртками и тд) для анализа делать в других языках (делал в Хаскеле, но хочу попробовать Rust). На MQL5 же - только какие-то усечённые варианты на основе динамических массивов с минимальным необходимым функционалом и только при наличии практической необходимости.
опять к вопросу ... друг спрашивает, что хотите найти в этих деревьях?
если тестер не нужен - вопросов нет, скорее всего можно и софт найти который с графами работает из коробки, т.е. нет смысла писать и программировать
если все таки MQL - сомневаюсь, что Rust так просто к "тестеру прикрутить"
мой пример только данные хранить, еще работы много - обход дерева, добавление узлов....
прогуглил, ибо сам теорией графов все мечтаю посмотреть на графики - опять к SQL вернулся, вот даже готовые SQL-запросы в статье "Деревья в SQL" (3 части - ссылки вверху) http://www.codenet.ru/db/other/trees/
опять к вопросу ... друг спрашивает, что хотите найти в этих деревьях?
если тестер не нужен - вопросов нет, скорее всего можно и софт найти который с графами работает из коробки, т.е. нет смысла писать и программировать
если все таки MQL - сомневаюсь, что Rust так просто к "тестеру прикрутить"
мой пример только данные хранить, еще работы много - обход дерева, добавление узлов....
прогуглил, ибо сам теорией графов все мечтаю посмотреть на графики - опять к SQL вернулся, вот даже готовые SQL-запросы в статье "Деревья в SQL" (3 части - ссылки вверху) http://www.codenet.ru/db/other/trees/
Нужна возможность всех видов обхода деревьев (штук шесть их), свёртка (фолдинг), чтение/запись в файл, добавление/удавление ветвей. Удобно в хаскеле, но он медленный. Думаю попробовать в rust, там есть много уже готового - не люблю делать всё с нуля) SQL, наверное, тоже окажется медленным.
Если в содержательном плане, то это дерево из ценовых вершин (в духе идей Мандельброта) для подсчёта мультифрактального спектра. Сильно сомневаюсь, что дойдёт дело до тестера - просто поиграться в математику немного) Периодически MQL5 начинает казаться языком вполне подходящим для общих целей, но потом быстро понимаешь что опять ошибся)