Уважаемые трейдеры, предлагаю Вам свой индикатор тренда - Kristi.

 

Уважаемые трейдеры, предлагаю Вам свой индикатор тренда - Kristi.

Была идея сделать не индикатор, а экспертный модуль, который вырабатывал бы непосредственно торговые сигналы для управления торговой системой, но сегодня я отказался от этой идеи, довел программу до удобоваримого внешнего представления в виде индикатора и выставляю на Ваш суд.

Сразу прошу, вопросов по алгоритму и методике его создания не задавать, алгоритм я раскрывать не буду. На любые другие вопросы готов ответить. Этот индикатор в работе на демо я не проверял, каждый может его тестировать сам, в соответствии со своими задачами. Если будут какие замечания, варианты доработок, результаты тестирования – прошу добавлять в эту ветку. Если кто сделает торговую систему, показывающую приличные результаты, на основе этого индикатора – прошу связаться со мной и дать мне в качестве помощи. Я не программист, не знаю MQL, с большим напрягом меня хватило, чтобы написать индикатор, торговая система мне не по зубам, заказать ее – мой скудный семейный бюджет не позволяет, а торговать в ручную для меня слишком сложно ввиду проблем со здоровьем.

Индикатор формирует 20 моделей тренда для разных гармоник, работает со всеми инструментами, на всех таймфреймах. На разных инструментах одна и та же модель показывает разную динамику в силу специфике каждого инструмента.

На представленном рисунке, в качестве примера, индикатор рисует графики 5 моделей (чтобы не загромождать рисунок – ограничился этим), на GBPUSD, M1, задан минимальный масштаб экрана.

Самое простое решение для построения торговой системы, которое напрашивается – выбирая оптимальную группу моделей для каждого инструмента, принимать решение о торговле при смене направления тенденции этой группы. Хотя здесь большое поле для творчества, и могут быть другие более эффективные решения, кого заинтересовал этот индикатор – дерзайте.


Файлы:
kristi_1.mq4  52 kb
 
Дружно хором: "Снегурочка!" 
Извиняюсь, перепутал: "Ин-ди-ка-тор!" Где же он?
 
Уже здесь, снимал на некоторое время, т.к. при последнем редактировании перед загрузкой удалил лишнее, теперь восстановил все как надо.
 

Несколько вопросов. 1. А если на графике менее 10000 баров, то индикатор работать не должен. 2. Хотелось бы ознакомиться с теоретической частью.

 
Основательная работа. Но у меня что-то не отрисовался. Первым взглдяом обнаружил использование цены Bid, не понял. Отрихтовать все это дело еще надо, но сначала понять)))
 
На вскидку:
этот код

   STD5[0][0][0]=0; STD5[0][1][0]=Close[10000]/Bid;
   STD5[0][0][1]=0; STD5[0][1][1]=Close[10000]/Bid;
   STD5[0][0][2]=0; STD5[0][1][2]=Close[10000]/Bid;
   STD5[0][0][3]=0; STD5[0][1][3]=Close[10000]/Bid;
   STD5[0][0][4]=0; STD5[0][1][4]=Close[10000]/Bid;
   STD5[0][0][5]=0; STD5[0][1][5]=Close[10000]/Bid;
   STD5[0][0][6]=0; STD5[0][1][6]=Close[10000]/Bid;
   STD5[0][0][7]=0; STD5[0][1][7]=Close[10000]/Bid;
   STD5[0][0][8]=0; STD5[0][1][8]=Close[10000]/Bid;
   STD5[0][0][9]=0; STD5[0][1][9]=Close[10000]/Bid;
   STD5[0][0][10]=0; STD5[0][1][10]=Close[10000]/Bid;
   STD5[0][0][11]=0; STD5[0][1][11]=Close[10000]/Bid;
   STD5[0][0][12]=0; STD5[0][1][12]=Close[10000]/Bid;
   STD5[0][0][13]=0; STD5[0][1][13]=Close[10000]/Bid;
   STD5[0][0][14]=0; STD5[0][1][14]=Close[10000]/Bid;
   STD5[0][0][15]=0; STD5[0][1][15]=Close[10000]/Bid;
   STD5[0][0][16]=0; STD5[0][1][16]=Close[10000]/Bid;
   STD5[0][0][17]=0; STD5[0][1][17]=Close[10000]/Bid;
   STD5[0][0][18]=0; STD5[0][1][18]=Close[10000]/Bid;
   STD5[0][0][19]=0; STD5[0][1][19]=Close[10000]/Bid;
