SOMFX1Predictor
- Индикаторы
- Stanislav Korotky
- Версия: 1.3
- Обновлено: 20 ноября 2021
- Активации: 5
Если вы торгуете с использованием свечных фигур и хотите усовершенствовать свои методы современными технологиями, этот индикатор для вас. Фактически он является частью набора инструментов, который основывается на нейросетевом движке самоорганизующихся карт (Self-Organizing Map, SOM) для распознавания и предсказания свечных фигур, а также для исследования входных данных и результатов работы сети. Набор содержит:
- SOMFX1Builder - скрипт для обучения нейронных сетей; он создает файл с обобщенными данными о наиболее характерных ценовых фигурах, который может использоваться для предсказания баров в фигурах либо в отдельном окне (с помощью индикатора SOMFX1), либо непосредственно на основном графике (SOMFX1Predictor);
- SOMFX1 - индикатор для предсказания и визуального анализа ценовых фигур, входных и выходных данных обученной нейронной сети (в отдельном окне);
- SOMFX1Predictor - данный индикатор для предсказания ценовых фигур непосредственно в основном окне;
Если кратко, то весь процесс анализа цен, обучения сети, распознавания фигур и их предсказания заключается в следующих шагах:
- Создание нейронной сети с помощью SOMFX1Builder;
- Анализ качества полученной сети с помощью SOMFX1; если неудовлетворительно, возврат на шаг 1 с новыми настройками; вы можете пропустить шаг 2 по желанию;
- Использование окончательной версии сети для предсказания фигур при помощи SOMFX1Predictor.
Подробности о шагах 1 и 2 - обучении нейросети и визуальном анализе данных - рассматриваются на страницах соответствующих инструментов - SOMFX1Builder and SOMFX1. В этом документе описывается использование SOMFX1Predictor.
Принципы работы
Этот индикатор - наиболее простая часть данного нейросетевого инструментария. Он берет имя файла с обученной нейронной сетью и показывает прогноз на основном ценовом графике. Прогноз изображается красной линией, которая может быть частично толстой, а частично тонкой. Толстые фрагменты означают места, где сеть более уверена в прогнозе. Предсказание начинается от вертикальной пунктирной линии желтого цвета под названием "FromPastToFuture". Вы можете двигать линию на произвольную позицию, и индикатор будет считывать образец цены возле этого места, подавать его на вход SOM, и отображать предсказание следующего движения цены. Текущий образец цены - это фрагмент приращений цен, взятый с PatternSize баров слева от линии "FromPastToFuture". Когда вы открываете индикатор в первый раз, линия помещается на бар LearnStop. Если вы передвинете линию на 0-ой бар, индикатор будет автоматически смещать её на каждый новый 0-ой бар по мере их появления, то есть линия "приклеивается" к последнему бару.
Заметьте, что предсказание начинается с текущего бара, то есть текущий бар тоже предсказывается. Это сделано, потому что текущий бар обычно не закончен и требует предсказания сам по себе. Более того, если принять еще назаконченный бар во внимание, предсказание станет противоречивым (нестабильным во время формирования бара). Из-за того, что текущий бар тоже предсказывается, красная линия начинается на 1 бар левее вертикальной линии "FromPastToFuture" - она показывает, как цена должна меняться на текущем баре.
Индикатор может опционально выводить саму нейронную сеть (карту), если ShowMap равно true. В этом случае на графике появляются две квадратных карты.
Левый квадрат показывает текущую активность нейронов: нейроны с более высоким возбуждением выводятся красным, а с меньшим - синим. Другими словами, чем краснее ячейка на карте, тем лучше нейрон соответствует текущей ценовой фигуре.
Второй - правый - квадрат отображает карту "плотности заселения" ячеек, то есть цвет сигнализирует о количестве образцов в исходных данных, которые попали в соответствующую ячейку и сформировали её ценовую фигуру. Красный цвет означает высокую плотность, а синий - низкую. Серые ячейки не имеют соответствующих им образцов во входных данных.
Параметры
- LearnStart - номер бара в истории, где начинаются обучающие данные, или точные дата и время этого бара (в формате "YYYY.MM.DD HH:MM"); данный параметр - строка, что позволяет вводить и числа, и даты; данный параметр используется здесь не для обучения, а для воссоздания обучающего набора данных (соответствующих нейросети), что важно если параметр UseAverage равен true (см. далее), а также для визуализации "плотности заселения"; по-умолчанию - 5001; если ввести автоматически сгенерированное имя в параметр NetFileName (см. далее), индикатор разделяет имя на составляющие и использует их вместо других параметров, включая и LearnStart; другими словами, данный параметр не влияет на работу, если в параметр NetFileName введено автоматически сгенерированное имя файла нейросети;
- LearnStop - номер бара в истории, где заканчиваются обучающие данные, или точные дата и время этого бара (в формате "YYYY.MM.DD HH:MM"); данный параметр - строка; по-умолчанию - 1; данный параметр используется здесь не для обучения, а для воссоздания обучающего набора данных (соответствующих нейросети), что важно если параметр UseAverage равен true (см. далее), а также для визуализации "плотности заселения"; данный параметр не влияет на работу, если в параметр NetFileName введено автоматически сгенерированное имя файла нейросети;
- PatternSize - количество баров в одной фигуре; по-умолчанию - 5; данный параметр не влияет на работу, если в параметр NetFileName введено автоматически сгенерированное имя файла нейросети;
- GridSize - размер карты; это количество ячеек/нейронов по вертикали и горизонтали; допустимые значения: 3 - 50; по-умолчанию - 7; данный параметр не влияет на работу, если в параметр NetFileName введено автоматически сгенерированное имя файла нейросети;
- PredictionBars - количество баров предсказания; по-умолчанию - 10; обратите внимание, что каждый следующий бар предсказывается с меньшей точностью, чем предыдущий, поскольку ошибки предсказания накапливаются;
- UseAverage - это переключатель специального режима; когда он отключен (false, по-умолчанию) предсказания делаются на основе весов выигравшего нейрона, то есть они определяются исключительно картой; когда режим включен (true), предсказания делаются на основе средней цены всех образцов, отобразившихся на выигравший нейрон; это означает, что в предсказании участвует не только карта, но и данные обучающей выборки, именно поэтому важно указание точных дат и времени для отрезка обучения; с этим параметром можно "поиграть" для получения лучших результатов: использование весов нейронов - это классических подход, но использование средних цен привносит дополнительную привязку к исходным данным - в частности, в этом случае можно принимать во внимание дисперсию и тем самым оценивать точность предсказания;
- PriceType - тип цены; по-умолчанию - close; данный параметр не влияет на работу, если в параметр NetFileName введено автоматически сгенерированное имя файла нейросети;
- AddInvertedPrice - включение/отключение режима, когда в набор образцов добавляются инвертированные ценовые движения; по-умолчанию - true; это означает, что количество образцов увеличится вдвое;
- NetFileName - имя файла обученной нейронной сети, сгенерированного скриптом SOMFX1Builder; если имя формировалось автоматически, оно включает несколько необходимых компонентов, чтобы восстановить вышеперечисленные параметры; таким образом, пользователь может заполнить только один этот параметр; структура имени файла следующая: SOM-V-D-SYMBOL-TF-YYYYMMDDHHMM-YYYYMMDDHHMM-P.candlemap, где V - PatternSize, D - GridSize, SYMBOL - текущий символ, TF - текущий таймфрейм, YYYYMMDDHHMM - LearnStart и LearnStop соответственно; P - PriceType;
- CellSize - размер ячейки при визуализации карты на графике (если ShowMap равно true); по-умолчанию - 20, что подходит для карт размером до 10; для больших карт нужно выбрать размер ячеек поменьше, иначе два представления карты будут перекрываться;
- PrintData - включение/отключение вывода отладочных сообщений в журнал; по-умолчанию - false;
- ShowMap - опция показа карты на графике аналогично тому, как это делается в индикаторе SOMFX1; по-умолчанию - false;
Если какие-то параметры неверны, индикатор выводит сообщение об ошибке в лог. Например, карту можно загружать только на тот же самый символ и тот же самый таймфрейм, на которых она обучалась.
Пользователь не оставил комментарий к оценке