![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Отбой. Разобрался.
Осталось только найти, как ДЛЛ сформировать.
To mathemat:
Интересная идея. Но. :) Дело в том, что в силу своего несовершенства человеку свойственно изобретать нечто работающее в определенных граничных условиях.
Начиная от колеса для суши, весла для моря и заканчивая трендовыми и флетовыми стратегиями. Мы строим наши системы из нескольких подсистем:
торговая стратегия, система фильтров, определяющих граничные условия и подсистемы управления капиталом, которая призвана ограничить неудачи первых двух.
Просто мы так привыкли делать. Но наличие оной торговой стратегии (метода), которая опирается на фундаментальные (основные) свойства цены и в силу этого
является прибыльной, делает остальные подсистемы-"заплатки" просто ненужными. И эта единственная система должна быть проста.
К сожалению (или к счастью), ее пока никто не нашел. А если нашел, то мы об этом не узнаем :)
Возвращаюсь к работе.
Если искать закономерности, то в самой цене.
Это правильно!
Основная наша ошибка в том, что мы пытаемся использовать матаппарат дифференциального исчисления (ряд тейлора и т.п.) к ВР типа ценовому. Конечно, это невозможно т.к. ценовой ряд не является гладким (первая разность знакопеременна) и в этой ситуации мы делаем следущющий "гениальный" шаг - мы сглаживаем исходный ВР муингом или вейвлетами и уже проделываем с гладким рядом всё что угодно, забывая, что эта процедура не добавляет никакой полезной информации к той, что уже имели. Мы топчимся на месте пытаясь, говоря образно, вытащить себя за волосы из болота. Нельзя сгладив ценовой ряд и затем построив на его основе прогноз (любым способом) получить информацию, которой не было в исходном ВР.
Поэтому, единственный способ не терять времени и сил, это работать с исходным ценовым рядом без привлечения методов дифференциального исчисления напрямую или косвенно, имеет смысл, например, использывать аппарат НС, регрессионные методы и т.п.
Это правильно!
Основная наша ошибка в том, что мы пытаемся использовать матаппарат дифференциального исчисления (ряд тейлора и т.п.) к ВР типа ценовому. Конечно, это невозможно т.к. ценовой ряд не является гладким (первая разность знакопеременна) и в этой ситуации мы делаем следущющий "гениальный" шаг - мы сглаживаем исходный ВР муингом или вейвлетами и уже проделываем с гладким рядом всё что угодно, забывая, что эта процедура не добавляет никакой полезной информации к той, что уже имели. Мы топчимся на месте пытаясь, говоря образно, вытащить себя за волосы из болота. Нельзя сгладив ценовой ряд и затем построив на его основе прогноз (любым способом) получить информацию, которой не было в исходном ВР.
Поэтому, единственный способ не терять времени и сил, это работать с исходным ценовым рядом без привлечения методов дифференциального исчисления напрямую или косвенно, имеет смысл, например, использывать аппарат НС, регрессионные методы и т.п.
Никто и не говорит о добавлении какой-то информации к существующей методами преобразования.
Я говорю наоборот, преобразование - способ удаления лишней информации и акцентирования внимания на полезной ее составляющей.
Кстати, НС вы не обучите на чистых данных цены. Все равно их придется как-то нормализовать и сгладить. А это уже преобразование :)
С регрессионными методами не знаком, поэтому на их счет спорить не буду.
Я говорю наоборот, преобразование - способ удаления лишней информации и акцентирования внимания на полезной ее составляющей.
Кстати, НС вы не обучите на чистых данных цены. Все равно их придется как-то нормализовать и сгладить. А это уже преобразование :)
Это вы правильно говорите.
Кстати, НС можно обучить именно что на любых данных, вопрос только - за какое время... Обучение, это очень ресурсоёмкий процесс и наша задача, так подготовить входные данные, чтобы максимально облегчить задачу для НС, но в то же время не решить её за неё:-)
Что касаентся предварительного сглаживания данных для НС, то это нонсенс, поскольку неизбежная при этой процедуре ФЗ начисто лишит НС её предсказательных качеств, точнее ничего нового ей не даст. Но я уже повторяюсь.
Кстати, НС можно обучить именно что на любых данных, вопрос только - за какое время...
Но если данные зашумлены обучение должно быть менее успешным, не так ли? К тому же примеры со временем меняются. И если выбрать большой период обучения, то данные будут противоречивы. Сеть постоянно нужно переобучать, так как меняются правила и реакция масс на события.
Обучение, это очень ресурсоёмкий процесс и наша задача, так подготовить входные данные, чтобы максимально облегчить задачу для НС, но в то же время не решить её за неё:-)
Согласен :)
Что касаентся предварительного сглаживания данных для НС, то это нонсенс, поскольку неизбежная при этой процедуре ФЗ начисто лишит НС её предсказательных качеств, точнее ничего нового ей не даст. Но я уже повторяюсь.
А у Вас действительно получалось обучить сеть на несглаженных данных причем, чтобы она работала некторое время за пределами обучающей выборки?
Но если данные зашумлены обучение должно быть менее успешным, не так ли?
Вы берётесь судить, где шум, а где полезная информация? Я бы не был бы столь уверенным в своём знании истины, пусть НС решает эту достойную для неё задачу.
К тому же примеры со временем меняются. И если выбрать большой период обучения, то данные будут противоречивы. Сеть постоянно нужно переобучать, так как меняются правила и реакция масс на события.
Согласен 100%
А у Вас действительно получалось обучить сеть на несглаженных данных причем, чтобы она работала некторое время за пределами обучающей выборки?
Я переобучаю сеть на каждом шаге прогноза (на каждом отсчёте), точнее не обучаю с "нуля", а дообучаю, именно на не сглаженных данных.
Прямо сейчас я исследую зависимость доли правильно распознаных направлений движений цены (ось ординат) как функцию от числа эпох обучений (ось абсцисс). Данные приведены для двуслойной нелинейной НС с 8-мю нейронами в скрытом слое и 3 входами. Красным показана обучающая выборка, синим - тестовая, на данных не принимавших участия в обучении. Каждая точка есть результат статистической обработки 100 независимых экспериментов.
Установил матлаб 7.01. Мощная штука.
Нашел вейвлеты.
А как мне загрузить мой сигнал в систему?
Есть ли конвертер например из текстового файла в МАТовский?
А почему не последний 77? В нем исправлены баги, в частности в работе с длл. У меня длл от 7.1 висли периодически, замучался искать причину, так и не нашел. С 77 работает отлично, к тому же нет лишеих папок с файлами. Если покупали диск, советую заменить на последний R2008b.
Правильно ли я понял из рисунка, что сеть угадывает направление в 30% случаев?
Вы не пытались работать с коллегией сетей. Например с 3мя или 5ю для уточнения решения.
Или с парой сетей: одна угадывает только вверх, вторая, только вниз.
Кстати, почему именно 3 (или 5, я что-то запутался ;) ) входных нейрона. Просто я встречал сети с 4, 7 или 15 входами :)
p.s.
Я как-то проводил опыт. загнал в память всю историю, какая была, и искал наиболее схожие ситуации с текущей
методом векторного расстояния (нормализованных векторов, естественно). В 60% случаев история повторялась :)
Но там еще все зависит от дальности прогноза и длины вектора.
А почему не последний 77? В нем исправлены баги, в частности в работе с длл. У меня длл от 7.1 висли периодически, замучался искать причину, так и не нашел. С 77 работает отлично, к тому же нет лишеих папок с файлами. Если покупали диск, советую заменить на последний R2008b.
Ну это первое, что нашел. В последствии заменю на 7.7.
Проанализировал вейвлеты в тулбоксе. Мейера определенно больше подходит, чем Добеши.
Но все равно иногда ошибается. Например, показывает чистый максимум в момент застоя перед броском вверх :).
Хотя, о скором броске указывал detail последнего уровня. Он был в минимуме.
Хочу сделать индикатор из синтезированного сигнала и двух детализаций и посмотреть зависимости.
Сейчас разбираюсь с формированием ДЛЛ.