Главная » Статьи » Forex

Механическая Торговая Система. Начало

Именно так я думала, когда осваивала новое для себя дело — построение торгового робота (он же советник, он же автомат, он же МТС), способного следовать моей торговой системе в Метатрейдере4 — одной из самых распространенных торгово-аналитических платформ на форексе.

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

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

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

Если вы хоть немного понимаете по-английски, то будет проще. Судите сами, вот строка из моего робота на открытие длинной позиции:

if (iADX (NULL, PERIOD_H1, 14, PRICE_CLOSE, MODE_MAIN, 0) > 20)
order_buy = OrderSend(«GBPUSD», OP_BUY, lots, Ask, 0, Ask-stop_loss, Ask+profit);

Давайте просто переведем с английского, что тут написано: «Если индикатор ADX (iADX) текущий (NULL) на периоде цены H1, 14 (период индикатора ADX), цена закрытия, главная линия, текущее значение (0) больше 20, тогда посылаем приказ на открытие ордера (OrderSend) по валютной паре GBPUSD с лотом lots по цене Ask с установкой Стоп-лосса и Тейк-профита»

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

Несмотря на то, что перевод выглядит как набор слов, смысл условия ясно просматривается — для открытия позиции вверх робот, кроме всего прочего, будет ждать момента, когда основная линия ADX будет больше 20. Ниже этого уровня возникает много ложных сигналов, следовать за которыми нам не нужно. Робот и не будет.

Так что не Боги горшки обжигают: нужно освоить основные понятия, которые заложены в этот язык, вооружиться словарем со списком команд и ошибок, и внимательно следить за скобками — хоть одну не поставишь, написанное не скомпилируется и работать не будет.

Сложности возникли не в освоении языка MQL4, а в том, как математически выразить то, что у меня находится уже где-то в подкорке.

Помню первый шок от теста своей автоматической системы, которая показала огромный минус. Позвала мужа — он в программировании товарищ опытный. Смотрит мой супруг в программу и в терминал и говорит: «Вот, все правильно открылось. Так, как ты и задала!» «Нет, — говорю я, — я бы тут ни за что не открылась. Ты посмотри сюда и сюда. Нельзя!» «Вот и пиши так, чтобы и роботу было нельзя здесь действовать». Каждый нюанс работы каждого индикатора и связи всех взятых в систему индикаторов нужно выразить математически.

При этом важно помнить, что робот ничего не оценивает. Для него не существует тренда и флэта, он не «видит» растущие сейчас тенденции или падающие. Абсолютно все должны учесть мы — его Создатели.

Например, сначала я описала рост ЕМА по двум точкам: если текущее значение (0) больше предыдущего (1), то начинают включаться остальные условия открытия позиции вверх.

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

Для нас, людей, привыкших охватывать единым взглядом весь набор индикаторов на рабочем столе и давать оценку «тренд вниз, ждем сигнала на sell», этот участок столь мал, что мы его игнорируем в общей массе своих наблюдений. Но МТС будет отслеживать каждый тик и каждое малейшее изменение вложенных в нее индикаторов. Если хоть где-то будет верно выражение ЕМА, 0 > ЕМА, 1, механическая торговая система может выполнить заложенное в нее задание в совершенно не нужном нам направлении.

Поняв это, я попробовала взять две точки, но на расстоянии нескольких свечей друг от друга. И опять получилась софистика — логика есть, но ложная. Потому что возможен такой вариант:


Рисунок 1.

После точки Б цена может пойти как вверх (что нам нужно, если мы ищем точку покупки), так и вниз. Это может быть откатом на растущем тренде или концом бычьих настроений и началом медвежьих.

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

Я вспоминаю, сколько благоприятных моментов мною было упущено при торговле руками! То домой придешь на час позже от благоприятного для входа в рынок момента, то все дневное движение произойдет утром, когда мирно попиваешь чай, зная, когда просыпается любимая валюта. А она, «редиска», взяла и выдала хорошее движение утром, и на весь день потом зависла в узком коридоре. Хоть живи у компьютера!

Если брать скальперов? Им сам Бог велел обзавестись МТС, чтобы жизнь окончить на Мальдивах, а не в клинике для душевнобольных. Робот, конечно, здесь очень нужный помощник. Есть ради чего превратиться в зануду, и методично прописать все мелочи.

Мелочей кстати, когда дело касается роботов, не бывает. Для меня это уже аксиома.

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

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

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

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

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

Если вы начинаете автоматическую торговлю, то все, что говорится о тестах торговых систем, становится особенно важным.

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

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

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



Категория: Forex | Добавил: Eucharis
Просмотров: 1890 | Теги: Механическая Торговая Система. Нача | Рейтинг: 2.8/36