Programmer 33 Share Posted December 21, 2008 Уважаемые программисты, системщики и просто посетители раздела! Данная ветка будет посвящена инновационным подходам в написании советников. Обсуждение, любые вопросы, предложения и просто конструктивная критика приветствуются. Это первая рубрика раздела, она создаётся экспериментально. Если ветка будет неинтересна, то она будет закрыта. Ведущий рубрики: БорисMQL4 Quote Link to post Share on other sites
Programmer 33 Author Share Posted December 21, 2008 От ведущего: «Искусственный интеллект». Тематика данной ветки будет посвящена идеям соображениям и их последующей реализации по поводу создания универсального подхода в написании торговых роботов с применением инновационных способов решения всех сопутствующих задач. К примеру, расчет системы с возрастающим числом параметров всегда был трудоемким и в некоторых случаях даже невозможным... Как же можно решить эту проблему? Решение есть. Надо каждый параметр представить в виде хромосомы, которая в математическом представлении имеет вид реальной химической последовательности. В общем, о создании эффективных алгоритмов вычисления на MQL4, с применением способов генетического алгоритма само оптимизации многочисленных технических параметров и критериев прямо во время выполнения торговых задач без существенного замедления в работе. Распознавания рыночных ситуаций и тенденций по принципу схожести или не схожести с накопленными во время работы представлениями о направлении тренда, о ярко или слабо выраженной тенденции и так далее и тому подобное. С уважением, БорисMQL… Quote Link to post Share on other sites
10% 6 Share Posted December 21, 2008 раньше рядом с инженером садили программиста, чтобы запрогать его предложения. Потому что знания и умения были в разных головах. Так боюсь и здесь - у кого есть проблемы с ТС- не умеет создавать ИИ, кто умеет ИИ делать - не занимается трейдингом. Quote Link to post Share on other sites
olnikt 0 Share Posted December 21, 2008 У меня такой вопрос. Можно ли на языке mql4 запрограммировать, чтобы советник при наступлении определённого условия производил самооптимизацию параметров и далее работал именно с ними? С уважением, olnikt Quote Бесплатно автоматизирую торговые системы с подтверждённым положительным результатом торговли от трёх месяцев. С уважением,olnikt Link to post Share on other sites
10% 6 Share Posted December 21, 2008 А я бьюсь над тем как учесть деформацию параметров индикатора в зависимости от степени волатильности рынка! Вот - на сколько надо изменить оптимизированный параметр индикатора, на таком то по волатильности графике, если волатильность цены изменилась? Quote Link to post Share on other sites
БорисMQL4 14 Share Posted December 21, 2008 Как вы уже поняли, эта ветка создана с целью внесения ясности в понимании такого понятие как Искусственный интеллект. А для начала разберемся, что такое генетический алгоритм. Генетический алгоритм - это метод оптимизации, основанный на аналогиях с природными процессами. Он охватывает разнообразные подходы оптимизации, которые могут быть настроены таким образом, что не только покажут решение проблемы, но и продемонстрируют уровень точности, найденного алгоритмом решения. Эту оценку мы определим как "пригодность" (или "адекватность") алгоритма. Генетические алгоритмы были впервые применены в начале 70-х годов (Голландия, 1975). В основу данного алгоритма легла зависимость, выявленная человечеством в долгой борьбе с природой. Оказалось, что эволюции биологических видов зависит от составных частей хромосом (ДНК). Всем известно, что в природе эволюция происходит за счет естественного отбора, а именно по принципу выживания наиболее приспособленных видов. Что нужно для того, чтобы спроектировать этот механизм? Есть ответ и на этот вопрос. Во-первых, нам необходима популяция отдельных представителей вида, чтобы можно было отобрать тех, кто произведет на свет следующее поколение. Во вторых, необходим критерий оценки качества жизненного решения, которое будет принимать какой-либо представитель вида. То есть адекватность оценки. Чаще всего это критерий c2 (хи-квадрат - критерий согласия). Другими словами, чем лучше решение, тем выше значение адекватности, возвращенное функцией. Значит, поступок, совершенный индивидуумом привел к сохранению его жизни, а возможно и к улучшению ее качества. В то время, чем ниже значение адекватности решения, тем меньше вероятность того, что оно перейдет в следующее поколение популяции. То есть, как гласит народная мудрость: два раза на одни и те же грабли только "не очень умные" наступают. А популяции "не очень умные" не нужны. Таким образом, используя эту технику, алгоритм может значительно сократить число возможных решений, которые необходимо проверить. Quote Пишу на заказ — советники, индикаторы, скрипты и другое ПО для терминала MetaTrader 4.Сделать заказ Link to post Share on other sites
10% 6 Share Posted December 21, 2008 А я в тестере отключил "генетический алгоритм". Для первого прогона лучше понятны тогда результаты теста. Мы же не просто ищем сочетание параметров с наибольшим ростом баланса, а некое сочетание интересов, да еще отвечающее торговой идее. Вот когда границы параметров очерчены - после этого пожалуйста - можно. Quote Link to post Share on other sites
БорисMQL4 14 Share Posted December 21, 2008 (edited) У меня такой вопрос. Можно ли на языке mql4 запрограммировать, чтобы советник при наступлении определённого условия производил самооптимизацию параметров и далее работал именно с ними? С уважением, olnikt А вот и одна из моих работ. Эксперт работает по сигналам пересечений двух MA с некоторыми ограничениями с целью минимизации ложных сигналов. Эксперт в заданный момент запускает само оптимизацию и оптимизирует все свое параметры, такие как периоды MA, стопы и другие. В точке оптимизации выводится горизонтальная линия для наглядности и наилучшие варианты за оптимизацию. Это один из вариантов по само оптимизации который можно организовывать в торговых роботах подобного рода. В нем я использовал переборный метод оптимизации, он наиболее прост по своей сути и тривиален в программировании. Для поиска оптимального решения (Лучших значений Per_ma1, Per_ma2, Shyrina_r, StopLos_Buy, StopLos_Sell) требуется последовательно вычислить наилучшие значения для заданных параметров с целью достижения максимума прибыли за исторический период. Недостатком этого метода является большая вычислительная нагрузка, так как для этих пяти параметров в лучшем случае требуется провести примерно 12 960 000 000, то есть почти 13 миллиардов вычислений. Однако, если перебор всех вариантов за разумное время возможен, то можно быть абсолютно уверенным в том, что найденное решение действительно оптимально. Мне все же пришлось отклониться от простого перебора всех значений, и прибегнуть к последовательной выборке значений с последующим уточнением вычислений. Этого эксперта в ближайшее время я собираюсь все токи доработать, как только будет результат, сразу выложу здесь. Годится только для тестера, если кому-то он станет, интересен, можете доработать на свой вкус. Edited December 21, 2008 by БорисMQL4 Quote Пишу на заказ — советники, индикаторы, скрипты и другое ПО для терминала MetaTrader 4.Сделать заказ Link to post Share on other sites
БорисMQL4 14 Share Posted December 21, 2008 У нас существует проблема оптимизации торговых роботов, Одни говорят, что их устраивает оптимизировать все параметры в ручную, другие мечтают о таком торговом роботе, который сам бы себя оптимизировал. Есть много трудностей сопряженных с разработкой само оптимизирующихся систем, таких как прогон опытных образцов, на больших временных периодах, так как робот периодически просчитывает все возможные комбинации, а иногда бывает, что существуют миллиарды возможных решений только по части параметров, и весь этот процесс занимает массу времени. Quote Пишу на заказ — советники, индикаторы, скрипты и другое ПО для терминала MetaTrader 4.Сделать заказ Link to post Share on other sites
БорисMQL4 14 Share Posted December 21, 2008 А я в тестере отключил "генетический алгоритм". Для первого прогона лучше понятны тогда результаты теста. Мы же не просто ищем сочетание параметров с наибольшим ростом баланса, а некое сочетание интересов, да еще отвечающее торговой идее. Вот когда границы параметров очерчены - после этого пожалуйста - можно. С помощью генетического алгоритма решено уже много задач, написано множество страниц подробного кода. Мы же остановимся лишь на числовом представлении. Дело в том, что если правильно составить алгоритм вычислений можно добиться очень выгодного баланса между временем, потраченным на эту оптимизацию и ее качеством. Quote Пишу на заказ — советники, индикаторы, скрипты и другое ПО для терминала MetaTrader 4.Сделать заказ Link to post Share on other sites
БорисMQL4 14 Share Posted December 21, 2008 А теперь вопрос ко всем кого заинтересовала эта тема. Отвечайте, пожалуйста, по существу вопроса… Можно ли считать корректным следующее определение: "Решение является точным, если никакое дальнейшее повышение точности измерений не меняет полученного результата"? Quote Пишу на заказ — советники, индикаторы, скрипты и другое ПО для терминала MetaTrader 4.Сделать заказ Link to post Share on other sites
BidAsk 1,916 Share Posted December 21, 2008 А теперь вопрос ко всем кого заинтересовала эта тема. Отвечайте, пожалуйста, по существу вопроса… Можно ли считать корректным следующее определение: "Решение является точным, если никакое дальнейшее повышение точности измерений не меняет полученного результата"? нельзя :-) 1 Quote ПАММ-счёт Zen-fx - Оставь надежду всяк сюда вводящий! Link to post Share on other sites
БорисMQL4 14 Share Posted December 22, 2008 А вот и обновленная версия моего торгового робота BAS-Trader_v1.01. Исправлены все основные ошибки, добавлен еще один параметр Koefficient1, он влияет на объем открываемых позиций, значение может быть от 0,01 до 20, не путайте это не объем, а коэффициент. Чем больше Koefficient1, тем больший риск, но хорошая итоговая прибыль, чем он меньше, тем риски меньше, но и прибыль соответственно значительно меньше. На пример, прогоняем на истории с 2007.08.14 до сегодняшнего дня, на 4 часовом периоде EURUSD с начальным балансом 100$, при Koefficient1=0,01 чистая прибыль составила 1142$, а с Koefficient1=2 чистая прибыль составила уже 74482$, то есть за 14 месяцев баланс увеличился в 700 раз. Другие параметры даже и не менял все и так хорошо работает. Сейчас готовлю следующую версию, как только допишу, сразу выкладываю на форум. Quote Пишу на заказ — советники, индикаторы, скрипты и другое ПО для терминала MetaTrader 4.Сделать заказ Link to post Share on other sites
AstraTrader 0 Share Posted December 22, 2008 БорисMQL4 Не понимаю, как у вас получились такие результаты теста. Я и период ставил такой же и параметры. Но у меня получается так: Quote Link to post Share on other sites
Eugenio 0 Share Posted December 22, 2008 БорисMQL4Не понимаю, как у вас получились такие результаты теста. Я и период ставил такой же и параметры. Но у меня получается так: Все зависит от ДЦ. Quote Link to post Share on other sites
olnikt 0 Share Posted December 22, 2008 А вот и обновленная версия моего торгового робота BAS-Trader_v1.01. Исправлены все основные ошибки, добавлен еще один параметр Koefficient1, он влияет на объем открываемых позиций, значение может быть от 0,01 до 20, не путайте это не объем, а коэффициент. Чем больше Koefficient1, тем больший риск, но хорошая итоговая прибыль, чем он меньше, тем риски меньше, но и прибыль соответственно значительно меньше. На пример, прогоняем на истории с 2007.08.14 до сегодняшнего дня, на 4 часовом периоде EURUSD с начальным балансом 100$, при Koefficient1=0,01 чистая прибыль составила 1142$, а с Koefficient1=2 чистая прибыль составила уже 74482$, то есть за 14 месяцев баланс увеличился в 700 раз. Другие параметры даже и не менял все и так хорошо работает. Сейчас готовлю следующую версию, как только допишу, сразу выкладываю на форум. За советник, конечно, спасибо, но вот то, что он в ex4... Портит как-то картинку. Quote Бесплатно автоматизирую торговые системы с подтверждённым положительным результатом торговли от трёх месяцев. С уважением,olnikt Link to post Share on other sites
alex1978 43 Share Posted December 22, 2008 А вот и обновленная версия моего торгового робота BAS-Trader_v1.01. Исправлены все основные ошибки, добавлен еще один параметр Koefficient1, он влияет на объем открываемых позиций, значение может быть от 0,01 до 20, не путайте это не объем, а коэффициент. Чем больше Koefficient1, тем больший риск, но хорошая итоговая прибыль, чем он меньше, тем риски меньше, но и прибыль соответственно значительно меньше. На пример, прогоняем на истории с 2007.08.14 до сегодняшнего дня, на 4 часовом периоде EURUSD с начальным балансом 100$, при Koefficient1=0,01 чистая прибыль составила 1142$, а с Koefficient1=2 чистая прибыль составила уже 74482$, то есть за 14 месяцев баланс увеличился в 700 раз. Другие параметры даже и не менял все и так хорошо работает. Сейчас готовлю следующую версию, как только допишу, сразу выкладываю на форум. За больший период льёт наглухо Quote Link to post Share on other sites
Eugenio 0 Share Posted December 22, 2008 За больший период льёт наглухо Ну, дык)) грааля то нет, нужно оптимизировать его каждую неделю. Quote Link to post Share on other sites
alex1978 43 Share Posted December 22, 2008 Ну, дык)) грааля то нет, нужно оптимизировать его каждую неделю. Оптимизировать имеет смысл не сливной советник. Чтобы в процессе оптимизации улучшить общие показатели ПРИБЫЛЬНОГО cоветника, подкорректировать просадку , профит фактор и т.п..в связи с меняющимся рынком. А если льёт наглухо то никакая оптимизация не спасёт. Нужно в корне менять систему. Quote Link to post Share on other sites
alex1978 43 Share Posted December 22, 2008 Вот в свободном доступе нашёл, причём исходник. На котировках Альпари с 2002 года по сейчас.. такой имеет смысл отптимизировать. А сливного "добра" да ещё скомпилированного везде полно. Quote Link to post Share on other sites
olnikt 0 Share Posted December 22, 2008 Вот в свободном доступе нашёл, причём исходник.На котировках Альпари с 2002 года по сейчас.. такой имеет смысл отптимизировать. А сливного "добра" да ещё скомпилированного везде полно. А можно ссылку, плиз? Quote Бесплатно автоматизирую торговые системы с подтверждённым положительным результатом торговли от трёх месяцев. С уважением,olnikt Link to post Share on other sites
alex1978 43 Share Posted December 22, 2008 А можно ссылку, плиз? Даже не оптимизировал. Думаю если пооптимизировать, можно намного круче бэктест получить. Просто в настройках тейки уменьшил, причём " от балды". С 2002 прогнал -по тестам даже в таком виде неплохо. Вот за последний год тест.. зы: В свободном доступе иногда встречаются интересные идеи. Но мало-где-то 1 на полсотни. Я за последний месяц штук 400 протестил, кое-что нашёл интересное. Осталось ещё где-то с тысячи:-P Дотестирую, буду оптимизировать и смотреть что с этим можно сделать.:-P tttttt.mq4 StrategyTester2008.zip Quote Link to post Share on other sites
AstraTrader 0 Share Posted December 22, 2008 Все зависит от ДЦ. ясно. Ну не думал, что рез-ты могут быть настолько разными. Quote Link to post Share on other sites
10% 6 Share Posted December 22, 2008 могут могут. вот тест по котировкам одного швейцарского ДЦ в архиве. Посмотри - не пожалеешь. А тож самое в Альпари дает в 100 раз меньше профита. причина в том что на чем меньшем периоде работает советник и чище график в ДЦ, и чем меньший профит заложен тем разница будет больше. 10.rar Quote Link to post Share on other sites
БорисMQL4 14 Share Posted December 22, 2008 За больший период льёт наглухо Все дело в том, что этот эксперт еще не закончен, на данный момент я его еще дорабатываю. А на форум по тому и выложил, чтобы вы нашли минусы, которые я буду устранять. Сейчас я почти доработал новую его модификацию, там постараюсь учесть все ваши пожелания и интересные идеи. Результат общих совместных усилий почти всегда лучше, чем тот, что получен в одиночку. А критика моих тестовых образцов мною только приветствуется. Quote Пишу на заказ — советники, индикаторы, скрипты и другое ПО для терминала MetaTrader 4.Сделать заказ Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.