Категория Архивы: Создаём

Создаём фреймворки с использованием различных языков программирования

(MQL) 2.6 Тип объекта. Класс «ETypeCode»

В библиотеке языка «MQL5» имеется класс «CList«. Он является классом динамического списка объектов. В иных языках программирования (например: Java, C#, ) такие списки называют коллекциями. Коллекции чем-то похожи на массивы, но с одним отличием. Массивы это набор однотипных данных, а коллекции могут содержать в себе набор значений как одного, так и различных типов. Главное отличие списка «CList» от… Подробнее »

(MQL) 2.5 Время. Класс «ETime».

Для торгового робота время играет очень важную роль. Благодаря ему мы можем определить момент появления нового бара. Мы можем выставлять заявки с отложенным исполнением в нужный нам момент. Опираясь на время выхода новостей, можно контролировать работу торгового робота или же составить определённую стратегию поведения на рынке. Класс «ETime». Держим время под контролем Потому мы создаём отдельный класс «ETime»,… Подробнее »

(MQL) 2.4 Строки. Манипуляции над ними

В прошлый раз шла речь о расширении проекта торгового фреймворка. В конце этой статьи шла речь о функциях, которые понадобятся для совершения манипуляций над строками. Именно они будут сейчас рассмотрены. Строки. Функции для работы с ними Для начала создаём файл «Prepare.mqh» в папке «Helpers» нашего проекта. К нему подключается файл «Conversion.mqh». #include «Сonversion.mqh» Основные функции для работы со… Подробнее »

(MQL) 2.3 Расширение структуры проекта.

Не смотря на то, что наш проект пока содержит всего два файла, потребовалось его немного расширить. Расширение структуры проекта На данный момент создаваемый нами проект имеет следующий вид: Чем он отличается от первоначальной структуры? Во-первых в папке «Classes» появились новые директории: Allowed Bar Во-вторых в корень проекта были добавлены директории «Defines» и «Structure». В папке «Allowed» будут расположены… Подробнее »

(MQL) 2.2 Преобразование данных. Приведение типа переменной

В прошлой статье, посвящённой преобразованию данных, была рассмотрена целая группа функций. Среди них была шаблонная функция «Convert()». Данная функция выполняет приведение типов переменных. Но для этого ей необходимо передать два аргумента. Однако нам, в процессе разработки фреймворка, может понадобится преобразовать тип уже имеющейся переменной, содержащей некоторые данные. Приведение типа переменной Чтобы это сделать без потери данных, нам потребуется… Подробнее »

(PHP) 1.3 Оформление сообщений об ошибке. Класс «FormatAbstract»

Наверное вы замечали, что при проблемах в работе системы управления сайтом появляются различные сообщения. Зачастую они выводятся одной строкой. Чтобы разобрать её содержание придётся потратить какое-то время. Было бы намного легче читать сообщения, где каждый блок информации отделён от другого. Поэтому в данной статье мы напишем класс (FormatAbstract), который будет отвечать за обработку получаемых сообщений и их оформление… Подробнее »

(MQL) 2.1 Преобразование данных

В прошлой статье я описал некоторые перечисления. По сути это один из видов данных, которые будут активно использоваться нашим фреймворком. В дальнейшем очень часто будет возникать необходимость в преобразовании данных. Поэтому надо уже сейчас создавать необходимый функционал. Речь идёт о функциях-помощниках. Их ещё называют «Хелперы». Шаблонные функции Для начала разберёмся с приведением типов. Это преобразование данных одного типа… Подробнее »

(PHP) 1.2 Уровни ошибок — класс LogLevelsClass

В прошлой статье была представлена полная структура обработчика ошибок. В этой статье мы рассмотрим класс «LogLevelsClass«. Это класс описывает уровни ошибок. Так как этот класс самостоятельный, то он располагается в директории «class» корневой папки компонента ядра «Log». Сам класс определён в следующем пространстве имён: namespace Hydra\Log\Levels; Константы класса «LogLevelsClass». Уровни ошибок В самом классе объявляется ряд констант, один… Подробнее »

(MQL) 1. Перечисления

Перечисляемый тип (сокращённо перечисления, англ. enumeration, enumerated type) —  тип данных, который является набором идентификаторов, играющих ту же роль, что и обычные именованные константы. В основном все перечисления, используемые в проекте, служат своеобразными указателями, которые говорят о том, какие операции необходимо сделать. Прежде чем перейти к описанию перечислений, стоит рассмотреть такие понятия, как «заявка» и «позиция». Позиция и заявка (ордер). В чём отличие?… Подробнее »

(PHP) 1.1 Обработчик ошибок. Интерфейсы

В любой работе случаются ошибки. Можно использовать совершенную технику или же быть специалистом экстра класса, но от ошибок никто не застрахован. Так и с программным кодом. Каким классным программистом вы бы ни были, ошибки в работе кода всё равно могут быть. Их нужно отслеживать и исправлять. Именно поэтому так важно иметь под рукой инструменты обработки ошибок. «Эталонный» обработчик… Подробнее »

(PHP)1. Общая структура проекта

Создание ядра для системы управления сайтом (CMS) требует немало времени. Особенно если разработчик это делает впервые. Ядро — это фреймворк(CMF). Конечно создание свой CMS у многих вызывает недоумение. Какой смысл это делать, если уже существует множество готовых решений? Какой толк от собственной CMS? Конечно на первый взгляд его нет. Но на самом деле это не так. Разрабатывая свою… Подробнее »

(MQL) 0. Торговый фреймворк. Структура проекта

Эта статья открывает целый цикл, посвящённый созданию полноценного торгового фреймворка. Данная библиотека станет основой для создания своих торговых роботов, работающих в торговом терминале MetaTrader 5. Зачем нужны торговые роботы Торговые роботы пользуются всё большей популярностью среди трейдеров. А всё из-за того, что они избавляют от значительного психологического давления, которое испытывает трейдер совершая сделки в реальном времени. Кроме того… Подробнее »