Индикатор Chande Kroll Stop предназначен для определения уровней установки стоп-лосса. На графике он отображается двумя линиями. Красная линия указывает уровень стопа для коротких позиций, зеленая линия – для длинных. Линия для длинных позиций показывает, где следует устанавливать стоп-лосс: если актив падает и достигает этой линии, это сигнал к закрытию покупок. Линия для коротких позиций указывает, где закрывать короткие позиции: если цена актива растет и касается этой линии, это сигнал к закрытию продаж.
Chande Kroll Stop рассчитывается на основе истинного диапазона, что делает его независимым от волатильности инструмента. Индикатор впервые был описан в книге «The New Technical Trader» Тушаром Чанде и Стэнли Кроллом. Индикатор следует за трендом, рассчитывая средний истинный диапазон рыночного тренда и учитывая любую волатильность рынка.
В расчете индикатора используются максимал...
Читать далее...
Chande Kroll Stop рассчитывается на основе истинного диапазона, что делает его независимым от волатильности инструмента. Индикатор впервые был описан в книге «The New Technical Trader» Тушаром Чанде и Стэнли Кроллом. Индикатор следует за трендом, рассчитывая средний истинный диапазон рыночного тренда и учитывая любую волатильность рынка.
В расчете индикатора используются максимал...
Читать далее...
👍9👏3❤1
Линейная регрессия - ключ к пониманию нейронных сетей в MQL5! Узнайте, как применять простейшие математические методы для создания и оптимизации алгоритмов машинного обучения. Программисты, приходите выяснить, как линейные регрессии и производные помогают машинам создавать уравнения для точнейшего описания данных. Всё это на примере кода, который можно легко адаптировать. Проверенные методы и глубокое объяснение математических основ сделают процесс обучения понятным и увлекательным. Реализуйте мощные алгоритмы и понимайте их работу без сложных математических теорий!
Читать далее...
Читать далее...
👍5❤2🔥2👏2
Метод опорных векторов (SVM) — мощный инструмент для классификации данных в алгоритмической торговле. Основное отличие от кластеризации — наличие учителя для разделения данных на предопределенные наборы. SVM выделяется за счет способности работать с многомерными данными, определяя гиперплоскости для их разделения. Это делает его эффективным, особенно при малых и дисбалансных наборах данных.
В статье рассмотрены реализация SVM для двумерных данных с помощью полинома Ньютона, а также три подхода к интерполяции гиперплоскости. SVM полезен для фильтрации спама и оценки заемщиков, и, несмотря на сложность, SVM надежен и эффективен в условиях ограниченных данных.
Читать далее...
В статье рассмотрены реализация SVM для двумерных данных с помощью полинома Ньютона, а также три подхода к интерполяции гиперплоскости. SVM полезен для фильтрации спама и оценки заемщиков, и, несмотря на сложность, SVM надежен и эффективен в условиях ограниченных данных.
Читать далее...
👍4❤2👏2
Недавняя статья упрощает переход советника MetaTrader 5 из тестирования в реальную торговлю. Основное внимание уделено механизму извлечения значимых данных из базы, достигшей нескольких гигабайт. Таким образом, вместо загрузки всей базы, используется малая часть данных, необходимая для работы.
Советник теперь может автоматически восстанавливать работу после перезапуска, использовать различные названия инструментов и завершать сделки по установленным показателям. Благодаря новому методу оптимизации стратегий, отбор групп происходит эффективнее, что упрощает последующую работу.
Эти улучшения позволяют повысить точность и скорость работы советника, значительно облегчив разработку и реализацию торговых стратегий для трейдеров и разработчиков.
Читать далее...
Советник теперь может автоматически восстанавливать работу после перезапуска, использовать различные названия инструментов и завершать сделки по установленным показателям. Благодаря новому методу оптимизации стратегий, отбор групп происходит эффективнее, что упрощает последующую работу.
Эти улучшения позволяют повысить точность и скорость работы советника, значительно облегчив разработку и реализацию торговых стратегий для трейдеров и разработчиков.
Читать далее...
👍9🔥3👏2🤔2
Решение задач в области автономного вождения и трейдинга связано с анализом динамических условий и безопасным маневрированием. Автономные транспортные средства должны понимать окружающую обстановку и строить прогнозы. Прогнозирование маневров сложно, так как цели участников неизвестны.
Взаимодействие агентов и правила дорожного движения усложняют задачу понимания поведения на дороге. Современные исследования используют векторизованный подход для компактного представления сцен. Однако, при быстром изменении трафика, эти методы могут быть неустойчивы.
Нормализация сцен относительно целевого агента требует значительных вычислительных ресурсов. Чтобы улучшить прогнозирование, авторы предлагают иерархический подход с использованием Transformer и симметрий задачи.
Читать далее...
Взаимодействие агентов и правила дорожного движения усложняют задачу понимания поведения на дороге. Современные исследования используют векторизованный подход для компактного представления сцен. Однако, при быстром изменении трафика, эти методы могут быть неустойчивы.
Нормализация сцен относительно целевого агента требует значительных вычислительных ресурсов. Чтобы улучшить прогнозирование, авторы предлагают иерархический подход с использованием Transformer и симметрий задачи.
Читать далее...
👍6👏2
Представляем образовательный материал о матричных вычислениях в программировании. Вопреки распространенным заблуждениям, хороший код не обязательно включает сложные математические формулы либо модные языки. Программист должен понимать вычислительные процессы компьютера.
Все, что мы создаем, включая простые текстовые редакторы, опирается на математические расчеты. Часто применяют два подхода: скалярный и матричный. Скалярные вычисления используют функции языка программирования, написанные в привычной форме.
Матричные либо векторные вычисления удобны при обработке больших данных и работе с многомерными массивами. Например, вращение объектов и ортогональные проекции в 3D гораздо проще реализовать с использованием матриц. Важно понимать оба метода для повышения эффективности программирования.
Для демонстрации рассмотрим простой код на MQL5. Этот код создает индикатор, изменяющий цвет о...
Читать далее...
Все, что мы создаем, включая простые текстовые редакторы, опирается на математические расчеты. Часто применяют два подхода: скалярный и матричный. Скалярные вычисления используют функции языка программирования, написанные в привычной форме.
Матричные либо векторные вычисления удобны при обработке больших данных и работе с многомерными массивами. Например, вращение объектов и ортогональные проекции в 3D гораздо проще реализовать с использованием матриц. Важно понимать оба метода для повышения эффективности программирования.
Для демонстрации рассмотрим простой код на MQL5. Этот код создает индикатор, изменяющий цвет о...
Читать далее...
👍6❤2👏2
Мультисимвольный индикатор отслеживает изменения цен символов из Обзора рынка между двумя выбранными датами, заданными вертикальными линиями. Это позволяет пользователям оценивать, как и насколько изменились цены, улучшая понимание общей рыночной ситуации. Даты контролируются с помощью мыши, а отображение регулируется через клавиатуру с использованием заданных клавиш, что обеспечивает оперативную смену символов. Изначальное удобство работы с индикатором можно оценить только после его запуска и тестирования. Особенность индикатора в том, что он автоматически перезагружается при старте и самозапускается при смене символа.
Читать далее...
Читать далее...
❤4👍4👏2
В новой статье обсуждается последний этап разработки торгового индикатора для MetaTrader 5 с использованием языка MQL5, нацеленного на создание взаимодействующей системы. Вместо традиционных методов использован более современный подход, что позволяет обновлять данные без применения объектов, сохраняя только один объект на графике. Разработчики смогут понять важность глубокого знания платформы MetaTrader 5 для достижения результатов, которые кажутся невозможными на первый взгляд. Программирование используется как инструмент для расширения возможностей платформы, превращая базовые операции в инновационные решения.
Читать далее...
Читать далее...
👍7👏3🤓1
Представлен новый советник для автоматизации торговли. При открытии ордера система выставляет дополнительные ордера по заданной сетке, с возможностью изменения размера лота (в зависимости от настроек). Также есть возможность настройки сетки по RSI и CCI индикаторам, соблюдая шаг сетки, то есть сетка плюс сигнал. Закрытие позиций происходит при достижении целевого профита или при развороте по MA индикатору. Существует возможность закрытия отдельно Sell или Buy ордеров, либо всей серии целиком. Советник может самостоятельно торговать по сигналам. Любые обнаруженные ошибки в коде или предложения по оптимизации приветствуются.
Читать далее...
Читать далее...
👍5❤1👏1👨💻1
Статья о пространственно-временном слиянии в трейдинге раскрывает подход к вероятностному прогнозированию спроса и предложения на рынке ценных бумаг. В отличие от традиционных временных рядов, здесь используется двусторонний метод, учитывающий медвежий и бычий настрои. Представлены уравнения для прогнозирования с использованием нейронной сети вместо трансформеров, что делает решение более масштабируемым и настраиваемым. Основные буферы данных включают цены открытия, закрытия и временные метрики. Практическая реализация рассмотрена на примере написания многослойного перцептрона и прогнозирования на паре EURUSD.
Читать далее...
Читать далее...
👍5🔥3❤2👌1
Денежный поток Чайкина (CMF) – индикатор для измерения объема денежного потока за определенный период. Он оценивает давление покупателей и продавцов ценных бумаг. CMF суммирует данные за указанный период, обычно 20 или 21 день. Значение колеблется между 1 и -1.
Интерпретация: значения ближе к 1 предполагают высокий покупательский спрос, ближе к -1 – давление продаж. При бычьем тренде, значения CMF выше 0 указывают на вероятный рост цен. При медвежьем тренде, значения CMF ниже 0 предсказывают падение цен.
Пересечения нулевой линии могут указывать на смену тренда. Пересечение снизу вверх предполагает рост, сверху вниз – падение цен. Важно учитывать возможность ложных сигналов и корректировать пороговые значения для конкретных ценных бумаг.
Недостатки CMF связаны с неприятием в расчетах изменений торгового диапазона между периодами, что может привести к несоответствию между ценой и по...
Читать далее...
Интерпретация: значения ближе к 1 предполагают высокий покупательский спрос, ближе к -1 – давление продаж. При бычьем тренде, значения CMF выше 0 указывают на вероятный рост цен. При медвежьем тренде, значения CMF ниже 0 предсказывают падение цен.
Пересечения нулевой линии могут указывать на смену тренда. Пересечение снизу вверх предполагает рост, сверху вниз – падение цен. Важно учитывать возможность ложных сигналов и корректировать пороговые значения для конкретных ценных бумаг.
Недостатки CMF связаны с неприятием в расчетах изменений торгового диапазона между периодами, что может привести к несоответствию между ценой и по...
Читать далее...
👍7✍2❤1
В этой статье продолжим изучение функций для работы с массивами в MQL5. Будут рассмотрены функции ArrayPrint, ArrayInsert, ArraySize, ArrayRange, ArrayRemove, ArraySwap, ArrayReverse и ArraySort.
Функция ArrayPrint() выводит элементы массива в консоль для отладки. Необходимые параметры включают массив, количество знаков после запятой и разделитель. Пример применения функции показывает, как параметры изменяют вывод.
Функция ArrayInsert() вставляет элементы одного массива в другой, сохраняя порядок и структуру массива. Примеры демонстрируют отличие от функции ArrayCopy(), которая заменяет элементы в целевом массиве.
Функция ArraySize() определяет количество элементов в одномерном массиве, возвращая общее число элементов. Она помогает разработчикам оценить размер массива для дальнейшей обработки.
Функция ArrayRange() полезна для работы с многомерными массивами, позволяя определить ко...
Читать далее...
Функция ArrayPrint() выводит элементы массива в консоль для отладки. Необходимые параметры включают массив, количество знаков после запятой и разделитель. Пример применения функции показывает, как параметры изменяют вывод.
Функция ArrayInsert() вставляет элементы одного массива в другой, сохраняя порядок и структуру массива. Примеры демонстрируют отличие от функции ArrayCopy(), которая заменяет элементы в целевом массиве.
Функция ArraySize() определяет количество элементов в одномерном массиве, возвращая общее число элементов. Она помогает разработчикам оценить размер массива для дальнейшей обработки.
Функция ArrayRange() полезна для работы с многомерными массивами, позволяя определить ко...
Читать далее...
👍5👌2✍1
MQTT — это легкий протокол обмена сообщениями, основанный на модели "издатель/подписчик". Он позволяет обмениваться данными в реальном времени, включая текст, XML, JSON, бинарные данные и изображения. MQTT используется в сценариях, требующих устойчивости к сбоям сети и массового подключения устройств.
В первой статье серии описаны основы MQTT. Вторая статья рассмотрела организацию кода клиента.
Третья часть посвящена флагам CONNECT. В четвертой статье обсуждаются свойства MQTT 5.0. В пятой части освещены уровни качества обслуживания (QoS) с детализацией их работы. Шестая статья охватила рефакторинг кода и пакет управления PUBACK.
Последняя статья предоставляет рабочий код для решения проблемы отсутствия необходимого символа для индикаторов в MetaTrader 5 с помощью MQTT. Предложено использование пользовательских символов и пары клиентов MQTT, работающих как сервисы, что позволяет р...
Читать далее...
В первой статье серии описаны основы MQTT. Вторая статья рассмотрела организацию кода клиента.
Третья часть посвящена флагам CONNECT. В четвертой статье обсуждаются свойства MQTT 5.0. В пятой части освещены уровни качества обслуживания (QoS) с детализацией их работы. Шестая статья охватила рефакторинг кода и пакет управления PUBACK.
Последняя статья предоставляет рабочий код для решения проблемы отсутствия необходимого символа для индикаторов в MetaTrader 5 с помощью MQTT. Предложено использование пользовательских символов и пары клиентов MQTT, работающих как сервисы, что позволяет р...
Читать далее...
👍10👏4❤1
Средний дневной диапазон (ADR) и средний истинный диапазон (ATR) - это индикаторы волатильности, используемые в финансовом анализе. ADR показывает среднюю амплитуду колебаний цены за заданный период, рассчитывая разницу между максимальной и минимальной ценой каждого дня и беря среднее значение этих разниц. Это помогает трейдерам понять ожидаемую волатильность и планировать торговые стратегии.
ATR также измеряет волатильность, но использует несколько иной метод расчета, который делает его более универсальным. ATR учитывает максимальную разницу между текущим максимумом и минимумом, максимумом текущего дня и закрытием предыдущего дня, а также минимальным значением текущего дня и закрытием предыдущего дня. Это значение затем усредняется за определённый период, часто 14 дней.
Основные различия включают методику расчета: ADR фокусируется на дневных максимумах и минимумах, в то время как A...
Читать далее...
ATR также измеряет волатильность, но использует несколько иной метод расчета, который делает его более универсальным. ATR учитывает максимальную разницу между текущим максимумом и минимумом, максимумом текущего дня и закрытием предыдущего дня, а также минимальным значением текущего дня и закрытием предыдущего дня. Это значение затем усредняется за определённый период, часто 14 дней.
Основные различия включают методику расчета: ADR фокусируется на дневных максимумах и минимумах, в то время как A...
Читать далее...
👍8⚡1✍1❤1👏1
В статье обсуждаются улучшения индикатора Chart Trade, улучшающего интерактивность графиков в MetaTrader 5. Добавлен макрос для стандартизации сообщений об ошибках, что помогает при отладке. Также реализованы механизмы для сохранения и восстановления данных при смене таймфреймов, предотвращая потерю информации. Класс C_ChartFloatingRAD позволяет редактировать значения прямо на графике, улучшая пользовательский опыт. Важный аспект статьи — использование глобальных переменных терминала для сохранения конфиденциальных данных индикатора, обеспечивая плавный переход при изменении таймфреймов. Эти нововведения делают систему более надежной и удобной для трейдеров.
Читать далее...
Читать далее...
👍7❤4✍1👏1
Индикатор настраивает произвольный секундный таймфрейм на графике. Спецификации: количество дней – слишком большой период может увеличить время вычислений. Таймфрейм указывается в секундах. Возможность отображения в виде баров или свеч. Тестирование показало, что индикатор отображает свечи корректно. Важно понимать, что это не полноценный секундный график, а только индикатор. На него нельзя добавлять другие индикаторы. В случае установки других индикаторов их значения будут соответствовать таймфрейму исходного графика, а не секундному.
Читать далее...
Читать далее...
👍9👏1
Метод табу-поиска, предложенный Фредом Гловером, является ключевым инструментом для комбинаторной оптимизации, эффективно предотвращая возврат к уже исследованным решениям с помощью табу-листа. Недавние усовершенствования позволяют адаптировать его к задачам непрерывного поиска. В данной модификации введены "белые" и "черные" списки, которые фиксируют удачные и неудачные решения, соответственно, контролируя диверсификацию поиска. Наряду с использованием структур данных для отслеживания поисковых пространств, это нововведение помогает избежать залипания на неэффективных секторах. Таким образом, табу-поиск становится мощным инструментом для оптимизации сложных задач алгоритмической торговли.
Читать далее...
Читать далее...
👍7❤1👏1
В этой статье обсуждается создание индикатора для MetaTrader 5, который помогает программе принимать решения на основе анализа свечей. Индикатор отслеживает внутренние и внешние бары, автоматически ставит метки на длинных свечах, и позволяет пользователю выбирать параметры отображения. Основное внимание уделяется булевским выражениям, оператору if и логическим операторам, включенным в MQL5. Также рассматриваются циклы с предусловием и постусловием. Практические применения включают улучшение автоматизации торговых стратегий и повышение эффективности алгоритмических трейдеров.
Читать далее...
Читать далее...
👍8👏1
Недавно рассмотренный алгоритм Hierarchical Vector Transformer (HiVT) предлагает инновационный подход к прогнозированию движения агентов в автономном вождении. Метод разделяет задачу на три этапа: локальное извлечение контекста, глобальное моделирование взаимодействий и прогнозирование траекторий.
Во-первых, модель извлекает локальные контекстные признаки, деля сцену на набор локальных областей для каждого агента. Затем фиксируются глобальные зависимости между этими областями. Это позволяет декодеру предусмотреть будущие траектории агентов.
Теперь важно интегрировать отдельные блоки в единую структуру. Следует приступить к реализации класса CNeuronHiVTOCL, унаследованного от CNeuronBaseOCL. Инициализация объектов и переменных происходит в методе Init.
Особое внимание уделяется векторизации данных и анализу зависимостей на каждом этапе. Обогащение эмбедингов локальными и временными ...
Читать далее...
Во-первых, модель извлекает локальные контекстные признаки, деля сцену на набор локальных областей для каждого агента. Затем фиксируются глобальные зависимости между этими областями. Это позволяет декодеру предусмотреть будущие траектории агентов.
Теперь важно интегрировать отдельные блоки в единую структуру. Следует приступить к реализации класса CNeuronHiVTOCL, унаследованного от CNeuronBaseOCL. Инициализация объектов и переменных происходит в методе Init.
Особое внимание уделяется векторизации данных и анализу зависимостей на каждом этапе. Обогащение эмбедингов локальными и временными ...
Читать далее...
👍6❤1👏1
Оптимизация в MetaTrader 5 включает этапы формирования и решения задачи с использованием входных переменных, целевых функций и ограничений. В статье описывается методика многоцелевой оптимизации путем взвешенного суммирования целевых функций, а также добавление ограничений с помощью модифицированного подхода множителей Лагранжа. Упор делается на использование быстрого генетического алгоритма, который упрощает учет ограничений. Приведены примеры целевых функций и ограничений, а также советы по их настройке для достижения наилучших результатов. Рассматриваемый код позволяет гибко адаптировать стратегию для сложных условий торговли.
Читать далее...
Читать далее...
👍4✍1❤1👏1
Индекс американского доллара (U.S. Dollar Index) используется для прогнозирования движения валютных курсов, отражая относительную стоимость доллара. Введён в 1973 году, индекс постоянно обновляется на данных 500 крупнейших банков мира.
В 1999 году методика расчета изменилась с появлением евро. USDX рассчитывается как среднее геометрическое валютной корзины: евро (57.6%), иена (13.6%), фунт (11.9%), канадский доллар (9.1%), шведская крона (4.2%), франк (3.6%).
Индекс евро (Euro Currency Index) показывает изменение курсов доллар США, фунт, иена, франк и крона относительно евро. Введен в 2006 году на NYBOT как тикеры ECX, EURX. Принципы расчета аналогичны USDX с использованием геометрического среднего взвешенного.
Читать далее...
В 1999 году методика расчета изменилась с появлением евро. USDX рассчитывается как среднее геометрическое валютной корзины: евро (57.6%), иена (13.6%), фунт (11.9%), канадский доллар (9.1%), шведская крона (4.2%), франк (3.6%).
Индекс евро (Euro Currency Index) показывает изменение курсов доллар США, фунт, иена, франк и крона относительно евро. Введен в 2006 году на NYBOT как тикеры ECX, EURX. Принципы расчета аналогичны USDX с использованием геометрического среднего взвешенного.
Читать далее...
👍7✍6👏1