English 中文 Español Deutsch 日本語 Português
Система для создания МТС

Система для создания МТС

MetaTrader 4Торговые системы | 5 июля 2007, 11:42
1 769 6
Rustem Bigeev
Rustem Bigeev

Введение

Согласитесь, заманчиво звучит - Вы стали обладателем программы, которая за несколько минут может разработать Вам прибыльную МТС. Вам нужно просто ввести целевые параметры на сделку и нажать Enter. И - нате Вам, получите готовую МТС, протестированную и с положительным матожиданием выигрыша. Когда тысячи людей тратят тысячи часов времени на разработку той самой, единственной (МТС), которая "напоит, накормит и спать уложит", такие утверждения звучат, мягко говоря, неубедительно.

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

Если же речь идет о создании компьютерных алгоритмов в условиях неопределенности, то как может один слепой (человек) показать другому слепому (компьютеру), куда надо двигаться. С другой стороны, все на свете рано или поздно повторяется, и ситуация, имевшая место в прошлом, вполне может повториться и в будущем. Именно на этом факте и строится большинство МТС. И здесь речь идет не об адаптации к постоянно меняющимся рыночным условиям. Основной упор делается на терпение и способность дождаться того самого момента, который в прошлом давал статистически приемлемые результаты.


Для чего нужны МТС?

Вероятно, напрашивается следующий ответ: МТС нужна в моменты, когда трейдер не знает, какую операцию на рынке совершить. Ведь если трейдер знает, что нужно делать, то МТС не нужна, но это не вписывается в тему данной статьи. В то же время, если человек постоянно будет знать, что ему нужно делать, то это уже будет не человек.

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

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

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

Несмотря на то, что рынок Форекс оперирует объемами 3-4 триллиона долларов в день, подавляющая масса этих объемов делается с помощью плеча. Это значит, что в конце дня все открытые позиции свопируются и реально двигаются деньги, на несколько порядков меньшие. И если кто-нибудь на рынке решит просто переложиться из одной валюты в другую путем прямой конверсии, то эту операцию обратным свопом не покроешь, и придется искать кого-то на стороне для покрытия риска, что приводит к мультипликативному эффекту.

Формирование таких открытых позиций объемом «всего» в несколько миллиардов может вполне серьезно «сдвинуть» рынок. Эти объемы являются вполне обычными для крупных пенсионных и хеджевых фондов, которые не играют на разнице курсов, а просто ищут более доходные процентные инструменты в тех или иных валютах, и, найдя их, вкладываются в них на период никак не меньше года. А получаемая в результате этого курсовая разница может считаться дополнительным бонусом.

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


Рыночные модели

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

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

Например, фигуры «Двойное основание/вершина», «Голова и плечи», «Треугольник» и другие. Все они являются рыночными моделями, так как после их формирования на графике в статистическом большинстве случаев следует вполне конкретное и ожидаемое движение цены. Таким образом, определение рыночной модели можно сформулировать следующим образом:

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

Добавлю - в статистическом большинстве случаев.

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


Чистота рыночных моделей и их прогностическая способность

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

Как определить и выбрать эти самые модели? Размышляя на эту тему, у меня возникли определенные ассоциации на несколько отвлеченные темы. Рассмотрим, к примеру, конезаводчика, который разводит породистых лошадей. Он вполне определенно знает из прошлого опыта, какие условия надо выдержать при разведении коней, чтобы на выходе получались скакуны, способные брать призы на крупнейших состязаниях. Например, родители и прародители такого скакуна должны быть также породистыми скакунами. Условия содержания, кормления и воспитания должны быть соответствующими. При этом, если он придерживается всех этих правил и требований, то в статистическом большинстве случаев он получит коней, которые способны оправдывать его ожидания.

Переводя на рыночный язык, эти условия - и есть наша рыночная модель, которая в будущем должна оправдать возлагаемые на нее надежды. Разница лишь в том, что эти условия трейдер формировать не в состоянии, но в состоянии дождаться их возникновения. Возвращаясь к вышесказанному, следует определить, какие же модели отбирать для их математического описания, и самое главное - как их распознавать на этапе отбора? Для этого имеет смысл пойти от обратного. То есть сначала мы определяем цель - какой хотели бы получить результат, - а затем будем анализировать условия, которые приводили к этому результату в прошлом.

К примеру, мы бы хотели зарабатывать на каждой сделке по 100 пипсов. Соответственно, нам нужны такие движения цены, которые бы превышали эти самые 100 пипсов + спред + запас на непредвиденные ситуации (пусть будет 30-35%). Причем очень желательно, чтобы эти движения цены укладывались в один импульс и не содержали глубоких коррекций. Для описания рыночных моделей резонно использовать математический инструментарий, которым обычно пользуются трейдеры. Набор индикаторов и их параметры следует определить заранее. Дальнейшую последовательность действий можно описать примерно следующим образом:

  1. выбираем и отмечаем на графике участки, которые удовлетворяют нашим целевым условиям, а именно - импульсные движения с ходом в 130-140 пипсов;
  2. определяем точки/области, с которого они начинались;
  3. описываем точку/область начала импульса математическими параметрами;
  4. пытаемся отыскать в полученных описаниях общие значения параметров.

Если общие параметры присутствуют, то их вполне можно положить в основу рыночной модели. Если каждая ситуация выглядит у Вас уникальной, то, веротяно, имеет смысл сменить индикаторы для описания рыночной модели на другие либо подобрать для них более оптимальные параметры.

