roman01 Опубликовано 21 марта, 2019 Поделиться Привет. Разрабатываю фреймворк для анализа рынка TechAn… Опубликовано 21 марта, 2019 (изменено) Привет!Я разрабатываю фреймворк для анализа рыночных цен и помощи в торговле, который назвал TechAnalysis.Многое еще не готово, но этим уже можно пользоваться. Фреймворк пишется на Python (версия не менее 3.6), Цены хранятся в отдельной базе данных (SQLite)Если эта тема интересна, то прошу читать:Немного о себе: торгую сам с 2015 года. Честно говоря, до где-то начала 2018 года, торговал, как говорят, не очень, что бы очень: иногда зарабатывал, но чаще все-таки проигрывал. Период относительного успеха сменялся проигрышами.В общем, карусель.Все это было для меня достаточно безболезненно, так как суммы не крупные...Дело сдвинулось в начале 2018 года, когда я начал серьезно задумываться о причинах моих проигрышей (журнал сделок я вел, хоть и не всегда). К этому времени я уже обчитался всяческой литературы: от классического теханализа, до VSA и PriceAction - эта информация и журнал, помогли мне определить мои проблемные места в рыночной торговли: забавно, но проблема оказалась во мне самом. Я имею ввиду, что именно проблемы психологического характера (торопливость, сорвался, не выдержал ожидания и.т.д) являлись основной проблемой неудач на рынке.Проблему создавали, так же неправильная интерпретация сигналов рынка.Тогда я и начал задумываться об автоматизации всего этого, что бы исключить человеческий фактов.Примерно тогда же ко мне обратился знакомый, который попросил реализовать поиск пары паттернов PriceAction для MT4. Сделав, начали обсуждать, что хорошо бы иметь не привязанное к конкретному вендору средство для анализа рынка, более удобное и продвинутое, чем MT4, ну и пошло...Теперь по самому фреймворку:индикаторов практически нет (пока есть MA, Стохастик и CCI), да это и не нужно, TechAnalysis рассчитан именно на поиск и анализ различных рыночных ситуаций.далее: основные таймфреймы - это дневной (основной) и недельный. В базу я так же загружаю часовые и 4-х часовые цены, но это не основные таймфреймы - для пипсовки и скальпинга он не предназначен.Выкладывать буду частями. Выкладывать буду то, что хорошо протестировал и, главное, документировал.Многое из того, что написано еще не отлажено или не документировано. То есть мне понятно, когда и как использовать, но у постороннего человека могут быть проблемы, да и ошибки всплывают нередко.На данный момент выложу модуль bar, предназначенный для расчетов параметров баров, поиска однго или нескольких баров по заданным критериям.Напрмер, вот такой паттерн (вложение):ищется кодом:from framework.pricelist import LoadPriceListfrom framework.bar import FindBarfrom framework.utils import ModelsloadPriceList = LoadPriceList()findBar = FindBar()models = Models()symbol = "EURUSD"priceArray = loadPriceList.GetPriceByCountBar(200,symbol,1440)print(f"Поиск модели bar3.ber.outbar.1 по {symbol}:")model = {'barA_type': ['bear'], 'barB_type': ['bear'], 'barC_type': ['bull'], 'barA_size': [0.3, 0], 'barB_size': [0.6, 0], 'barC_size': [1.2, 0], 'down_precisionBC': [0, 0.5], 'barC_open': ['C', 'D'], 'barC_close': ['A', 'B'], }find_models = findBar.findBars3(priceArray,True,model,["barC_dt"],False)print("\n",find_models) Добавлено: 21-03-2019 09:46:03Чего хочу:независимое от крутых компаний средство для анализа цен в исходных кодах на крутом языке Python :)если данная тема кому-то интересна, то прошу присоединяться к тестированию, а так же к написанию документации.Так же предлагаю создать базу прибыльных моделей (одну из них привел в основной теме)Добавлено: 21-03-2019 11:26:25Документация по модулю bar и pricelistИспользую программу cherry treebar3.ber.outbar.1.jpgTechAnalysis.zip Изменено 21 марта, 2019 пользователем roman01 3 Ссылка на сообщение Поделиться на другие сайты More sharing options...
allex_all Опубликовано 22 марта, 2019 Поделиться Привет. Разрабатываю фреймворк для анализа рынка TechAn… Опубликовано 22 марта, 2019 Интересно, я практически тоже самое реализовываю - в соседней ветке начал. Только я на MQL5.При написании на Питон какие-нибудь средства визуализации алгоритмов используете?Мне я понял гораздо удобнее, если быстро на графике можно нарисовать результат работы кода, чтобы как говорится глазами на графике убедится в правильности работы алгоритмов и оперативно подкорректировать. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
roman01 Опубликовано 23 марта, 2019 Автор Поделиться Привет. Разрабатываю фреймворк для анализа рынка TechAn… Опубликовано 23 марта, 2019 (изменено) Доброго всем дня!Хочу ответить allex_all и выложить первую порцию фреймворка.Отвечаю: в начале я так же начинал писать на MQL, о чем и писал в основной теме. Написал примерно 1000 строк кода и очень сильно разочаровался в MQL.По окончанию работ сделал следующие выводы:1. Язык MQL просто дубовый. Если сравнивать Python и MQL, то это как сравнивать крутой джип типа и уаз буханку2. есть опасность, что однажды некий товарищ из конторы, которая разрабатывает MT4, решит всех перевести в принудительном порядке на MT5, изменит функции (API) - что делать-то будем?3. конфиденциальность - не задумывались?4. у меня в планах использовать нейросети и машинное обучение, а это PythonПо поводу визуализации - планы есть, но ресурсов пока нет на это. Есть модуль, которые предназначен для тестирования полученных результатов. Как у меня проходит тестирование:1. получил даты в виде массива-списка2. передал в функцию тестирования, где указываю тип паттерна, размер стопа и профита и получаю результат: прибыльный или убыточный и общую статистикукак-то так...Выкладываю первую порцию Добавлено: 23-03-2019 05:09:51Добавил базуTechAnalysis-1.zipTechAnalysis-1.zip Изменено 23 марта, 2019 пользователем roman01 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
roman01 Опубликовано 26 марта, 2019 Автор Поделиться Привет. Разрабатываю фреймворк для анализа рынка TechAn… Опубликовано 26 марта, 2019 Добрый день!Немного доработал модуль bar.Теперь можно получить более точное расположение цены относительно бараТак же выкладываю модель для поиска паттерна утренняя звезда.Данный лучше искать на 4-х часовиках, не старшеПример поиска (только для новой версии модуля bar):from framework.pricelist import LoadPriceListfrom framework.bar import FindBarfrom framework.bar import CalcBarloadPriceList = LoadPriceList()findBar = FindBar()calcBar = CalcBar()priceArray = loadPriceList.GetPriceByCountBar(200,"EURUSD",240)# поиск паттерна "Бычья утренняя звезда"filter = {"barA_type":["bear"],"barB_type":["bear"],"barC_type":["bull"], "barA_size":[1.1,0],"barB_size":[0,0.7],"barC_size":[1.1,0], "barB_open":["C3","D","E"],"barC_close":["A"], }morning_star = findBar.findBars3(priceArray,True,filter,["barC_dt"],False)print(morning_star)Результат выполнения: ['2019.03.08 04:00']В связи с отсутствием интереса здесь и неудобством форума для подобных целей, буду выкладывать на фреймворк GitHub bar.zip 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
allex_all Опубликовано 29 марта, 2019 Поделиться Привет. Разрабатываю фреймворк для анализа рынка TechAn… Опубликовано 29 марта, 2019 roman01, в свою очередь прокомментирую Спойлер По окончанию работ сделал следующие выводы:1. Язык MQL просто дубовый. Если сравнивать Python и MQL, то это как сравнивать крутой джип типа и уаз буханку2. есть опасность, что однажды некий товарищ из конторы, которая разрабатывает MT4, решит всех перевести в принудительном порядке на MT5, изменит функции (API) - что делать-то будем?3. конфиденциальность - не задумывались?4. у меня в планах использовать нейросети и машинное обучение, а это Python 1. Это да, хоть я Питон знаю только обзорно про его возможности и сферы применения, но MQL язык точно ущербный. один только тот факт, что отсутствует возможность двойного наследования на мой взгляд убивает как минимум половину возможностей, которые вообще может дать ООП подход. Я честно не понимаю как можно сделать форк ООП языка и не сделать двойное наследование, зачем главное, просто лень было заморачиваться видимо.Но я решил обходить эти слабые стороны и сделать такой код, который переносим в С++ подобные среды. т.е. функции чисто терминала МТ по идее д.б. отделены от остальной логики, чтобы при переносе надо было в идеале заменить только их (работа с тайм-сериями, графич. операции и др. служебные).2. Я сразу в MQL5 для МТ5 делаю, хоть сейчас язык MQL4 практически и не отличается от 5-ки. Не думаю кстати что 4-ку перестанут поддерживать в ближайшем будущем, 5-ка не настолько круче чтобы это имело какой-либо смысл.3. Задумывался, а что именно насчёт конфиденциальности? То что mql легче декомпилируется?4. Нейросети интересная штука, хоть про эффективность их в приложениях трейдинга пока спорят. Тоже думаю как их применить.К сожалению не владею Питон чтобы сходу потестить приложенные продукты. Но обязательно заморочусь на днях :) Ссылка на сообщение Поделиться на другие сайты More sharing options...
0ll Опубликовано 29 марта, 2019 Поделиться Привет. Разрабатываю фреймворк для анализа рынка TechAn… Опубликовано 29 марта, 2019 Ну и я вставлю коммент:Все Ваши разработки наверняка хороши и круты, но это не главное в торговле, к сожалению... Видел код mql в 100 строчек, писанный на коленке - совершенно без ООП, который работает и торгует некоторым на зависть. Или взять в пример Ревера, его совы на ПАММах годами прибыль извлекают с сотнями тысяч инвестиций и тоже совершенно без ООП ( он его не любит ).То-же касается и нейросетей, здесь есть только один человек, который похваляется успешной совой с нейросетью, но это может быть и его маркетинг ( он ПАММо-вод ).Я к чему клоню - для написания советника гораздо важнее иметь рабочую торговую идею и опыт реальной торговли, чем двойное наследование или другие фишки в mql, имхо. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
allex_all Опубликовано 30 марта, 2019 Поделиться Привет. Разрабатываю фреймворк для анализа рынка TechAn… Опубликовано 30 марта, 2019 Я к чему клоню - для написания советника гораздо важнее иметь рабочую торговую идею и опыт реальной торговли, чем двойное наследование или другие фишки в mql, имхо. Спасибо за высказанное мнение, но должен немного поправить. Вы абсолютно правы, для написания советника да и вообще для написания любой программы можно справиться и без фишек типа ООП. Но вы наверное не обратили внимание что тут речь идёт не о просто советнике, а если выразиться грубо о написании системы-анализаторе рынка и конструкторе советников. Это уже довольно более масштабный и сложный проект с точки зрения программирования, чем просто реализовать конкретную идею в одном советнике. И для его реализации такие фишки гораздо упрощают задачу, и даже не столько с точки зрения меньшей трудоемкости первичного написания кода (и с ней тоже), сколько например с т.зр. гибкости к изменениям и последующего масштабирования и развития. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
roman01 Опубликовано 3 апреля, 2019 Автор Поделиться Привет. Разрабатываю фреймворк для анализа рынка TechAn… Опубликовано 3 апреля, 2019 (изменено) Во-первых, здравствуйте и спасибо за проявленный интерес.1. allex_all совершенно прав - TechAnalysis НЕ СОВЕТНИК - это система анализа рынка. Его фишка и основное назначение в поиске и анализе РЫНОЧНЫХ МОДЕЛЕЙ.Вопрос слишком развернут, но скажу, что перепробовав почти все я остановился на идее, что нужно искать именно статистическое преимущество в рынке, тут в помощь мат.статистика и теория вероятностей.2. Я не против советников, получается - хорошо! Понимаете, на рынке много народу, кому-то обязательно повезет и далеко не факт, что он использует прибыльную стратегию/советник. Ключ в том, что человек может просто поймать тренд/флэт, где его система работает. Вот посмотрите на EURUSD: медвежий тренд длился с 2014.05 по 2015.03 (почти ГОД!)Весь этот хлам (советники в 100 строк) потом куда сливается? правильно - на рынок, в форумы! Он же торгует прибыльно "на зависть многим" - понимаете?У меня задача другая - не грааль, а получение статистического преимущества!3. Нейросеть будет применяться для анализа рыночных моделей и обучения, НЕ ТОРГОВЛИ4. Я за то, что рыночные решения должен принимать трейдер5. сам торгую только на дневках и на недельных графиках, новости не смотрю, линии не рисую, каналы не провожу, :)стараюсь работать только со статистическими моделями.Например, на EUR наклевывается паттерн Внешний бар, если такой будет, то буду торговать в лонг ;)По поводу моделей: хочу сказать:как у меня работа с моделями выстваивается: есть, например, падающий рынок. я на нем начинаю искать разворотные модели, если достигается некоторое преемущество, то начинаю искать возможность купить.анализ построен, примерно, по тому же принципу: есть медвежий рынок, я его внимательно исследую и пытаюсь найти модели продолжения и разворота. Потом тестирую эти модели на других рынках и если получаю положительный результат, то добавляю им рейтинг. Как-то такВопрос сообществу: планирую сделать видео по применению TechAnalysis, что скажете?Да, и еще: мне хочется собрать группу, которая будет развивать данное направление, может и торговать сообща. Через интернет это вполне можно делать.Можно использовать любой мессенджер типа вайбера и ватсапа для общенияТребования: умение программировать, хотя бы на начальном уровне, python (опять-таки можно даже основы), желание - самое главное Изменено 3 апреля, 2019 пользователем roman01 Ссылка на сообщение Поделиться на другие сайты More sharing options...
allex_all Опубликовано 6 апреля, 2019 Поделиться Привет. Разрабатываю фреймворк для анализа рынка TechAn… Опубликовано 6 апреля, 2019 roman01, хорошая тема, барьером служит как обычно тот факт что не все однозначно понимают цели и задачи чужого проекта, каждый видит по своему. Для решения этой проблемы хорошо помогает такая вещь как план - в котором в однозначной измеримой форме описаны цели, структура проекта. Он кстати помогает и самому понять что важно и на чём надо сконцентрироваться а что отбросить как вторичное на данном этапе. И план как ни странно несколько раз переписывается только на начальном этапе) Ссылка на сообщение Поделиться на другие сайты More sharing options...
karuzzo Опубликовано 8 апреля, 2019 Поделиться Привет. Разрабатываю фреймворк для анализа рынка TechAn… Опубликовано 8 апреля, 2019 Юзай ситрейдер, там это уже есть в API + куча других предописанных методов Ссылка на сообщение Поделиться на другие сайты More sharing options...
allex_all Опубликовано 9 апреля, 2019 Поделиться Привет. Разрабатываю фреймворк для анализа рынка TechAn… Опубликовано 9 апреля, 2019 Юзай ситрейдер, там это уже есть в API + куча других предописанных методов Ситрейдер платформа интересная, хотя я не нашел в ней пока существенных преимуществ над МТ. Того что мы делаем в ней нет. Если ошибаюсь ткните носом, может есть какая-то особая и/или секретная библиотека. В стандартную я заглянул, только общие функции, коих даже меньше чем в МТ5. Мне иногда кажется многие кто работает с МТ, просто не знают про стандартную библиотеку МТ5 или нет опыта работы с ней, и поэтому им кажется что другие платформы круче.А вообще в этой ветке автор же сразу написал что делает проект - платформонезависимый. Т.е. хоть с МТ, хоть с Ситрейдером - потом просто пишется модуль переходник и вуаля. Ссылка на сообщение Поделиться на другие сайты More sharing options...
roman01 Опубликовано 17 апреля, 2019 Автор Поделиться Привет. Разрабатываю фреймворк для анализа рынка TechAn… Опубликовано 17 апреля, 2019 (изменено) Привет, я обновил TechAnalysis. Вы можете скачать и посмотреть изменения.Итак по порядку:Установка:1. что-бы ничего не менять, скачайте и распакуйте на C:\Programming\TechAnalysisиначе - смотрите файл options.py (там все понятно)2. SavePriceToFile.mq4 и SaveIncrementPriceToFile.mq4 - это скрипты MT4 для выгрузки цен в файлыИспользование:Открываете в PyCharm (средство разработки на Python) проект из C:\Programming\TechAnalysis и смотрите.Например, ImportFromFile - это импорт цен из файлов в базу данныхfind_models - поиск моделей bar1,bar2,bar3 editRatingGUI - графическая программа для редактирования рейтинга моделей (для ее использования необходимо поставить PyQt - в cmd пишем: pip install pyqt5)На данный момент я добавил самые "вкусные" разворотные модели. Сейчас работаю над моделями продолжения.ВАЖНО! Очень важно знать- где смотреть модели. Например, разворотная модель ищется на вершине или впадине рынка, но никак не во флэте. У меня есть модули проверки на экстремум, коррекцию и.т.д, но пока не выкладываю, так как не протестировано в достаточной степени.ВАЖНО!модели у меня - это не просто свечные модели, но и более сложные рыночные ситуации, например, коррекция с уровнем отката от 35 до 60 процентов от движения - есть и такая модельТак же больной вопрос - документация, вот бы кто-нибудь помог!?Так же отвечаю по поводу cTrader: нашли с чем сравнивать! Совершенно разные продукты и цели разные!Какие есть задумки:сейчас начал работать над расчетом рыночного баланса. Будет готово - выложу.Так же в ближайшее время добавлю 2 модуля - работа с коррекциями и экстремумами.Если кто хочет поучаствовать в работе, пишите на roman-info01@yandex.ru.PS.В скрине - листинг и результат работы скрипта, который ищет модели...С уважением, Роман Добавлено: 17-04-2019 12:36:16Паспорт модели - это ее описание и методы использования.На данном этапе - скорее черновики, так как времени на это не хватает.Но...будем работатьДобавлено: 17-04-2019 14:41:23Рейтинги я обнулил...techanalysis.zip111.pngmodels.zip Изменено 17 апреля, 2019 пользователем roman01 Ссылка на сообщение Поделиться на другие сайты More sharing options...
roman01 Опубликовано 20 апреля, 2019 Автор Поделиться Привет. Разрабатываю фреймворк для анализа рынка TechAn… Опубликовано 20 апреля, 2019 Привет! Решил пока приостановить работу над расчетом баланса. Давно уже хочу довести до ума модуль поиска дивергенций. Ссылка на сообщение Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти