The IIN system

 

Система IIN

По мотивам Система IIN - нетехнический анализ рынка

В указанном коде прикреплён архив с описанием. Меня он очень заинтересовал, поэтому описание выложу в этой теме. И потом, по ходу изучения документа воссоздам советник на MQL5.

Итак первая часть, от автора o_o:

Система IIN.

Система, основанная на нетехническом анализе рынка. Взята из засекреченных архивов ФБР. В основе нее лежат труды Пифагора, Робин Гуда и К. Маркса. Печатается без изменений. IIN – Impossible is nothing - старая чукотская поговорка.

Доброго времени суток всем.

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

В том или ином исполнении мне доводилось ее видеть на разных форумах и mql.ru. Правда, почти все они были чуть недоделанными и лишены чисто абстрактного подхода. Кому будет интересно, можете посмотреть еще одни системы такого типа Grid Trader от Matt Trigwell – стоп  ордера, Франк_уд (ник rsi) – лимит ордера.

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

Система использует два принципа:

1. Принцип равновероятности. Он говорит о том, что направление движения рынка в любой момент равновероятны. Все мы знаем, что никакой аналитик, или индикатор, или ваша суперинтуиция не скажет вам точно куда нужно открывать свои позиции. ВСЕГДА ЕСТЬ ВЕРОЯТНОСТЬ противоположного хода. Аналитик потом начинает выкручиваться и рассказывать вам, что так и должно было быть, индикатор за пару свечек развернется, ну а вы снова будете укорять себя, что не послушались своей суперинтуиции и словили лося. На форуме MQL мне понравилось высказывание еще одного программиста (ник Morgerion): "Эксперименты показали, что рынок в высокой степени хаотичен. Однако этот хаос – природный, гармонический хаос. Распределение фигур ряда в высокой степени равномерно. Устойчивой семантики, регулярных структур и устойчивых паттернов почти нет...".

2. Рынок всегда движется. Куда бы рынок не пошел нельзя сказать, когда закончится направление этого движения, но через некоторое время всегда произойдет движение в противоположном направлении (вспомним уровни Фибоначчи).

Большинство людей согласиться с ними, но вот применить на практике увы нет. Так как следствия из этих принципов не вписываются в их годами отточенную «железную» логику и вообще…
Следствие 1: Открываться можно в любую сторону, а лучше в обе сразу.
Следствие 2: стоп-лосс?

Ну не будем пока о грустном, а рассмотрим реализацию этих принципов в предлагаемой системе.

Реализацией на мой взгляд есть: локирование и/или усреднение позиций. Локирование в этой системе как таковое понятие отсутствует (мы и так будем открыты в обе стороны). Зато усреднение применяется в самых разных и извращенных вариантах.

Для вас я реализовал всего три, но их количество ограничивается только вашей бурной фантазией.

Вот они по мере усложнения:

  • Мягкий вариант. Он не обещает больших прибылей, но, как говориться лучше синица в руке, чем утка под кроватью.
  • Реинвестиция прибыли (т.е. доливка). Разрешите прибыли расти
  • Замена стоп ордера на лимит ордер. Тише едешь – дальше будешь.

Оценивать варианты я предлагаю в следующих номинациях:
1. Полученная прибыль
2. Максимальное количество открытых в поддержку ордеров.
3. Минимально возможный депозит, а точнее отношение минимально возможной ставки и как следствие возможный депо исходя из максимального количества ставок.


 

Мягкий вариант

На рисунках представлена работа как системы вообще, так и отдельных моментов по ее реализации.

Рис. 1. Начало. Открыты позиции в обе стороны. Рынок движется вверх. Значит открывается дополнительный SellStop ордер и удерживается на фиксированном расстоянии от цены бид, постоянно тянется за ней, но только вверх (для покупки только вниз). На рисунке ордер уже один раз переместился вверх. И когда цена начнет движение вниз, то он сработает.

IIN system pic. 1

Рис. 2. Сработали в поддержку уже 3 ордера (заметьте все они срабатывают на разных расстояниях в соответствии с динамикой рынка, что дает нам некоторое преимущество перед лимит-ордерами) и кажется рынок идет вниз.

IIN system pic.2

Рис.3. К сожалению, хотя нет, к счастью, рынок еще чуть протягивает вверх, зацепляет 2 ордера и затем они закрываются «пучком» (красные линии) c прибылью (хотя рынок шел еще ниже, но расстояние трейлинг-стопа не позволило взять много). Хорошее взятие прибыли можно наблюдать следующим открытием на продажу, когда в поддержку открылся всего один ордер, а закрытие произошло почти возле первого.

