Обсуждение статьи "Переосмысливаем классические стратегии (Часть II): Пробои индикатора Bollinger Bands"
Ознакомьтесь с новой статьей: Переосмысление классических стратегий (часть II): Прорывы полос Боллинджера.
Автор: Гамучирай Зороро Ндавана
Привет, Ндавана
Прежде всего, спасибо за статью и упрощение мифа об ИИ :) Я пытаюсь использовать сигнал, сгенерированный из этой статьи, в своем коде с некоторыми изменениями.
Не могли бы вы объяснить причину (причины), по которой вы использовали векторы, а не простые массивы в своем коде?
Привет, Ндавана
Прежде всего, спасибо за статью и упрощение мифа об ИИ :) Я пытаюсь использовать сигнал, сгенерированный из этой статьи, в своем коде с некоторыми изменениями.
Не могли бы вы объяснить причину (причины), по которой вы использовали векторы, а не простые массивы в вашем коде?
Мое предпочтение векторам исходит из специализированных функций, которые доступны только векторам, помимо этих специальных функций векторы также позволяют нам выполнять вычисления над всеми элементами сразу. Вот простой пример.
//+------------------------------------------------------------------+ //| Anil.mq5 | //| Gamuchirai Zororo Ndawana | //| https://www.mql5.com/en/gamuchiraindawa | //+------------------------------------------------------------------+ #property copyright "Gamuchirai Zororo Ndawana" #property link "https://www.mql5.com/en/gamuchiraindawa" #property version "1.00" //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- Here is my problem with arrays double anil_array[3]; ArrayFill(anil_array,0,3,0); ArrayPrint(anil_array); //--- We have to iterate over all the elements to perform calculations for(int i = 0; i < 3; i++) { anil_array[i] += 1; } ArrayPrint(anil_array); //--- And the same operation with vector vector anil_vector = vector::Zeros(3); //Simillar to an array full of Zeros Print(anil_vector); //--- Vectors allow us to perform calculations on all the elements at once anil_vector = anil_vector + 1; Print(anil_vector); } //+------------------------------------------------------------------+
.
Представьте, что если в будущем мы придумаем вычисления, которые могут быть полезны, то модифицировать кодовую базу будет намного проще, так как мы используем векторы.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Переосмысливаем классические стратегии (Часть II): Пробои индикатора Bollinger Bands:
В статье рассматривается торговая стратегия, объединяющая линейный дискриминантный анализ (Linear Discriminant Analysis, LDA) с полосами Боллинджера с использованием прогнозов категориальных зон для стратегических сигналов входа в рынок.
Термин «искусственный интеллект» (ИИ) небезосновательно считают одним из самых дезориентирующих в истории с точки зрения выбора названия. После прочтения этой статьи вы, вероятно, согласитесь, что «ИИ» — неправильное название. Как для автора, для меня проблема — в слове «интеллект». ИИ-модели не обладают интеллектом в человеческом смысле слова. Вместо этого они представляют собой интеллектуальные приложения алгоритмов оптимизации.
ИИ-модели в первую очередь предназначены для сведения к минимуму ошибок или получения максимальной прибыли в рамках системы. Однако решения на основании этих моделей не всегда практичны. Например, ИИ-система для минимизации потерь на торговом счете может прийти к выводу, что отказ от размещения сделок будет наилучшим решением, поскольку гарантирует отсутствие потерь. Хотя такое решение математически удовлетворяет рассматриваемой задаче, оно не имеет практического применения для торговли.
Как интеллектуальные специалисты по ИИ, мы должны обеспечивать тщательно спланированные ограничения для моделей. В рамках этой статьи будем управлять ИИ-моделями с помощью полос Боллинджера. Выделим четыре возможные зоны, в которых в любой момент времени может оказаться цена. Обратите внимание, что в конкретный момент цена может находиться только в одной из этих четырёх зон:
Научим модель понимать, как происходят перемещения цены между этими четырьмя зонами, и прогнозировать следующую зону, в которую переместится цена. Генерация торговых сигналов происходит при каждом переходе цены из одной зоны в другую. Например, если по прогнозу модели цена переместится из Зоны 2 в Зону 1, интерпретируем это как восходящее движение и инициируем ордер на покупку. Наши модель и советник будут полностью реализованы на встроенном языке MQL5.
Индикатор Bollinger Bands можно использовать в самых разных торговых стратегиях: от следования за трендом до определения точек поворота или разворота. Технически этот индикатор состоит из экспоненциальной скользящей средней (EMA), которая обычно сглаживает цену закрытия ценной бумаги. Она окружена двумя дополнительными полосами: одна расположена выше, а другая — ниже EMA, и каждая из них обычно устанавливается на уровне 2 стандартных отклонений.
Автор: Gamuchirai Zororo Ndawana