можно заменить этим

 for(int c_std5;c_std5<20;c_std5++){
       STD5[0][0][c_std5]=0
       STD5[0][1][c_std5]=Close[10000]/Bid;
   }
 
Впечатляет. 20 моделей - монструозный труд. Однако, есть вопрос: чем таким информативны горизонтальные линии в текущем положении цены? Интересно, как вы сами пользуетесь этим индикатором?
 

А я то надеялся, то чем-то разгневал MQ, и они лишили меня доступа на форум. Ан-нн нет, придется отдуваться по полной программе и ответить за все.

Vinin 20.03.2007 04:12

«Несколько вопросов. 1. А если на графике менее 10000 баров, то индикатор работать не должен. 2. Хотелось бы ознакомиться с теоретической частью.»

Индикатор будет работать при любом значении. Я проверял, по одному инструменту было загружено только около 300 баров, не только в окне, но и во всей истории – индикатор отрабатывал нормально.

Integer 20.03.2007 05:36

«Основательная работа. Но у меня что-то не отрисовался. Первым взглядом обнаружил использование цены Bid, не понял. Отрихтовать все это дело еще надо, но сначала понять)))»

У меня все рисует нормально, попробуйте загрузить индикатор заново из новой редакции.

Bid я использую в качестве нормирующего параметра. После нормирования по Bid для моделей не важно с какими инструментами Вы работаете, на какой истории, индикатор будет себя вести также как и сейчас и через 10 лет, потому, что не зависимо от того как меняется рынок, на вход моделей будут поступать переменные в том же динамическом диапазоне при котором происходило обучение. Модели работают по принципу распознавания, формируется шаблон, а нормирование по Bid позволяет сохранить структуру шаблона неизменной. При поступлении нового бара меняется только конфигурация элементов внутри шаблона, а обученные на разных эталонах модели отражают эти изменения в виде графиков. Этот индикатор я разработал более года назад, но забросил его, т.к. мне не удалось на нем получить то, что я хотел, я ставил задачу получить прогноз тренда. Обучение я вел на исторических данных декабря 2005 года только по USDCHF. Месяц назад я вернулся к этому индикатору, он показывал те же результаты, что и в начале по всем инструментам. Сейчас большую часть его я переделал, но принципы работы остались те же, и я уверен, что Вы сможете с ним работать как угодно долго, и алгоритм не потребует переобучения.

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

xeon - Вы правы, в индикаторе много еще чего надо оптимизировать.

Vita 22.03.2007 18:20

"Впечатляет. 20 моделей - монструозный труд. Однако, есть вопрос: чем таким информативны горизонтальные линии в текущем положении цены? Интересно, как вы сами пользуетесь этим индикатором? "

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

Я только ограничился 20 моделями, без проблем можно получить и 200, но только потом сложно будет разбираться в этой паутине.

Вообще, это не просто индикатор, это открытая система для моделирования различных тенденций. Путем несложных манипуляций с группой сигналов из 45 GOLD1, и 3 GOLD3, которые дают огромное количество ковариаций между собой, можно найти такую модель тенденции, которая отвечает Вашим конкретным задачам и стратегии. При отладке я получал очень медленные модели тенденций, которые на 10000 баров на минутном графике давали только по одному максимуму и одному минимуму, я их не оставил в индикаторе, т.к. ориентировал его для внутридневной торговли. Единственная проблема, все это очень трудоемко. Я не знаю, я с ним никогда не работал, но может быть возможно подключить к этому делу оптимизатор, который встроен в МТ4. Моделирование различных тенденций Вы можете делать аналогично, как это сделано у меня в блоке формирования файла STD5, а изменение порога PIP в блоке формирования JSS5, позволит Вам получить дополнительную возможность управления динамикой модели. Даже одинаковая группа сигналов в STD5 при разных значениях PIP дает разные модели. К тому же не обязательно пользоваться сигналами GOLD, модель GM5k[nq][9] сформирована непосредственно из рыночных сигналов Low и High, аналогично Вы можете строить модели из сигналов, которые выдают Ваши индикаторы, или используя группу построенных мной моделей для формирования из нее другой модели.

