Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Есть задача про уровни. Интересно кто как решал подобное и что думает.
В советнике модуль уровней работает следующим образом:
1. создаёт список всех найденных уровней за заданный период истории
здесь речь про уровни на основе фракталов и горизонтальные, но тоже самое можно отнести к уровням по профилю объемов, и к наклонным уровням.
Т.е. берет все фракталы и для каждого пишет горизонтальный уровень.
2. уровни которые близко друг к другу объединяет в зону
3. Считает для каждого уровня с момента его появления (самого старого фрактала) следующие количественные показатели (на примере сопротивления)
Касания. 0 < (нижняя цена уровня - Макс цена бара) < m_thresold_touch
Тесты. Close previous bar < нижняя цена уровня && High >= нижняя цена уровня
Пробои. Close previous bar <= верхняя цена уровня && Close > верхняя цена уровня
Ложные Пробои. Предыдущий пробой противоположного направления произошёл на ранее Х баров назад.
4. По мере работы и поступления новых баров обновляет весь список уровней по новым фракталам и их кол-ые показатели.
Идея следующая - найти по максимуму все что может считаться уровнем и на основе определенных критериев отсеять лишние/неактуальные.
Задача 1 - Проранжировать Уровни по Важности-Силе и Отсеять лишние:)
Как лучше-правильнее задать критерий важности. У меня пока в голову приходят простейшие варианты типа
1) Max ( (Касания + Тесты)/Пробои)
2) Max ( (Касания + Тесты + Ложняки)/Пробои)
3) Max ( (Тесты + Ложняки)/Пробои)
Может есть идеи лучше?
Замечу - что понятно что есть варианты определения более сильных уровней если изменять пар-ры фракталов (увеличивая период), а интересует именно критерий для уровней от одного фрактала, которых собрана куча по максимуму.
1. заводишь массивы double levels[TotalLevels] ; double avgs[TotalLevels]; см.выше TotalLevels=(Highest-Lowest)/_Point
2. суммируешь в нём свои фракталы или что счёшь нужным. levels[(FractalPrice-Lowest)/_Point]+=K; К - "важность" фрактала. Получается гистограмма
3. гистограмма разряжена, и вообще +-_Point не считается, поэтому смотришь суммы по окну или средние: avgs[x]=sum(levels[x-window/2]..levels[x+window/2])
4. в avgs[] любым способом выделяешь локальные минимумы/максимумы. Хоть зигзагом, хоть опять-же фракталами - это уровни сопротивлений и пивоты
метод действительно кустарный, я не так давно перестал себе верить, но тестеру верю
Вот Вы пишете - вот "на основе которых я хочу считать важность." , это уже сузило значимость и достоверность исследования, т.к. возможно, Вы не все виды оценки события пробой/отбой/ложный пробой проверили, а проверили лишь то, что считали нужным проверить
И почему нужно писать ЕА и тестировать: в первом сообщении Вы сказали "Как лучше-правильнее задать критерий важности" , что значит лучше? - лучше относительно чего то? Вы разбили свою статистику исследования на периоды по годам? по месяцам? - да хоть на 3 части всю историю - прошлое, настоящее будущее . Критерий лучше подразумевает относительно чего то
Вот поэтому и предлагаю все в тестер и там оценивать на любые вариации лучше/хуже, хоть по кол-ву ордеров, хоть по балансу
в общем по сабжу у меня больше мыслей нет, в целом мысли вслух
Сейчас я понял ход ваших мыслей, Вы думаете сразу про все нюансы и подводные камни, хорошо. Хоть я старался вопрос ветки сузить, чтобы она не превратилась в 100500 страниц на все возможные варианты тем об уровнях. Я отклонюсь от неё и вам объясню подробнее концепцию. Итак исходные:
работа на графике яп.свечей
моделирование графического анализа и анализа уровней
Модуль анализа уровней может брать уровни разными методами (фракталы - один из.. ещё я упомянул профиль объемов, это что я считаю актуальным, но могут быть и другие)
Для каждого метода взятия уровней есть свои параметры ()
Далее считаем количественные хар-ки уровней, см.выше. Можете предложить и другие если считаете нужным
Далее по какому то критерию отсеиваем лишние, слабые, неактуальные. При этом должен считаться параметр Важность и/или сила уровня. Об этом топик.
Получаем "просеянные" через фильтр важности-актуальности набор уровней.
Обновляем информацию в процессе работы
Далее модуль принятия решений, на основе в т.ч. информации от модуля анализа уровней (но и от других модулей анализа - трендового, яп.свечей и т.д.) и на основе выбранной стратегии (заложенных в неё моделей) составляет торговый план и по нему работает, т.е. торгует. стратегии могут быть разные, модели заложенные могут быть разные. Всё это берётся из соответствующих коллекций и может меняться при оптимизации.
Вот тогда можно оптимизировать торговлю, как видите кроме уровней ещё огромное кол-во влияющих на рез-тат торговли параметров, и естественно все модели принимают какие-либо допущения, на то они и модели
это уже сузило значимость и достоверность исследования, т.к. возможно, Вы не все виды оценки события пробой/отбой/ложный пробой проверили, а проверили лишь то, что считали нужным проверить
Поскольку я делаю модели, опираясь на классич. тех анализ, или простым языком на то, как бы я сам оценивал глазами. То я и считаю - вот я вижу на истории фрактал, на котором уровень т.к. цена развернулась, строю линию, листаю график дальше - вот
пару раз цена подошла близко и отскочила от него (касание), а вот протестировала (хай проколол его ) и отскочила, а вот пробила и т.д.
Если вы найдёте что добавить/скорректировать конкретное к тем количественным пар-рам которые я ввёл (я привел формулы), с удовольствием внимательно выслушаю, а то что модель по определению не может учесть всего, это я со школы помню, спасибо :)
Или другими словами по вашему заявлению - могут быть пробои, тесты , которые я не смогу определить по приведенным формулам? Если увидите ошибку-противоречие в моём подходе - тоже очень поможете.
1. заводишь массивы double levels[TotalLevels] ; double avgs[TotalLevels]; см.выше TotalLevels=(Highest-Lowest)/_Point
2. суммируешь в нём свои фракталы или что счёшь нужным. levels[(FractalPrice-Lowest)/_Point]+=K; К - "важность" фрактала. Получается гистограмма
3. гистограмма разряжена, и вообще +-_Point не считается, поэтому смотришь суммы по окну или средние: avgs[x]=sum(levels[x-window/2]..levels[x+window/2])
4. в avgs[] любым способом выделяешь локальные минимумы/максимумы. Хоть зигзагом, хоть опять-же фракталами - это уровни сопротивлений и пивоты
Прикольный способ отображения-визуализации, но у меня есть свой и он под мою задачу подходит лучше.
Жаль ваше сообщение никак не касается вопроса ветки, т.е. методов способов определения критерия важности :)
Алексей, можете картинку ручками нарисовать?
я Вам покажу на ней (нарисую), что даже виртуально идея сливная
Алексей, можете картинку ручками нарисовать?
я Вам покажу на ней (нарисую), что даже виртуально идея сливная
Вы о чём, Ренат, какая идея? Сливная может быть только идея - которая может слить. Как может слить метод определения важности уровней?)) А никакую торговую идею здесь и не обсуждали, мерещиться может слив?)
Сейчас я понял ход ваших мыслей, Вы думаете сразу про все нюансы и подводные камни, хорошо.
не знаю как обьяснить, в общем я давно уже убедился, что голова самый не надежный инструмент, как писал выше, могу проверить только то, что считаю нужным, и не факт, что мои предпочтения о "нужности" являются оптимальными
в общем, стараюсь закладывать проверку даже на то, что не имеет логичности, но это лишь с моей точки зрения
вот отличный "мультик" про AI - субтитры на русском, может так объясню ))
не знаю как обьяснить, в общем я давно уже убедился, что голова самый не надежный инструмент, как писал выше, могу проверить только то, что считаю нужным, и не факт, что мои предпочтения о "нужности" являются оптимальными
в общем, стараюсь закладывать проверку даже на то, что не имеет логичности, но это лишь с моей точки зрения
вот отличный "мультик" про AI - субтитры на русском, может так объясню ))
Мультик прикольный, хотя рез-тат и не неожиданный (особенно для лярдов прогонов :) ). Все в общем верно говорите, но я бы поправку сделал - голова пока что самый мощный инструмент и в т.ч. в плане обучения. А ненадежность о которой вы говорите - это эффект зашоренности и стереотипизациии мышления, у нейронок, на основе которых OpenAI работает, он выражен ещё больше, чем у нашей с вами головы, верите? Пример из мультика - команда, обученная выкидывать пандус за карту, приходит на карту, где можно пандус только украсть, сколько им прогонов понадобится чтобы найти решение в этой ситуации? А людям? Поэтому и то и то верно - преимущество нейронок над человеком пока лишь в тех задачах выражено, где им можно лярды прогонов дать для обучения. Человек учиться гораздо быстрее. Поэтому в любой задаче, где нынешние нейронки могут хоть что-то решать, у человека преимущество с большим запасом. Этого не все понимают, кто нейронками занимается. А если ближе к теме топика, то я считаю так - даже если человек сделал неверные предположения и чего то не учёл - он это быстро поймёт по рез-там экспериментов и скорректирует модель. Никто так не сможет кроме нас! )
Разбавлю пост картинками, может подкинет пищи для идей. визуалы - вэлкам)
з.ы. сейчас задумался над ещё одним вопросом - имеет ли смысл считать кол-во тестов и пробоев на том участке истории, который слева от породившего уровень экстремума?
Скриншоты торговой платформы MetaTrader
NZDUSD, D1, 2019.12.21
Alpari International, MetaTrader 4, Demo
Разбавлю пост картинками, может подкинет пищи для идей. визуалы - вэлкам)
з.ы. сейчас задумался над ещё одним вопросом - имеет ли смысл считать кол-во тестов и пробоев на том участке истории, который слева от породившего уровень экстремума?
Сначала научитесь определять уровни, а потом класть картинку.
Данную картинку - в топку!
Сначала научитесь определять уровни, а потом класть картинку.
Данную картинку - в топку!
Ого, действует, оживились персонажи с синдромом собственной гениальности))) Ждём дальнейшей движухи))