Следующим этапом будет проверка полученной рыночной модели на исторических данных. Здесь вполне может выясниться, что при одних и тех же условиях цена не всегда идет на 130-140 пипсов, иногда не доходит, а иногда и значительно превышает заданные цели. Здесь уже придется вести подсчет, в скольких случаях полученная Вами модель дает ожидаемый результат, а сколько случаев можно считать статистической погрешностью. И если статистическая погрешность получается слишком большой, то придется вводить дополнительные параметры для описания модели, чтобы отсеять те случаи, которые не укладываются в заданные целевые рамки. Таким образом, можно создать описание рыночной модели для вполне конкретной цели (100 пипсов хода цены на сделку).

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

Единственным выходом будет ведение статистики в виде продолжения тестирования. То есть, получив на тестах удовлетворяющий Вас результат, Вы начинаете торговать и продолжаете отслеживать статистические параметры нарастающим итогом. И как только результаты перестанут Вас удовлетворять, всю работу придется провести заново.

Автоматизация создания МТС

И в заключение хотелось бы высказаться относительно того, возможно ли автоматизировать процесс отбора и описания рыночных моделей, которые могли бы лечь в основу МТС. С технической точки зрения, я не вижу здесь большой сложности. Как было сказано выше, описание рыночной модели начинается с постановки целевых ориентиров. Далее идет отбор из исторической базы тех ситуаций, которые бы отвечали заданным целям.

Выбрать из истории импульсы заданной длины и создать из них список, думаю, сможет даже программист среднего опыта и квалификации. А вот следующий этап, связанный с описанием выбранных ситуаций, может потребовать нестандартного подхода. При описании точки/области начала импульсного движения нужно будет перебрать огромное число индикаторов с разными комбинациями параметров. И чем большее число индикаторов и параметров участвует в описании, тем четче будет описана модель и тем легче будет фильтровать те рыночные ситуации, которые не полностью соответствуют описанию.

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

Заключение

Другими словами, автоматизировать данный процесс можно. Все дело в том, что лично я пока не представляю себе временные затраты на его реализацию. Наверное, потому, что программист из меня не получился, хотя определенные задатки имели место. Тем, кого заинтересовала данная задача и кто хочет поучаствовать в ее реализации, предлагаю создать лабораторию торговых систем и, объединив усилия, знания и опыт каждого, попробовать получить результат.

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

Последние комментарии | Перейти к обсуждению на форуме трейдеров (6)
Andrey Opeyda
Andrey Opeyda | 6 июл. 2007 в 12:40
пардон. да здравствуют экспертные системы. Мда.
[Удален] | 11 июл. 2010 в 19:53
кажется тема не раскрыта полностью - хотя может так и задумано
Vitalii Borynskyi
Vitalii Borynskyi | 9 окт. 2012 в 11:55

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

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

[Удален] | 11 мая 2013 в 18:48
Поздравляю всех с моим днем рождения. я столько не выпью - это я о содержании статьи.Где практическое применение. где хотя бы намек на МТС? Рассуждения - Вы не поверите. во время грозы из-за усиления тета-ритмов головного мозга увеличивается подсознательная активность и интуитивное восприятие...Дальше-то что?исследования по нейрофизиологии - гкгл Вам в помощь...как любят говорить т.н. гуру данного форума...
fenix74
fenix74 | 13 июн. 2013 в 11:49
Вы Rustem Bigeev предлагаете программистам сделать такую программу, которая для трейдеров не знающих языка MQL создавала бы рабочие прибыльные МТС??? То есть вы предлагаете им оставить себя без работы, вырыть для себя яму???
Как упростить обнаружение и устранение ошибок в коде эксперта Как упростить обнаружение и устранение ошибок в коде эксперта
В разработке торговых экспертов не последнее место занимают вопросы диагностики и исправления ошибок в их коде. Специфика такова, что порой не обнаруженная вовремя ошибка может погубить стоящую идею торговой системы еще на этапе ее первых испытаний. Поэтому любой здравомыслящий разработчик МТС будет изначально заботиться о таких проблемах. Данная статья рассматривает некоторые подходы, помогающие в этом нелегком деле.
Можно ли прогнозировать рынок Форекс? Как создать собственную торговую стратегию? Можно ли прогнозировать рынок Форекс? Как создать собственную торговую стратегию?
Ответ на эти вопросы ищет каждый, кто начинает работать на рынке Форекс, но не каждый находит, даже после многих лет упорного труда и поиска. Я для себя ответил на эти вопросы как и на многие другие, заданные в этой статье. И как результат этих ответов определился путь создания эффективной торговой стратегии.
Принцип замены времени в интрадей-торговле Принцип замены времени в интрадей-торговле
В статье изложена концепция операционного времени, позволяющая получать более однородный поток цен. Представлен код измененного скользящего среднего, учитывающий это преобразование времени.
Индикатор Alternative Ichimoku – настройка, примеры использования Индикатор Alternative Ichimoku – настройка, примеры использования
Как правильно настроить Alternative Ichimoku. Прочтите описание настройки параметров. Статья поможет разобраться в способах настройки параметров не только индикатора Alternative Ichimoku. Конечно Вы лучше поймете как настроить стандартный Ichimoku Kinko Hyo тоже.