Еще хочу добавить несколько слов об особенности работы индикатора. Моей стратегической ошибкой при его создании было использование усредненных и запаздывающих значений входных параметров (цен) на начальном этапе. Я слишком поздно понял это и не стал переделывать, пришлось бы всю работу начинать с нуля. Вследствие этого, очень часто, экстремальные точки смены направления построенных моделей, оказываются запаздывающими. И хотя некоторые полиномы и дают экстраполяцию на 1-2 бара, компенсировать запаздывание мне не удалось. Еще одним неприятным следствием этой ошибки является то, что при появлении большой свечи, противоречащей основной тенденции, по которой в данный момент движется цена, что постоянно случается на рынке, некоторые из моделей ведут себя не устойчиво на 5-10 барах пока эта свеча не выйдет из диапазона значений входных параметров, по которому ведется усреднение. Эта неустойчивость проявляется в том, что графики, которые рисуют модели, обновляясь при поступлении нового бара, будут немного сдвигаться вверх или в низ, а иногда может произойти ложное срабатывание и сформироваться перелом тенденции на графике, который устраниться при выходе большой свечи из диапазона усреднения. Чтобы этот факт не отразился на принятии торгового решения, следует вести анализ и формировать решение не по одной модели, а индивидуально для каждого инструмента оптимально подобранной группе моделей из тех 20 моделей, которые строит индикатор (файл GM5k). При этом простое усреднение нескольких моделей будет мало эффективным, нужен именно групповой анализ примерно так, как у меня реализовано в блоке формирования файла STD5.

Еще одной особенностью работы индикатора является то, что если движение тренда создает новый максимум или минимум, то так как пересчитывается вся предыстория при формировании шаблона, то линии рисуемые моделями на истории могут меняться. Например, если вернуться к рисунку, то я с уверенностью могу сказать, что когда цена текущего момента находилась на 10:45, голубая линия указывала на перелом тенденции в 8:10 и опускалась к уровню цены 1.9427, но в интервале времени от 10:30 до 11:00 сформировался новый локальный минимум на этой модели и график пошел вверх. При формировании нового максимума в 13:20 модель в новом шаблоне проигнорировала локальный минимум и сразу отрисовала линию от 8:10 до 13:20.

Индикатор немного не завершен, хотя и вполне работоспособный в этом виде. Я реанимировал его и начал дорабатывать для одного совместного проекта. В конечном итоге я хотел сделать не индикатор, а экспертный модуль, который вырабатывает сигналы Buy, Sell, а также сигнал управления трейлинг стопом для управления торговой системой. Но пока я дорабатывал индикатор, проект сорвался. Доделывать, тестировать его у меня нет ни времени, ни желания, использовать его я не буду, он не совсем отвечает моей торговой стратегии, которую я сейчас пытаюсь реализовать. Жаль если время и труд, затраченные на него пропали зря, надеюсь, он кому-то пригодится. Я уверен, торговая система, построенная на его основе, будет прибыльной. И даже при ручной торговле он может оказать помощь тому большинству трейдеров, которые не являются программистами, а вынуждены пользоваться теми скудными средствами, что заложены в терминал. Я тоже не программист, но еще как-то через пень- колоду могу что-то сляпать, но для многих это затруднительно. Для программистов же не будет проблемой доделать последний модуль, как я описал выше, настроив его индивидуально на решение своей задачи.

Файлы:
kristi_2.mq4  51 kb
 

Piligrimm как можно с вами связаться?

 
barabaka:

Piligrimm как можно с вами связаться?


Если есть вопросы, задавайте здесь, если есть предложения по совместному использованию индикатора - напишите здесь и оставьте e-mail, отвечу.
 
Piligrimm:

Самое простое решение для построения торговой системы, которое напрашивается – выбирая оптимальную группу моделей для каждого инструмента, принимать решение о торговле при смене направления тенденции этой группы. Хотя здесь большое поле для творчества, и могут быть другие более эффективные решения, кого заинтересовал этот индикатор – дерзайте.


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

Оч. много жёстких коэффициентов и, к сожалению, непонятно откуда что берётся. Поэтому в таком виде, без теории вопроса, вряд ли кто возьмётся доработать.

Причина обращения: