Мне нравится читать ваши технические статьи!
В этой первой статье я показал лишь верхушку айсберга. TickORM идет гораздо дальше: идея заключается в том, чтобы полностью изменить способ работы с базами данных на MQL5. Цель - добиться чего-то прямолинейного, простого и мощного, когда открытие базы данных, создание хранилища и работа с сущностями будут так же естественны, как работа с массивами. К концу серии статей использование базы данных будет напоминать приведенный ниже пример, где вы сохраняете, ищете, обновляете и удаляете записи, не написав ни одного ручного запроса. Именно этот путь я прокладываю с помощью TickORM.
int OnInit(void) { IDatabaseManager *database = new CDatabaseManager(); if(database.OpenDatabase("trades.sqlite")) { //--- Хранилище экземпляров AccountRepository repo(database); //--- Вставка Account acc; acc.number = 10; repo.save(acc); //--- Выберите все Account acc[]; repo.findAll(acc); ArrayPrint(acc); //--- Выберите по идентификатору Account acc = repo.findById(1); Print(acc.id); Print(acc.number); //--- Обновление Account acc; acc.id = 1; acc.number = 10; repo.update(acc); //--- Удаление по идентификатору repo.deleteById(1); } database.CloseDatabase(); delete database; return(INIT_SUCCEEDED); }
Правильная ORM для mql5 сейчас очень нужна. К счастью, у нас есть такие люди, как ты, создающие такие классные важные библиотеки, которые облегчают нам жизнь. Мне нравятся все проекты и статьи, над которыми вы работали до сих пор. Все они решили серьезную проблему, с которой я столкнулся, работая с mql5 для определенных задач.
joaopedrodev работы с базами данных на MQL5. Цель - добиться чего-то прямолинейного, простого и мощного, когда открытие базы данных, создание хранилища и работа с сущностями будут так же естественны, как работа с массивами. К концу серии статей использование базы данных будет напоминать приведенный ниже пример, где вы сохраняете, ищете, обновляете и удаляете записи, не написав ни одного ручного запроса. Именно этот путь я прокладываю с помощью TickORM.
К сведению: В книге представлена реализация ORM для MQL5.
MQL5 Book: Advanced language tools / SQLite database / OOP (MQL5) and SQL integration: ORM concept
- www.mql5.com
The use of a database in an MQL program implies that the algorithm is divided into 2 parts: the control part is written in MQL5, and the execution...
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Опубликована статья Упрощение работы с базами данных в MQL5 (Часть 1): Введение в базы данных и SQL:
Когда мы говорим об MQL5, большинство разговоров вертится вокруг индикаторов, советников, торговых стратегий и бэктестов. Но в какой-то момент каждый трейдер или разработчик, который серьезно работает с автоматизацией, понимает, что сохранение данных имеет решающее значение. И вот тут-то на помощь приходят базы данных. Вы, возможно, даже подумаете: «Но я уже сохраняю результаты в CSV или TXT файлах, зачем усложнять себе жизнь с помощью базы данных?» Ответ кроется в организации, эффективности и надежности, которые обеспечивает база данных, особенно при работе с большими объемами информации или сложными операциями.
В контексте MQL5 разговоры о базах данных на первый взгляд могут показаться преувеличением. Ведь этот язык сильно ориентирован на торговлю, индикаторы и роботов для автоматического исполнения. Но когда начинаешь работать со стратегиями, которые включают в себя большие объемы данных, сложные бэктесты или подробные записи об ордерах, простота стандартных файлов быстро оказывается недостаточной. Именно здесь понимание того, как создавать базу данных, получать доступ к ней и работать с ней, становится инструментом, способным преобразовать ваш торговый процесс.
Трейдер, начинающий изучать базы данных на MQL5, найдет десятки встроенных функций и автономных примеров. Достаточно сохранять записи и запрашивать их, но вскоре возникает вопрос: *как организовать все это удобным для повторного использования способом в реальных проектах?* В этой серии статей мы выходим за рамки документации. Мы начнём с основных функций SQLite и шаг за шагом перейдём к созданию **мини-ORM на языке MQL5 (TickORM)**. Идея заключается в преобразовании прямых вызовов в хорошо продуманные слои, вдохновленные Java-технологиями JDBC и JPA, но адаптированные к экосистеме MetaTrader.
В этой статье я демонстрирую основы работы с базами данных на языках MQL5 и SQL. Это открывает путь для последующих статей, в которых эти функции будут инкапсулированы в классы, интерфейсы и, наконец, ORM.
Автор: joaopedrodev