IIN system pic. 3

Теперь об ордере, который открыт на покупку. Его позиция за все время никак не обработалась. Она просто была открыта. И за все время теста она не закрылась! Так получилось, что котировка больше не вернулась к уровню 1,1850. Поэтому работа велась только по sell-позициям.  Так вот этот эффект я и называю мягкостью. Он как бы учитывает откуда пришел рынок и открывает только в противоположную сторону перекупленности (перепроданности).

IIN system pic. 4

Размер средств (зеленая линия) всегда выше или сливается с балансом.

Что такое ямки на линии баланса? Это есть закрытие «в пучок» всех усредненных ордеров. Хоть на графике они выглядят как будто растянуты по времени, но на самом деле они срабатывают одновременно (не стоит забывать, что график строиться не баланс/время, а баланс/номер лота) Иногда правая граница ямы намного выше левой (в случае самой первой ямы), а иногда почти одинакова (например, две последние), но НИКОГДА НЕ НИЖЕ! Это и есть самый главное положительное от метода усреднения. Когда будете наблюдать за работой «мягкой» системы на прогоне теста обратите внимание, что нижний ордер (на покупку) и верхний на продажу со временем образуют коридор, внутри которого бегает цена. Ордера как бы определяют глобальные уровни сопротивления и поддержки. Цена расталкивает их, освобождая себе пространство для действий. И можно с уверенностью сказать, что она после пробоя одной из границ обязательно начнет качаться в обе стороны, а следовательно вероятность положительно исхода модели нашей торговли практически осуществима.

Вот еще примеры для других валютных пар:

IIN system pic. 5

А вот это фунт. От него другого я и не ожидал (круто правда?):

IIN system pic. 6

Теперь проведем анализ этого «мягкого» варианта.

EURUSD
Период с 1.01.2006 по 1.06.2007
Начальное депо = 50000 (его я поставил наугад)

1. Полученная прибыль = 70 стартовых лота

Примечание. Вообще все расчеты требуемого депозита лучше вести в значениях стартового лота (далее с..л.) С.л. -  это размер лота, с которого открывается первая сделка. Дело все в том, что в системе ордера в поддержку открываются не тем же лотом, что и первый, а увеличенным на определенное значение (для гибкости торговли). Это увеличение с одной стороны позволяет нам закрываться быстрее, хотя с другой стороны это чревато быстрой растратой депозита в поддержку (примеры я покажу ниже во второй системе). Вы можете выбирать его либо минимальным для конкретного брокера (например у лайтфорекс это центы, у других 1 или 10 баксов, все зависит от них родимых), либо бОльшим на свое усмотрение. В моем случае стартовый лот был всегда 100 баксов – 0.1 лота, а коэффициент увеличения dLot = 2.

2. Максимальное количество открытых в поддержку ордеров. = 8 штук = 127 стартовых лотов (0,1+0,2+0,4+0,8+1,6+3,2+6,4=12,7 лотов или 127 с.л.)

3. Минимально возможный депозит 127 с. л. (или 12700 у.е.)

Что же значит минимально возможный депозит. Все конечно же зависит от стартового лота и dLot. Если у вас он = 0.1, то соответственно на вашем депо должно валятся про запас примерно 12700 у.е., если = 10 баксам, то 1270 у.е., ну а если же вы тестите систему на лайте типа центового, то всего-навсего 127 у.е. Причем заработок ваш составит за тестируемый период тоже не много – 70 у.е. Теперь понятно, что мне начальное депо можно было ставить не 50000 а всего 12700. В любом случае чем больше будет денег на счете, тем лучше, так как мы никогда не можем сказать как долго будет происходить одностороннее движение цены, и сколько лотов нам придется открывать в поддержку.

 

Перейдем ко второму варианту. Добавим в мягкий вариант реинвестицию прибыли. 

------------------------------------------------------------------------------------

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

Просто вдумайтесь. Для  накопления 100 000 у.е. при ежемесячном пополнении всего на 200 у.е. нужно примерно 50 лет. Ого скажете вы. НО! Если снимаемые проценты (примерно 13% годовых) также докладывать на счет, то 100 000 вы сделаете всего за 15!!!! лет. Вдумайтесь в разницу – 50 и 15 лет. Если же вообще таким образом откладывать в течении 50 лет, то результат даже страшно и называть – 15 000 000 у.е. Много людей даже никогда и не задавались мыслью по поводу таких расчетов, а ведь так оно и есть. Так происходит с Нобелевской премией, и аналогично происходит с вашей будущей пенсией. Государство, берет с вас пенсионный налог, а затем отдает копейки, себе же оставляя намного больше. Кстати вот вам вариант личной пенсионной системы по накоплению средств для себя при вашем еще трудоспособном состоянии. За 30-35 лет трудодней и откладыванию ежемесячно только 200 у.е., после вашего 60-летнего юбилея вы с чистой совестью просадите эти жалкие 2 000 000 зелени!.

И не суть важно в каком виде у вас будут эти деньги – в супернадежном банке, на биржевом счете  или вы начали развивать свой бизнес. Главное понять принцип реинвестиции прибыли. И если вам пока еще не 70 лет, то начните не только тратить деньги на себя или постоянно брать кредиты, но думать о своем будущем. Уверяю старость будет обеспечена сполна. 

------------------------------------------------------------------------------------

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

Как видно на уровне ~1,1925 доливается еще один лот на покупку. И сразу система из двух лотов начинает «трейлиться» (красная линия, расстояние трейлинга можно менять). В тоже время мы имеем 2 ордера поддержки на продажу. 

IIN system pic. 2.1

На втором рисунке хорошо видно, что ордера вступая в рынок постоянно следуют за ним, выводя убытки в прибыли или в худшем случае в ноль.

IIN system pic. 2.2

А вот и то, что получилось на той же валюте и том же периоде. Сделок совершено более 600 (в отличии первого случая примерно 100), но и в тоже время прибыль составила не 70 с.л. а уже 400!

IIN system pic. 2.3

Проведем анализ этого «доливочного» варианта.
EURUSD
Период с 1.01.2006 по 1.06.2007

1. Прибыль = 412 стартовых лота

2. Максимальное количество открытых в поддержку ордеров. = 9 штук = 255 стартовых лотов 

3. Минимально возможный депозит 256 с. л.

Начальное депо = 25600 

Итак, с добавлением доливки система начала «ходить» за рынком и уже усреднялись как покупки так и продажи. И хотя нам пришлось открыть в поддержку 256 с.л., но прибыль изменилась аж в 412/70 = 6 раз! Или другими словами мы увеличили свое депо в 668/256 = 2.6 раза! Неплохо для первого года торговли :).

Но здесь есть как обычно маленькое НО.

Проблема вырастает, казалось бы, на ровном месте. Для пар, котировка которой может ходить очень сильно и долго (например GBPUSD, GBPJPY ) ордера срабатывают почти на одинаковом расстоянии друг от друга. И в результате депозит практически тает на глазах, обрастая ордерами в поддержку. И может произойти такой момент, когда для открытия нового ордера в поддержку у вас не останется денег на счету. Вот вам рисунок слива депо по фунту. 

1) Все поначалу идет отлично (от фунта никто другого и не ожидает) котировка смело бегает вверх и вниз, позволяя нам быстро наращивать депозит. Ордеров в поддержку не более 9. Мы идем на рекорд – еще не прошел год, а у нас почти удвоение капитала!

IIN system pic. 2.4

