Нейросети.

Тема в разделе "Нейросети", создана пользователем лёксус, 2 авг 2009.

  1. Федя34

    Федя34 Активный пользователь

    Проводил сейчас эксперимент Лексуса, пробовал нейросети в качестве калькулятора, а в результате случайно доказал, что в НСДТ для распознавания паттернов стандартной сеткой (не аддон) нужно подавать информацию о предыдущих барах, и что Lag и Momentum содержат одинаковую информацию.
    Суть эксперимента. Пытался предсказать на бар вперед Lag(1) от SMA(5) (то есть саму SMA(5)).
    SMA(5) - это среднее значение за 5 последних баров или y5=(x1+x2+x3+x4+x5)/5.
    Сначала на вход подал только клоз - результат г...о, затем добавил моментумы от 1 до 4 (в сумме получается информация за 5 баров) - в результате полное совпадение предикта с SMA(5).
    Потом удалил один из моментумов - результат стал отличный от SMA(5), вместо этого моментума добавил лаг - снова получил копию SMA(5).
    Что интересно, число скрытых нейронов в этом предикте 0, хотя макс возможных было 10.
     
  2. Чарикар

    Чарикар Активный пользователь

    For FI
    Что же вы ерундой-то такой занимаетесь? Какой SMA?
    SMA от цены какую область значений имеет? Ценовую.
    А нейросети предсказывают (пытаются предсказать) только переменные с областью значений [-N,+N], с переходом через ноль.
    Для предсказания скользящего среднего от цены на L баров вперёд, нужно предсказывать моментум периода L от этого скользящего среднего.
    На сколько предсказываем вперёд, такой и период моментума. А уж потом, полученный продукт предсказания суммируют с текущим значением
    скользящего среднего. Получается, в результате, спрогнозированное значение скользящего среднего.

    То же самое и с входами. Такие же области значений должны иметь, с переходом через 0.
    Внутри Prediction Wizard они пронормирутся перед употреблением, пользоватьель может не заботиться об этом.
    Цену подавать нельзя. И всё, что имеет, подобную ценовой, область значений.

    Лаги? Только косвенно, т.е. входят в состав рассчётовпо формулам входов, имеющих лаговое окно (период).
    В чистом виде лаги не интересны. К тому же, находящиеся в ценовой области значений.

    Ноль скрытых нейронов... Это значит, что в предикторе только один нейрон - выходной, скрытого слоя нет.

    Любые индикаторы можно подавать в инструментарий несколько раз. И они будут нести разную информацию, при разных
    настройках (период и т.п.). Нейросети надо давать возможность гнуться так, как её надо. Алгоритм настройки сам выберет,
    что ему нужно их инструментария и настроит так, как ему нужно, согласно поставленной задаче. А дело пользователя предо-
    ставить ему такую возможность - накидать в инструментарий побольше вского-разного. Кто знает, что будет нужно и когда...

    Неросети, предложенные для прогнозов в NSDT, ничего распознавать не могут. Это просто изощрённый взвешивающий сумматор.
    Причём, не представляющий из себя ничего интересного без реализации алгоритма подбора весов и входов и параметров входов.
    Алгорит этот настраивает настраивает этот сумматор, чтобы он вываливал похожее на что-то. И никаких распознаваний образов.
    Образы распознают другими алгоритмами, даже если есть в этих алгоритмах нейросетевые аспекты.

    Я же выкладывал абсолютно рабочую нейросеть, реальную. Из рельной системы, которая работает, реально работает.
    Добаить надо только несколько разностей двух EMA(JMA), да несколько Slope. Просто, чтобы инструментарий расширить.
    Наливай и пей. Выкладывал, для образца. Как надо делать. И рассказывал, как делать не надо. А Вы делаете, опять - как не надо...
    Печально.

    ...А воз и ныне там.

    Всё, как в баснях Ивана Крылова, незабвенного... А я уж - как персонаж басни "Мартышкин труд".
    Всё же это так просто. Нет никаких диф.уравнений, интегралов и пр. Достаточно школьной арифметики, право слово.
    Отчего такое непонимание темы у публики, всё же жёвано-пережёвано - мне непонятно...
     
  3. pocketmike

    pocketmike Активный пользователь

    Всем привет.

    Выскажусь, осторожно так.

    Возможно, что помимо всего прочего путаница в голове происходит с этими самыми "образами" и паттернами" + вошебное слово "распознавание".
    Думаю, что нейрошелл не способна находить-предсказывать паттерны. Да и необходимо ли это?

    Паттерн (англ. pattern) — английское слово, значение которого передается по-русски словами «шаблон», «система», «структура», «принцип», «модель».

    Применительно к торговле - все замечательно. Модели: флаг, треугольник и т.п.... свечные, коридор-канал, тренд, флет - все вполне укладывается и все неоднократно повторяется на графике. Однако, все эти штуки имеют одно неприятное свойство - "протяженность" во времени. Т.е. для сформирования флага, например, требуется время.

    Копнем глубже. Вот в МТ4 есть индикатор фрактал. Модель? Вполне. Структура? Да. Повторяется? Еще как. Рисуется на основе анализа пяти баров, кажется. Все прекрасно, а торговать не очень получается, чтобы хуже не сказать. Что мешает:

    1. Время формирования - (без "много пукв") имеет значение и работает против нас.Чтобы снизить запаздывание, сигнал формируется по части полной модели (кажется)
    2. Если модель-паттерн не подтвердилась, то сигнал о появлении уничтожается и появляется там, где сформировалась и подтвердилась. Т.е. - перерисовка
    3. "Размер" паттерна (временной и ценовой) относительно движухи, им подтверждаемой (это про "большие" структуры)

    В НСДТ таким индикатором является ЗигЗаг. Тоже все красиво и также не очень пригодно (доунт юс фор трейдинг).

    Т.о. в таком виде, как описано выше, паттерны не пригодны для применения в НСДТ. Как говорилось выше по ветке, время не имеет значения для формирования котировок, однако в торговом процессе значение оно имеет и работает против нас. Так ведь?

    Теоретически, есть др. "структуры", которые возможно использовать. Я така предполагаю, не более. Искать их стоит во временном "срезе", т.е. Т=0, мгновенное значение. Возможно, что такая конструкция будет выглядеть, типа:
    Инд1>Инд2<Инд3...или Инд1=..., Инд2=...., Инд3=... Возможно, что это может сработать в качестве доп.
    подтверждений. Однако, предсказывать эти вещи или закладывать их в основу системы... ну я даже и не
    знаю, что сказать. Знаю - не стоит, ИМХО.

    Добавлю еще немного ИМХО: образ для распознавания сетью - дерево, например. Или танк. Неважно. Он распознается (узнаваемость) наверное, почти моментально. В нашем случае вся быстрота распознавания (параллельность обработки инфы, о чем говорят как о преимуществе НС в популярной литературе), нивелируется строго последовательной подачей инфы - тики. Посему, не те это образы и паттерны. Путаница.

    Вот такая вот очередная ловушка для мозгов, в моем понимании. Про распознавание, образы, паттерны и пр.

    Касательно входов-выходов и пр. для предикта.

    Нормализация - много всяких определений можно найти. Например: <i>Нормализация (в звукозаписи) — это
    процесс выравнивания частотных характеристик при студийной звукозаписи на магнитный носитель.</i> Или:
    <i>Подготовка и нормализация данных. Исходные данные преобразуются к виду, в котором их можно подать на входы сети. Каждая запись в файле данных называется обучающей парой или обучающим вектором. Обучающий вектор содержит по одному значению на каждый вход сети и, в зависимоссти от типа обучения (с учителем или без), по одному значению для каждого выхода сети. Обучение сети на «сыром» наборе, как правило, не дает качественных результатов. Существует ряд способов улучшить «восприятие» сети...</i>

    Опять "волшебные" слова: входы, выходы, нормализация и т.п. Механизм же уже заложен разработчиками
    программы. Нечего и голову ломать, а вот подготовить данные - необходимо.

    <i>"...SMA от цены какую область значений имеет? Ценовую.
    А нейросети предсказывают (пытаются предсказать) только переменные с областью значений [-N,+N], с
    переходом через ноль.
    Для предсказания скользящего среднего от цены на L баров вперёд, нужно предсказывать моментум периода L от этого скользящего среднего.
    На сколько предсказываем вперёд, такой и период моментума. А уж потом, полученный продукт предсказания суммируют с текущим значением скользящего среднего. Получается, в результате, спрогнозированное значение скользящего среднего.

    То же самое и с входами. Такие же области значений должны иметь, с переходом через 0.
    Внутри Prediction Wizard они пронормирутся перед употреблением, пользоватьель может не заботиться об
    этом.
    Цену подавать нельзя. И всё, что имеет, подобную ценовой, область значений... "</i> (це) Чарикар.

    Вот все и сказано про это дело. И на "бытовом" уровне вполне понятно.

    То <b>Ф.И.</b> Думаю, что про предикты все уже вполне понятно. С их помощью мы получаем опережающие индикаторы. И все. Это совершенно не умаляет их важности и необходимости получения качественных предсказаний. Но, - это все, что они могут делать. Применительно к НСДТ.
    И это меня совершенно не огорчает: сколько сил положено на создание незапаздывающих и даже опережающих индикаторов. "Механических". В наших же руках - почти идеальные индюки и надо "только" правильно этим воспользоваться.

    Чтобы двигаться дальше, необходимо заниматься стратегостроительством. Тема тяжелая, для меня лично. По сравнению с ней, все эти заморочки с предиктами - фигня. Однако, без одоления ее, все неропреимущества - дважды фигня. В помощь нам даден индикатор Лед. И куча классиков: Швагер, Кац, Пардо... На эту тему далее и готов "пофлудить".
    Как-то так вопрос вижу

    С уважением
     
  4. pocketmike

    pocketmike Активный пользователь

    Вот файлик. Формат - док. Это чтобы масла в огонь подлить. Тетенька Мардж Шеральд из Вардов расскажет нам о pattern recognition с помощью НСДТ. К качеству претензии не принимаются т.к. торопился. Ас ис. Надеюсь, что будет интересно.
     

    Вложения:

  5. Федя34

    Федя34 Активный пользователь

    Ничего не могу поделать, эксперимент показал, что предсказать SMA вполне реально. С ценовой областью не стоит потому что точность ниже и могут быть проблемы при выходе за диапазон на обучающей выборке.

    Эксперимент с SMA натолкнул на новые идеи. Хочу попробовать использовать сетку для поиска закономерностей.
    1. В качестве учителя буду подавать сигналы на ЖЕЛАЕМЫЕ сделки.
    2. Предсказывать, как и в опыте с SMA, буду лаг на 1 бар вперед.
    3. Максимальное число входов поставлю 5.
    4. Потом выведу эти индикаторы на график, все таки интересно, неужели сети могут найти невидимые на глаз зависимости.
    5. Дальнейшие действия зависят от результатов.
    В виде чего сделать учителя пока не знаю, возможно типа стандартного оптимал бай/сел. Делаться будет вручную.
    Хватит ли лаг(1) не знаю, возможно надо побольше, ведь большинство индикаторов на входе запаздывающие, следовательно сигнал тоже скорее всего будет запаздывать, а получение предикта на выходе сетки несколько ухудшает результат (пример: предсказание на бар вперед SMA и предсказание на бар вперед лага на 1 от SMA - качество значительно отличается).
    Если найдутся таким образом закономерности, то можно будет, к примеру, сделать стратегию на предиктах от отобранных индикаторов.

    Провел опыт. Предсказание лага по результатам сравнимо с предсказанием леда, лучше подавать на вход леды от индикаторов.
     

    Вложения:

    • 1.GIF
      1.GIF
      Размер файла:
      62,1 КБ
      Просмотров:
      13
  6. pocketmike

    pocketmike Активный пользователь

    Привет, Федор.

    Некогда сейчас общаться, однако - лови. Формат док. ^tease^

    С уважением
     

    Вложения:

  7. pocketmike

    pocketmike Активный пользователь

    Добрые волшебники, дядюшка Стиви и тетушка Марджи, уже более 10 лет рассказывают свои сказки послушным деткам...

    Наслаждаемся. Одобрено Бабушкой.

    11/1999 - 02/2011
     

    Вложения:

  8. pocketmike

    pocketmike Активный пользователь

    То Ф.И.

    Вот последнее, что у меня есть. Засада в том, что этого аддона нет в свободном доступе.
     

    Вложения:

  9. Федя34

    Федя34 Активный пользователь

    Привет pocketmike, спасибо за чтиво.

    Сравнил результаты "правильного" и "неправильного" предикта. Разница на лицо. На 7 баров вперед взял для наглядности. Входы такие, что бы сделать более менее одинаковые условия эксперимента.

    P.S. В прошлый раз предсказывал лаг средней скорее в исследовательских целях, чем в практических. Пытаюсь заглянуть в черный ящик, хоть одним глазком.
     

    Вложения:

    • 1.rar
      Размер файла:
      120,4 КБ
      Просмотров:
      56
  10. fert

    fert Новичок

    Попробуйте следующее:

    Нажать Меню «Пуск» - «Панель управления» - «Язык и региональные стандарты» - вкладка «Региональные параметры» - «Языковые стандарты и форматы». Выбрать «Русский», нажать «Применить». В том же окне нажать кнопку «Настройка» - выбрать вкладку «Числа» и поставить:
    В графе «Разделитель целой и дробной части» - Точка
    В графе «Разделитель групп разрядов» - Запятая
    В графе «Разделитель элементов списка» - Запятая
    Нажать «OK» в этом окне. Нажать «OK» в окне «Язык и региональные стандарты».

    Попробуйте запустить NeuroShell Day Trader Professional.
    Если окно с ошибкой не исчезло закройте программу и скопируйте файлы из приложенного к этому посту архива
    в "Папка куда установлена NSDTP\Templates". На вопрос о замене файлов отвечайте «Да».
    Посмотреть вложение Copy_to_Template_folder.zip
     
  11. fert

    fert Новичок


    miklelv, а есть мысли где тики брать? Самому ждать замучаешься. Я в роде бы в Dukascopy видел, но не суть.

    Построил я эти свечки с помощью советника RangeBars_fromM1_time.mq4 (с сайта mql4.com/ru/). Он преобразует данные с M1 в свечи. Не тики конечно, но всё же.

    Дальше в NSDT с помощью аддона Turning Points. Подал на вход PeakProb и ValleyProb. Тренировал на Optimal Buy/Sell Close.
    Вроде не плохо, но пока что-то не очень обнадёживает.

    И да флэт на таких свечах, тоже есть. Мало, но есть.

    А какие у Вас мысли? Как думаете работать с разворотами?

    P.S. Вот ссылка на обсуждение таких графиков на форуме MQL forum.mql4.com/ru/32066
     
  12. aae1

    aae1 Новичок



    Спасибо все заработало , только теперь вот незадача , у меня часть программ настроена на стандарты США , а это настроено на Русский , придеться каждый раз переключать
     
  13. fert

    fert Новичок

    Нет. Я после того как один раз так сделал, переключился на параметры США и всё работало нормально. Правда как получится у Вас я не знаю.
     
  14. miklelv

    miklelv Активный пользователь

    Здарова fert

    miklelv, а есть мысли где тики брать? Самому ждать замучаешься. Я в роде бы в
    Dukascopy видел, но не суть.

    ждать то всего день, да и надо то баров 150 на тренировочную выборку + еще
    баров 50 назад для расчета индикаторов. можно еще чарт сгенерировать советником
    в тестере, там тики есть, правда не все, и они нормированные, а потом в онлайне
    уже скриптом дописывать в этот же чарт новые бары. но из онлайн тиков думаю
    лучше всего.

    А какие у Вас мысли? Как думаете работать с разворотами?

    пока никак. можно поэкспериментировать с анализом направления внутри 9 пипсов,
    если свечки 9 пипсовые, и выдавать уже не 9 пипсовые одинаковые, а динамически
    меняющиеся, те которые более информативные и мягкие для ТС и предиктов.

    Предлагаю обменяться количеством попугаев, кто сколько выбил в неделю в пунктах,
    как в тире. например на прошедшей неделе при заглядывании в будущее lead ом
    (стратегия на основе пересечения быстрой и медленной jmansdt c lead 1-10, оптимизатор
    пусть прошерстит какие машки и сколько заглядывать) можно было поймать 1379 пипсов.
    у меня получилось 138/1379 на закончившейся неделе на микросчете лотом 0.01. ну и
    так далее. Или что-то аналогичное, чтобы можно было сразу определить эффективность ТС.

    Здарова Чарикар.

    собрал систему 2 из 3 на основе стандартных выложенных предиктов и условий
    a) Add(Predict(Momentum(JMANSDT(Close,15,0),3),3).JMANSDT(Close,15,0)) и JMANSDT(Close,33,0)
    b) Predict(Slope(Close,27)),3) и 0
    с) Predict(Sub(JMANSDT(Close,15,0),JMANSDT(Close,33,0)), 3) и 0
    + 4 фильтра от ложных переключений в конце

    но есть участки, где эта система даже если подставить lead 3 один-два дня выдает в
    -50-150 пипсов. соответственно с использованием предиктов результаты на этих
    промежутках еще хуже и баланс заваливается за -200 и больше. конечно если брать
    период неделю или месяц, система с lead всегда в плюсе. особенно не нравится системе
    вялые спады\подъемы с маленькими откатами. думаю есть над чем поработать.
     
  15. Чарикар

    Чарикар Активный пользователь

    Модель с Lead, какой прериод лидирования логичен? Ответ - 2.
    Почму? 1 - маловато. 3 - лучше, чем два, но будем реалистами...
    Более 3 - полная ерунда.

    Предложенные периоды определены как среднестатистические. Т.е., была собрана некоторая
    статистика по оптимальным периодам, на максимальный выхлоп. И взято среднее значе-
    ние. Исходя из предположения, что всего никогда не предусмотреть, а жить как-то надо...
    Желающие могут пересмотреть точку зрения на эту ситуацию. Для себя. )) Мой выбор-
    изложен. ))

    Нейросети же следует лидировать на 3. Довольно часто, сигнал подаваемый
    нейросетевым комитетом опережает на 1 сигнал от подобного комитета с Lead на 2,
    25% случаев, примерно. Т.е. имеется реальное лидирование на 3.
    Совпадает - практически в 50% случаев. Т.е., в этих случаях, имеется реальное лидирова-
    ние на 2. В 15% случаев - имеется реальное лидирование на 1. Как минимум, только уже
    одно это способно приносить прибыль. Остальное - лидирование на 0, Крайне редко, 1-2 раза
    в неделю (в неделю - примерно 50 сделок) - делается лидирование -1, -2. Т.е. имеется устой-
    чивая тенденция на следование модели с Lead.

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

    Несколько убыточных дней - не вопрос, это бывает, это нормально. Если работать по тайм-
    фреймовому графику, то просадки будут поядрёнее и более длительные. Т.е. убыточные
    не только не только недели, но и месяцы - к бабке не ходить.
    Главное - безубыточные недели!

    Просадка депо... Если сможете реализовать, на годе работы интрадей, на таймфреймовом
    графике, просадку менее 250 -
    это будет событие, почти как при торговле на фильтре Ходрика-Прескотта. )) Мне нонешняя
    просадка очень нравится, я знаю цену этому параметру. Лучше я не получал никогда, по
    крайней мере. ))

    Для контроля работы нейросетевого комитета, на график следует вывести меандры переклю-
    чений модели и нейрокомитета. Получаем, оформляя индикатор Trigger. Один, например, красного
    цвета, другой - синего. И на один субграфик, будет очень наглядно.

    Фильтры дребезга - на основе основе Polarized Fractal Efficiency, периоды от 3 до 5, и CCI , период 5.
    Когда все согласны.

    Желающие могут вести себя консервативно - взял 100 и до конца недели отвалил. Есть такая
    истина, многие её практикуют - в рынке нужно находиться как можно меньше. А по-простому -
    жадность фраера губит. ))

    Субъективное мнение.
     
  16. Чарикар

    Чарикар Активный пользователь

    Средний размер тела свечи, по некоторому стоку, в зависимости от таймфрейма - разный.
    Соответственно, и такие параметры как макс. просадка депозита и макс. выигрыш (проигрыш) по
    сделке - разный. Чем старше таймфрейм - тем эти параметры больше.
    По аналогии с таймфреймом, у Range Bars может быть разный параметр - длина тела свечи.
    Т.е., длиннее тело - больше упомянутые параметры. Какой сделать длину тела свечи - дело
    личное. Однако, 9 пипсов, по EURUSD, на мой взгляд - многовато...
     
  17. Чарикар

    Чарикар Активный пользователь

    Синхронизировать Range Bars сток с другими инструментами? Нет вопросов.
    Прописывается в писалке соответствующее, пишется параллельно, в сколько угодно файлов, сколько угодно стоков.
    Только по другим стокам уже не будут Range Bars. Но, хронометрически, всё будет корректно.

    При обычном использовании, синхронизации, в реальном времени, нет никакой.
    Тики на завершение временного бара приходят неодновременно, в этом случае,
    так же, придётся принимать насильственные меры, в каком-то внутреннем
    представлении цен в системе, по завершению баров отстающих стоков.
     
  18. fert

    fert Новичок

    Привет Чарикар.

    Я тут пытался на Range барах осуществить твою идею с прогнозированием Momentum(JMANSDT(Close(9,0),2). Ты прелагал делать небольшую выборку тренировочных данных, я так и пробовал, но постоянно получалась такая ерунда:
    <img src="http://img109.imageshack.us/img109/5687/66505739.png" border="0" class="linked-image" />

    Это ещё не самый худший результат. Пытался и оптимизацию останавливать и период JMANSDT менять. С увеличением количества тренировочных данных результат улучшается, но и система уже немного другой становится. Было ли у тебя такое? Как боролся с этим?

    И ещё ты упомянул что 9 пипсов, для свечи по EURUSD многовато. Как считаешь а сколько оптимально? Вроде чем больше свеча, тем больше шума она должна убирать.
     
  19. miklelv

    miklelv Активный пользователь

    Спасибо за комментарии Чарикар. Опять все по полочкам разложил.

    У меня есть желание расписать все с нуля в виде текста, чтобы еще раз проверить все этапы создания и работы ТС. Кому надо, тот сам чарт соберет. Получится что-то похожее на FAQ по пунктам. Потом скорректировать, если где ошибусь или надо изменить. Вылложу сюда. Ты не против ?
     
  20. miklelv

    miklelv Активный пользователь

    to fert

    хоть бы входы описал и параметры предикта training criteria со вкладок, а то не понятно
     

Поделиться этой страницей