Язык ДРАКОН и алгоритмический трейдинг на сайте mql5.comСогласно Википедии, Алгоритмическая торговля или Алгоритмический трейдинг (англ. Algorithmic trading) — формализованный процесс совершения торговых операций на финансовых рынках по заданному алгоритму с использованием специализированных компьютерных систем (торговых роботов).
По ссылке
https://www.mql5.com/ru/articles/13324 трейдер Олег Федоров написал большую статью под названием:
Цитата:
Язык визуального программирования ДРАКОН (Drakon) — средство общения для разработчика MQL и заказчика
Ниже я цитирую малую часть этой статьи:
Цитата:
для меня ДРАКОН хорош тем, что:
— Язык построен так, что он реально помогает думать. Когда я вижу перед собой нарисованный алгоритм, мне гораздо проще осознавать взаимосвязи частей в модулях и целых модулей - между собой, находить ошибки и использовать не очевидные сами по себе, но вытекающие из схемы решения.
— ДРАКОН помогает лучше понимать заказчика.
— Проще доносить до заказчика мои предложения, если таковые возникнут.
— Заказчику легче критиковать мои ошибки.
— Если заказчик нарисовал ДРАКОН-схему, то эту схему можно буквально переносить в код и считать ТЗ выполненным. Это гораздо легче, чем понимать в процессе работы, что не знаю, скажем, что делать, если сигнал не сработал. Просто для заказчика это настолько очевидно, что он забыл это уточнить, а после уточнения оказывается, что надо писать еще три экрана кода... Лучше разобраться с такими вещами до начала кодирования, и визуальные схемы в этих "разборках" сильно помогают.
Для меня графика в алгоритмах - просто чудесное средство для коммуникации. Когда двое заинтересованы в результате и ведут диалог, лучше им говорить на одном языке. И язык схем ДРАКОНа универсален для специалистов в любой профессии, если его один раз понять.
Основные среды разработки на языке ДРАКОН
При подготовке данной статьи я использовал три основных инструмента.
Во-первых, это Drakonhub — онлайн редактор, который позволяет рисовать все виды диаграмм, используемых в языке ДРАКОН, имеет очень удобный для меня интерфейс но, к моему сожалению, не умеет экспортировать диаграммы в код. У него есть проект для программистов - drakon.tech, но он умеет только JavaScript (ну, или я не умею его готовить)... И количество доступных для не-програмистов диаграмм у drakon.tech, кажется, сильно меньше, чем у Drakonhub. В общем, для заказчиков - идеально, для разработчиков - вполне нормально, если не лень, скажем, прописывать типизацию для переменных вручную после генерации... Есть русский, английский и норвежский интерфейс.
Во-вторых, это "Фабула" (также доступна прямая ссылка на скачивание). Программа имеет интерфейс на русском и английском языках, оффлайн приложение под Windows (хоть и написана c использованием библиотеки QT, но имеет закрытый код). Бесплатна. Интерфейс для меня - практически идеален, данные сохраняются в XML, запакованный архиватором zip (то есть при желании можно написать какой-нибудь XSLT и транслировать ваши программы напрямую), умеет трассировать алгоритмы, что может быть использовано для презентаций или создания псевдокода. Псевдокод, в свою очередь, можно с помощью серии автозамен превратить во вполне рабочую программу... Основная часть диаграмм в этой статье будет создана именно с её помощью.
В-третьих, это DRAKON Editor, в котором интерфейс чуть менее удобен, поскольку иконы надо размещать вручную, Кроме того, некоторых икон в нём нет, а некоторые, например, выноски, реализованы не самым лучшим образом.
Но зато я могу конвертировать его схемы в мой код на MQL5 без долгой подготовительной работы. И он умеет подсвечивать некоторые ключевые слова. А еще - он написан на языке TCL/TK и, соответственно, является кроссплатформенным, а, следовательно, запускается в Linux естественным образом, без Wine. Не то, чтобы это было критично, но это - небольшой дополнительный бонус. А основной плюс этого редактора - поддержка массы языков программирования. То есть схема ДРАКОНа легким движением руки может быть конвертирована в C++, Java, JavaScript, D, TCL, Go и еще кучу всего. Так что для программистов вещь весьма полезная, если Вам ДРАКОН понравится. Правда, код, который он генерирует, не всегда красив. И способы подготовки файлов... неочевидны, надо читать документацию. Но когда разберешься - работает вполне хорошо. Интерфейс - на русском и английском языках.
Существует еще ИС Дракон, но для меня в ней есть минус в том, что она платная. Я не стал глубоко вникать в её интерфейс, поскольку мне он показался сходным с DRAKON Editor, но особых преимуществ за то время, что я её разглядывал, я не нашел.
Основная масса рисунков в этой статье, как я уже сказал, будет подготовлена с помощью "Фабулы". Её диаграммы мне кажутся наиболее красивыми без предварительной сложной подготовки.
Если по диаграмме генерируется код, я её буду делать в DRAKON Editor.
На нашем форуме есть еще одна тема про
алгоритмический трейдинг