2) Но вот в конце ноября рынок начал резко идти вверх после прохода отметки 1,90. Очень сильные выпады вверх зацепляют новые ордера, но вниз движение слабое и не получается закрыться в безубытке. В результате в поддержку уходит 10 ордеров и нас выкидывает. :(

IIN system pic. 2.5

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

IIN system pic. 2.6

Так вот на графике теперь место прошлого слива представлено небольшой ямкой в районе 420 ордера. И вообще характер поведения системы немного изменился, появились ямки, которых не было с прошлым параметром, и наоборот смягчились или исчезли вообще те, что были. Прибыль кстати тоже уменьшилась, но, как говориться тише едешь…

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

2. Если бы мы не изменили параметр, то прибыль по фунту составила бы намного больше - по евро 412 с.л., по фунту не менее 500 с.л. Сейчас же она стала равняться 250 с.л при рисках 256 с.л..


 

И наконец последний вариант системы. Мы меняем стоп-ордер на лимит-ордер. 

Работа идет практически по тому же принципу. Посмотрим на рисунки. Сначала как обычно открываем ордера в обе стороны и сразу ставим лимит-ордера к ним. 

IIN system pic. 3.1

Далее по мере срабатывания лимит-ордеров на продажу открываются новые, причем расстояние между ними увеличивается (это необходимо для предотвращения их массового срабатывания при резком изменении котировки).

IIN system pic. 3.2

Ну и  конечно же доливаем (два на покупку + трейлинг (красная))

IIN system pic. 3.3

Возвращаясь к тому же фунту и не трогая параметры имеем, что ноябрьский прорыв уровня 1.90 для нас прошел  с легким испугом (район 792 ордера). И прибыль, соответственно, 450 с.л., что почти в 2 раза больше чем с измененным вторым вариантом стоп-оредров.

IIN system pic. 3.4

А вот лимит-система для евро.

IIN system pic. 3.5

Прибыль всего 165 с.л., но и риски тоже меньше (127 с.л.). 

Выводы:
1. Стоп-система приносит больше прибыли, чем лимит-система, но имеет и большие риски
2. Желательный минимальный депозит должен = 500 стартовых лота
3. Реинвестиция есть основа любой финансовой деятельности
4. Impossible is nothing.

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

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

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



 
Запас 
 

Но тут и ситуации рассматриваются спокойные, а не экстремальные. Интересен стресс-тест на таких случаях, как Brexit. Вообще же говорить о хаотичности рынка не приходится. Если бы так было, мы бы никогда не наблюдали тренды. Не важно, что конкретно вызывает тренд, но это факторы, которые действуют какое-то время и при этом вероятность одного направления больше, чем другого. Аналогия с физикой - разность потенциалов. Несмотря на то, что какая-то часть заряженных частиц может двигаться в противоположном направлении, большинство всё равно выстроится в направлении, компенсирующем разность. Если, например, какой-то ЦБ в одной из относительно развитых стран поднимет ставку до 10% (маловероятно, но всё же представим), то однозначно большинство валют на этом сыграют хоть какое-то время. Торговать против такой ставки - самоубийство. Интересно было бы учесть фактор ставок в МТС. Скажем, в виде коэффициента. Например, открываться против высокой ставки меньшим лотом, чем в её направлении.

 
Sergey Vradiy:

Но тут и ситуации рассматриваются спокойные, а не экстремальные. Интересен стресс-тест на таких случаях, как Brexit.

вот же он - полный слив )


 

Возник такой вопрос: есть главный советник "TradeSystem.mq5" и он имеет функцию iClose(). В  "TradeSystem.mq5" подключён файл "Traling.mqh", в того подключён "Signals.mqh", а в том в свою очередь подключён "Laguerre.mq5". В "Laguerre.mq5" есть расчёты с использованием iClose():

Включенные файлы

Как ЛУЧШЕ сделать, чтобы "Laguerre.mq5" видел функцию iClose() из "TradeSystem.mq5"?

Файлы:
 

Начали с поэзии закончили мартингалом :)

 
Sergey Vradiy:

Но тут и ситуации рассматриваются спокойные, а не экстремальные. Интересен стресс-тест на таких случаях, как Brexit. Вообще же говорить о хаотичности рынка не приходится. Если бы так было, мы бы никогда не наблюдали тренды. Не важно, что конкретно вызывает тренд, но это факторы, которые действуют какое-то время и при этом вероятность одного направления больше, чем другого. Аналогия с физикой - разность потенциалов. Несмотря на то, что какая-то часть заряженных частиц может двигаться в противоположном направлении, большинство всё равно выстроится в направлении, компенсирующем разность. Если, например, какой-то ЦБ в одной из относительно развитых стран поднимет ставку до 10% (маловероятно, но всё же представим), то однозначно большинство валют на этом сыграют хоть какое-то время. Торговать против такой ставки - самоубийство. Интересно было бы учесть фактор ставок в МТС. Скажем, в виде коэффициента. Например, открываться против высокой ставки меньшим лотом, чем в её направлении.


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

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

 
Vladimir Karputov:

Возник такой вопрос: есть главный советник "TradeSystem.mq5" и он имеет функцию iClose(). В  "TradeSystem.mq5" подключён файл "Traling.mqh", в того подключён "Signals.mqh", а в том в свою очередь подключён "Laguerre.mq5". В "Laguerre.mq5" есть расчёты с использованием iClose():


Как ЛУЧШЕ сделать, чтобы "Laguerre.mq5" видел функцию iClose() из "TradeSystem.mq5"?


Как вариант - вынести все общие функции (и iClose в частности) в отдельный файл "CommonFunctions.mqh" и подключить его в каждом файле ( "TradeSystem.mq5", "Traling.mqh", "Signals.mqh", "Laguerre.mq5").


Добавлено: хотя не очень вариант получается - инициализации не сделать, точнее если прописать отдельную функцию Init в "CommonFunctions.mqh", то эта функция будет публичной и доступной во всех файлах ("TradeSystem.mq5", "Traling.mqh", "Signals.mqh", "Laguerre.mq5"), а это уже не есть хорошо...

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