Главная » ФОРЕКС » Стратегии форекс » Почему на Форексе нельзя заработать
Опубликовано: 1 июня 2020

Почему на Форексе нельзя заработать

Почему на Форексе нельзя заработать и можно ли избежать обмана

Многие трейдеры, не раз и не два проигравшие свои деньги при участии в торгах на валютной бирже, тщетно пытаются понять – почему на Форексе нельзя заработать? Давайте разберемся, действительно ли здесь кроется обман или заработать не получается по определенным причинам. Чем отличается Форекс от фондовой биржи, по каким причинам не работают стратегии и как избежать «слива депозитов» и обмана.

Почему на Форексе нельзя заработать и можно ли избежать обмана

Почему заработать на Форекс невозможно?

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

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

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

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

Манимайкеры – участники рынка, которые намеренно двигают курс в ту или иную сторону

Причины неудач на валютном рынке

Почему на Форексе нельзя заработать и можно ли избежать обмана

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

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

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

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

Часто встречаются вопросы о рублях и юанях, почему их нет на Форексе? Рубль не конвертируется свободно и пока не может занимать хорошую позицию на валютном рынке. Что касается юаня: ЦБ Китая его обозначает как USD/CNY, а на Форекс: USD/CNH. Разница в том, что первое обозначение действует внутри страны, а второе за пределами.

Отличие валютного рынка от фондовой биржи

Почему на Форексе нельзя заработать и можно ли избежать обмана

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

  1. Торговля на фондовой бирже происходит в более спокойном режиме.
  2. Здесь нет краткосрочных рывков курса, поэтому трейдинг более предсказуем.
  3. Актив либо стабильно растет в цене, либо обесценивается.
  4. Непредсказуемые колебания встречаются крайне редко. Они обусловлены возникновением непредвиденных природных прогнозов или, реже, политики и не зависят от желания манимейкеров опустошить счета более мелких участников.

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

Почему стратегии не работают?

Почему на Форексе нельзя заработать и можно ли избежать обмана

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

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

Успешная торговля будет моментально выявлена, расшифрована, скопирована и использована Форекс против самого участника. Как следствие, рынок моментально изменит свое поведение, стратегия перестанет давать прибыль. Трейдер станет анализировать причины неудач, ничего не подозревая о подвохе, в то время, как биржа полностью заберет его депозит себе. Бред и полная чушь! Рынок даже не знает о вашем существовании. А тем более никто не станет охотиться за вашим микроскопическим депозитом.

Ни одна стратегия никогда не работала, и не будет давать торговые сигналы со 100% точностью — это аксиома и это нужно принять..

Сколько можно заработать на ставках

Чем обусловлена потеря денег на Форекс

Почему на Форексе нельзя заработать и можно ли избежать обмана

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

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

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

Кроме честных брокеров, существуют так называемые «кухни» — псевдо брокерские компании, которые никогда не выходили на международный рынок и не планируют этого в будущем.

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

Как заработать на файлообменниках

Как не стать жертвой?

Чтобы не стать жертвой обмана со стороны псевдо брокеров Forex и прочих мошенников, не нужно забывать о следующих мерах предосторожности:

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

Каким мифам доверяют неудачники?

Почему на Форексе нельзя заработать и можно ли избежать обмана

Среди большинства новичков валютного рынка имеют хождение три основных мифа о валютной торговле:

  1. Форекс – это не рулетка, но очень похожа и подобный подход приведет к такому же результату, как при игре. То есть возможность выигрыша есть, но она ничтожно мала. Использование стратегий для рулетки, наподобие Мартингейла и догона позволит только быстрее «слить» депозит. Возможно, бинарный опцион чем-то отдаленно напоминает игру, а вот биржевая торговля существенно отличается.
  2. Наличие крупного депозита. Тот, кто успешно прогнозирует, может сколотить состояние, начиная с 10 долларов. Трейдерам, которые ничего не смыслят в биржевой аналитике и не пытаются получить необходимые знания не поможет заработать даже счет величиной 1000 долларов. Вот и причина, по которой большинство трейдеров проигрывают.
  3. Диплом экономиста. Многие успешные трейдеры, заработавшие на валютных операциях миллионы долларов, не имеют специального экономического образования. Однако, это вовсе не означает, что получать прибыль можно без понимания основ механизма рыночных отношений. Для достижения успеха в торговле нужно учиться, учиться и еще раз учиться!

Почему Форекс популярен в России?

Почему на Форексе нельзя заработать и можно ли избежать обмана

Высокая популярность Форекс среди людей из России – это результат неправильного воспитания детей. Вспомните, свои любимые сказки из детства — это «Золотая рыбка», которая исполняет все желания, «Емеля», лежащий целыми днями на печи, но широко пользующийся всеми земными благами. Это «Иванушка-дурачок», способный, не прилагая особых усилий, вдруг стать обладателем всего. Поэтому для многих взрослых людей торговля на валютном рынке ассоциируется с детской несбывшейся мечтой – разбогатеть в одночасье.

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

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

Заключение

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

Удача на этом рынке реальна. Повторить успех великих трейдеров может каждый новичок. Вот только и учиться для этого необходимо с таким же усердием, как это делали в свое время знаменитости. Так что Форекс вполне реально рассматривать как дополнительный или, даже основной, вид заработка.

В видео все о том, как работает рынок Форекс:

Часть 2: Почему не дают заработать:

Что не так с тестером стратегий в МТ4 и МТ5

chto-ne-tak-s-testerom-strategiy-mt4-i-5

Здравствуйте, коллеги форекс трейдеры!

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

Что такое бэктест

chto-takoe-becktest

О том, как тестировать советник в терминале MT4, а также в терминале МТ5, уже была написана статья в нашем блоге. Поэтому я просто дам определение бэктестирования. Бэктест – это применение правил торговой системы к набору исторических рыночных данных, вот и все. То есть, определили мы набор правил для входа в рынок, для выхода, для сопровождения позиции и расчета ее объема, а затем применили эти правила к историческим данным, как если бы мы по этим правилам в тот момент торговали. Таким образом, мы можем оценить результативность этой системы, которая могла бы быть достигнута в прошлом.

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

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

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

Основные ошибки при тестировании советников

oshibki-pri-testirovanii-sovetnikov

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

Тестирование только на In-Sample выборке.

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

Смена рыночного цикла

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

Многие форекс трейдеры, особенно начинающие, не учитывают расходы, связанные с открытием и закрытием позиций. Часто я вижу тесты, сделанные с нереально заниженным спредом, например вместо того, чтобы использовать для теста спред 2-3 пункта по EURUSD, люди берут спред 0,5-1 пункт. В результате получается граальная картинка, которая совершенно не имеет ничего общего с реальностью, ведь то, что ваш брокер в целях саморекламы где-то там указал спред по этой паре 0,5 пункта, еще не значит, что так и есть. Кроме того, многие забывают о такой вещи, как комиссия за сделку. Она есть не на всех типах счетов и не у всех брокеров, но, как правило, там, где низкий спред, она есть, и немаленькая. Также не стоит забывать о таких вещах, как свопы – они тоже искажают результаты тестов и влияют на итоговый результат. Ну и, конечно же, проскальзывания – бич всех пипсовщиков. Если сложить все эти факторы вместе, получается, что торговля – довольно недешевое занятие, и на реальном рынке вы заплатите за открытие сделки 0,5 пунктов спреда + 0,7 пункта комиссии + на 0,3 пункта сделка проскользит при открытии и при закрытии и в итоге реальные расходы на сделку составят 1,8 пункта.

Подглядывание в будущее

Будущие данные могут быть использованы в тестировании, причем чаще всего из-за ошибок при написании алгоритма, но иногда и из злого умысла. Еще в прошлом году на сайте mql5.com в разделе «маркет» очень модно было продавать советники, подглядывающие в будущее. Гораздо удобнее торговать и показывать феноменальные результаты торговли, если ты знаешь будущее. Но к реальной торговле такие результаты, к сожалению, не имеют никакого отношения.

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

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

Некоторые трейдеры, особенно начинающие, допускают к торговле реальными деньгами системы, обладающие низкой робастностью. Робастность – это устойчивость системы к изменению входных данных. Например, протестировав вашу систему с 3 числа этого месяца по сегодняшний день, вы получите хороший результат, но если запустите тест с 4 числа, система уйдет в просадку. Это значит, что система имеет низкую робастность. Еще один пример, когда вы изменили период индикатора, влияющего на вход в рынок, с 9 на 10 и система начала сливать. Большой ошибкой будет допускать такие системы к реальной торговле.

Как я уже говорил в предыдущей статье, психология в алготрейдинге играет намного меньшую роль, чем при торговле руками. Различные продавцы торговых систем продвигают идею о том, что при торговле роботом про психологию вообще можно забыть. Однако полное игнорирование психологии – еще одна ошибка начинающих трейдеров. Тем не менее, существует ряд торговых систем, которые могут показаться вполне неплохими при тестировании и просто невыносимыми в реальной торговле. Кроме того, как многие ручные трейдеры-новички меняют правила своей торговли на ходу, так и менее опытные алготрейдеры часто тянут свои ручки к уже работающим системам, пытаясь их на ходу «подкручивать». Все это, конечно, приводит к денежным потерям.

Типы тестеров по принципу работы

tipyi-testerov-strategiy

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

Такой тип тестера наиболее прост в реализации и прозрачен в работе. Такой тестер просто перебирает каждый бар один за другим. При поступлении новой цены они производят некоторые вычисления над ценами, рассчитывают индикаторы и позволяют выставлять и модифицировать ордера. Затем происходит следующая итерация, пока тест не будет остановлен. При этом тестером сохраняются некоторые статистические данные работы советника – прибыль, количество сделок, просадка и так далее, а по завершении выдает отчет о тестировании советника. Как вы понимаете, такая конструкция очень проста – нужно всего лишь загрузить исторические данные и перебирать цены строчку за строчкой, производя каждый раз расчеты. Наверняка вам такая концепция покажется знакомой. Все верно, MetaTrader работает именно по такой схеме. Ну, то есть, это не совсем так, так как в языке Mql все же есть некоторые предопределенные события. Так что эта платформа, как и многие другие – представитель скорее смешанного типа.

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

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

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

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

Из недостатков такой конструкции можно выделить сложность кода и, соответственно, большое поле для ошибок. Для написания систем потребуется знание объектно-ориентированного программирования и хороший опыт в разработке систем. Еще один существенный минус, связанный с взаимодействием различных модулей тестера – медленная скорость работы. Тестирование, а тем более оптимизация, могут занять довольно продолжительное время.

Терминалы MetaTrader

terminal-metatrader

На страницах блога можно найти обзор терминала MetaTrader4 и даже MetaTrader5. Но в этих статьях, к сожалению, не написано о самом главном: можно ли пользоваться этими терминалами для тестирования и оптимизации ваших советников и насколько можно доверять результатам. Попробуем разобраться в этом вопросе.

Как я уже говорил, профессиональные алготрейдеры не используют терминал MetaTrader в основном по трем причинам: недостаточная гибкость языка для написания советников, низкая точность тестирования и неудовлетворительная скорость тестирования. Компания MetaQuotes создала отличный терминал – простой, удобный. Это отличная стартовая площадка для знакомства с миром алготрейдинга. Очень много в последнее время в платформу было добавлено правильных идей, особенно в пятой версии терминала, но, к сожалению, их реализация сильно подкачала. Например, как люди смогут по достоинству оценить улучшенный тестер, если нет возможности импортировать свои котировки? Или почему люди должны самостоятельно переписывать код своих советников и индикаторов, когда можно было написать простую программу, которая делала бы все это автоматически? Но обо всем по порядку.

Итак, я придумал простую торговую систему, алгоритм которой записал в виде mql4 советника, mql5 советника и в виде тестера с оптимизатором со встроенной той же стратегией на языке R. Сделал я это для того, чтобы прогнать тесты и оптимизацию и сравнить скорость.

Тестирование советника на часовом таймфрейме за последние пятнадцать лет в четвертой версии терминала заняла 20 минут, в пятой – около 5 минут, в тестере на языке R – 13 секунд. Оптимизация пятидесяти тысяч комбинаций параметров этого же советника при тех же условиях в четвертой версии заняла 10 дней, в пятой – всего три дня, на R – 16 минут. Тот же тест на 15 парах одновременно в МТ4 я сделать не смог – это попросту не предусмотрено. Пятая версия справилась за 2 час 27 минут, R за 6 минут. Язык R–далеко не самый быстрый, если бы я написал тестер на языке C#, например, уверен, результаты были бы лучше раз в 10.

Разберем MetaTrader 4

metatrader-4

Чем вызвана медлительность тестера? Одно могу сказать наверняка – терминал использует для работы только одно ядро процессора. То есть, даже если в вашей машине их четыре или более, делу этот факт не поможет. Частично решить проблему можно запустив еще один терминал и тестируя или оптимизируя советник параллельно на другом инструменте. Это немного ускорит процесс, но не решит проблему полностью – отдельно взятый тест будет проходить все так же мучительно долго.

Еще одна серьезная проблема четвертого терминала – невозможность использования тиковых данных. Когда мы торгуем в реальном времени, цены приходят в терминал в различные моменты времени по мере их изменения. Приход цены не привязан к конкретному периоду, например, раз в минуту или час. Исторические данные хранятся в базе котировок терминала в виде OHLC цен различных таймфреймов, например, H1, D1, M15. При тестировании приход новых тиков моделируется на основании таймфрейма M1. Все мы знаем, что объемы, передаваемые брокером, на самом деле совсем не те самые реальные объемы. Это просто количество реальных тиков, которое произошло за определенный отрезок времени. То есть тестер знает цены открытия и закрытия свечи М1, максимальную и минимальную цену за период 1 минута и количество тиков, которое за эту минуту было передано. Какие цены были для этих тиков, когда конкретно пришла цена, соответствующая тику – все это неизвестно. Тестер на основе некоторых алгоритмов придумывает сам, как ходила цена внутри свечи. То есть вот она, та самая упрощенная модель, о которой мы говорили выше. И все же, и эту проблему трейдеры обошли. Есть несколько специальных программ, позволяющих использовать реальные тиковые данные для тестирования и оптимизации. Это бесплатная программа TickstoryLite или платная программа Tick Data Suite.Об особенностях каждой из этих программ вы можете прочесть в статьях выше, но я рекомендовал бы не жадничать и приобрести вторую. Tick Data Suite не только позволяет тестировать советники на тиковых данных, эта программа добавляет в терминал пару замечательных функций, которые просто необходимы: плавающий спред (то есть, по сути, два потока тиков, как в реальности – отдельные Ask и Bid) и отличный, незаменимый для скальпирующих советников стресс тест – эмуляция проскальзывания.

Теперь я должен сказать пару слов про качество моделирования, которое в стандартном терминале не поднимается выше 90%, а при помощи вышеназванных программ становится 99%. Многие из вас постоянно сталкиваются в сети с утверждением, что 90% тесты полный хлам и нужно делать только 99% тесты – вот они совсем точные. Ну, конечно, это не совсем так (вообще, если говорить искренне, любой тест, выполненный на платформе МТ4 или МТ5 пусть и не хлам, но довольно далек от реальности). Итак, что же такое качество моделирования? А это просто цифра, вычисляющаяся по простой формуле, придуманной компанией MetaQuotes:

Качество моделирования = ((0,25х(StartGen-StartBar)+0,5х(StartGenM1- StartGen)+0,9х(HistoryTotal- StartGenM1))/( HistoryTotal- StartBar))х100%, где:

HistoryTotal – количество баров в истории;

StartBar – номер бара, с которого началось моделирование;

StartGen – номер бара, с которого началось тестирование на основе исторических данных ближайшего таймфрейма;

StartGenM1 – номер бара, с которого началось моделирование на основе минуток.

Как видите, качество моделирования просто показывает нам, какие таймфреймы использовались при тесте. Если при тестировании советника на периоде М15 использовались только данные М1, то качество моделирования будет 90%. Если использовался только сам период М15, качество, судя по формуле, будет равно нулю, или, как пишет МТ4, n/a. А при тестировании на тиках просто придумали писать 99%, чтобы было понятно, что все работает нормально и тестирование действительно идет по тикам. Значит ли это, что тестирование с качеством n/a дает совершенно неточные данные, а с качеством 99% – очень точные? Никак нет, это просто значит, что в первом случае использовалась модель по ценам закрытия, а во втором использовались тики. При этом первый тест вполне может быть намного точнее второго и это необходимо понимать: качество моделирования и качество самих котировок – это абсолютно разные вещи.

Что еще важно понимать, так это то, что качество результатов тестирования будет также зависеть от самой используемой стратегии. Например, если стратегия работает на D1 по ценам закрытия без стопов, тейк-профитов и тралов и входит только по рынку, без помощи отложенных ордеров, то вы можете получить вполне точный бэктест, используя модель «контрольные точки». Для тестов стратегий, использующих стопы и тейки уже как минимум нужно качество 90%, чтобы получить результат, хотя бы немного приближенный к реальности. При этом, чем ниже период, на котором работает советник, тем большее влияние на результаты оказывает спред. При фиксированном значении спреда тесты таких советников будут крайне далеки от реальности, вплоть до того, что прибыльный при тестировании советник будет сливать депозит на реальном счете. Как вы видите, реальное качество теста зависит от многих факторов, таких как качество котировок, характеристики самой системы, а также возможности системы обойти или нивелировать ограничения тестера МТ4. Этот факт еще раз доказывает мою мысль о том, что чтобы прибыльно торговать при помощи советника, вы должны хорошо знать и глубоко понимать, как конкретно он работает, каков его алгоритм, чтобы свести все ограничения терминала к нулю.

Еще одна серьезная проблема, касающаяся использования тиковых данных – это брокерозависимость. Результаты тестов с использованием тиковых данных от одного брокера будут отличаться от результатов с использованием данных другого, так как различия между данными даже цен закрытия различных брокеров могут достигать 10-15% от размеров свечи. В долгосрочном периоде такая разница может привести к очень разным графикам доходности одного и того же советника, работающего на счетах разных брокеров.

Теперь поговорим об еще одном ограничении терминала, на этот раз уже решенном. Изначально в терминале МТ4 нельзя было изменить спред для тестирования. В результате тесты получались каждый раз разные. Причем, если, сделав тест в будний день, трейдер получал хороший результат по работе своего советника, то сделав тест снова в выходной или ночью, вполне можно было обнаружить, что советник сливает. Было много непоняток, как же так могло произойти – ведь работал же! И даже зная о таком положении дел, удобного было мало – чтобы сделать тест ночного скальпера, трейдеру, соответственно, приходилось караулить у окна луну. В общем, то еще веселье было. К счастью, это безобразие впоследствии исправили, дав возможность трейдерам самим выставлять нужный для тестирования спред.

Новый терминал MetaTrader 5

new-metatrader5

Итак, язык mql5 обладает довольно большими возможностями. Это, несомненно, большой плюс. Минус в том, что эксперты, написанные на языке mql4 в терминале МТ5 работать не будут. Соответственно, желающие пересесть на новый терминал трейдеры, не знакомые с программированием, но жаждущие торговать при помощи советников, успешно торговавших на предыдущей версии терминала, вынуждены заказывать перевод за деньги. Догадайтесь, где с большей вероятностью люди будут искать таких программистов? Правильно, в разделе «Фриланс» на сайте все той же компании MetaQuotes, которая получает комиссию с каждого заказа, каждого проданного советника и индикатора и еще много за что. Это бизнес, ничего личного.

Большой плюс терминала по сравнению с предыдущей версией – использование нескольких ядер. Делается это при помощи менеджера агентов тестирования. При этом вы можете задействовать любое количество ядер. Также вы можете создать целую сеть из ваших компьютеров для использования их совокупной мощности в целях тестирования и оптимизации экспертов на «основной» машине или даже воспользоваться облачной сетью, в которой за умеренную плату свои мощности предоставляют другие трейдеры. Захватывающая идея, на деле прирост производительности при использовании этой сети оказался примерно трехкратным. При этом очень здорово все зависит от скорости интернет соединения и прочих факторов. Создать собственную сеть я тоже пробовал, но компьютеры постоянно дисконнектились и это скорее раздражало, чем помогало.

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

Общие проблемы

obshhie-problemyi-testerov-foreks

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

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

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

Самый печальный недостаток терминалов MT4 и MT5 в том, что нельзя проводить тесты на нескольких инструментах с целью получить сводный отчет по торговле портфелем советников. Поэтому приходится пользоваться сторонним софтом, таким, как Report Manager или SQ EA Analyzer. Несмотря на то, что первая программа бесплатна, я рекомендую приобрести второй вариант из-за гораздо более широких и крайне необходимых возможностей.

Оба терминала используют только один поток котировок – по Bid. При этом котировки Ask вычисляются, исходя из заданного спреда (Bid + Spread). И получается, что график цен Ask полностью совпадает с графиком цен Bid, что в реальности, конечно же, далеко не так. Спред постоянно изменяется, и если вы посмотрите на тиковый график в терминале, то увидите, что графики Bid и Ask далеко не всегда выглядят один в один. Это – еще одно упрощение. К чему же оно приводит? Ну, например, для советников, торгующих на периоде от Н1 и выше пара пунктов погрешности лет этак за 15 даст неточность итоговой прибыли в районе плюс минус 3-10% – терпимо. Но для скальперов такая неточность может вылиться в погрешность до 50%. Так же опасна такая ситуация и для советников, работающих с отложками. Фиксированный спред приводит к тому, что результаты тестов таких советников очень далеки от реальности, ведь на тесте, например, убыточная сделка может быть пропущена, а в реале она будет присутствовать, так как спред именно в тот момент в реальности составлял 3 пункта, а не 2, как было задано для теста. Или наоборот, многих прибыльных в тестере сделок могло не случиться в реальности.

Еще один, не слишком серьезный недостаток, но все же влияющий на точность теста – расчет стоимости пункта для кроссов, которая вычисляется по следующей формуле: Цена пункта = объем позиции * размер пункта * текущая котировка базовой валюты по отношению к USD / текущий курс валютной пары (кросс-курс). Котировки базовой валюты и курс пары берутся тестером на сегодняшний день и эта стоимость используется на протяжение всего теста. Но ведь 20 или даже 5 лет назад обе цены были другими и, соответственно, стоимость пункта была тоже другой. Это не такой страшный недостаток – если бот сливает, он сольет с любой стоимостью пункта. В этом случае речь только о том, что итоговые результаты теста неточны.

Примерно то же самое происходит, если ваш счет открыт не в USD, а, например, в EUR. Предположим, вы тестируете советника на паре usdchf и тестер для расчета стоимости пункта возьмет текущий курс eurusd и eurchf. Естественно, такой тест тоже будет иметь погрешность, так как эти котировки также изменяются во времени.

Чуть выше я упоминал программу EA Analyzer. В ней предусмотрен ряд различных стресс тестов, призванных помочь лучше оценить последствия применения ваших советников на реальном счете. Например, симуляция Монте-Карло позволит вам с определенной долей вероятности оценить худший сценарий работы советника и, если он вас устраивает, приступить к работе. В профессиональных терминалах этот стресс тест встроен, также, как и многие другие, например, тесты на робастность настроек советника, брокерозависимость или спредозависимость. В прошлой статье я говорил, что роботы не предсказывают будущее, мы можем только на основании тестов получить определенную вероятность того, что советник принесет нам профит. Стресс тесты – очень важные инструменты для работы, ведь чем тщательнее будет происходить проверка робота, тем больше вероятности, что он будет работать также, как работал на исторических данных.

Еще один фактор, влияющий на точность теста – величина свопа. В тестере МТ4 и МТ5 берется текущая величина свопа для всего теста, хотя сам своп в реальности, несомненно, изменяется. Причем чуть ли по несколько раз в году. Забавно, но у разных брокеров величины свопов на один и тот же инструмент могут кардинально различаться. Например, у брокера RoboForex на данный момент своп по паре usdchf для шортов составляет -2,5 пункта, а для покупок -1,4 пункта. В то же время у Forex4u эти цифры составляют -5,5 и +2,4 пункта. В случае, если вы тестируете ночного скальпера, своп может сыграть решающую роль как в прибыльности бэктеста, так и непосредственно самой торговли. При этом вы не сможете реально оценить влияние величины свопа на торговлю – ни задать, ни тем более изменять в процессе тестирования эту величину нельзя – она берется непосредственно из данных брокера, счет которого на данный момент активен в терминале.

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

Ну и напоследок давайте обсудим использование времени в платформе МТ4. В языке mql есть множество функций, которые используют время в привязке к ценам конкретной свечи, например, Open[1] или High[7]. В большинстве случаев при написании торговых алгоритмов мы так или иначе используем эти данные. При этом эти данные никак не привязаны к конкретному времени брокера, они привязаны к новым тикам. Допустим, мы используем период Н1. При приходе нового часа, в случае, если тиков в этот момент не пришло, новая свеча появляется в виде черточки, пока не начнут приходить новые тики. При этом час уже сменился, но пока новых тиков нет, тот же Close[1] фактически становится Close[2]. То есть в реальности получается, что если советник использует время в виде Hour() и получает цены свечей с помощью Close[1], Open[1], High[1] и Low[1], он получит сигнал в нужный час, но OHLC цены в это время еще не будут обновлены, так как новых тиков пока не пришло, то есть цены бара №1 будут фактически ценами второго бара. Поэтому в этом случае нужно, чтобы алгоритм дожидался появления первых тиков новой свечи. Заметьте, что это касается только советников, которые используют конкретное время входа и ценовые вычисления. Если для входа свечи не используются, такой ошибки не возникнет.

Так что выбрать – зависимую или независимую платформу?

platforma

Для тех трейдеров, которые заинтересованы в разработке скальпирующих торговых систем, работающих на периодах до М5, MetaTrader однозначно не подойдет. Даже при использовании 99% качества моделирования результаты все еще будут сильно отличаться от реальных (хотя и можно добиться более менее некоего подобия). На самом деле в терминале МТ4 довольно легко сделать грааль, но в реальности он, скорее всего, работать не будет. Любой рыночный аспект, игнорируемый при тесте, может привести к кардинально противоположным тесту результатам.

Я не хочу сказать, что прибыльного в долгосрочной перспективе скальпера создать в МТ4 нереально. Просто это сделать намного сложнее, чем, скажем, прибыльного долгосрочника. Поэтому, если вы пока слабо знакомы с алготрейдингом, я рекомендую начать создавать советников для работы на периодах не ниже Н1, а уже затем попытаться создать портфель прибыльных скальперов.

Важно понимать, что такие коммерческие платформы, как MetaTrader, MetaStock, TradeStation, NinjaTrader и прочие – это ни в коем случае не профессиональные платформы. Каждая из таких платформ содержит свои ограничения, а закрытый исходный код приводит к тому, что далеко не все из этих ограничений легко и вообще возможно обнаружить. Вообще первая идея, которая приходит в голову трейдеру, желающему применять советники для торговли, – использовать коммерческую платформу, одну из вышеперечисленных, например. В ней уже все предусмотрено – и тестирование, и оптимизация, и сама торговля. Все удобно и просто, в одной упаковке. Но такое решение делает трейдера зависимым от выбранной платформы и ее разработчиков, от того, какой функционал авторы пожелают добавить, а какой нет, а также от совершенных ими при разработке ошибок и неточностей, со многими из которых ничего поделать нельзя. При этом коммерческие платформы дают трейдеру некий базовый функционал. Но если вы хотите заняться высокочастотной торговлей, например, такие платформы вам уже не подойдут.

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

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

Заключение

daily_picdump_2127_640_94

Ну а пока у вас на счету нет хотя бы одного десятка миллионов долларов (именно начиная с этого порога не встретить ни одного трейдера, использующего для торговли коммерческий продукт), нет ничего плохого в том, чтобы использовать уже готовую платформу, вроде MetaTrader 4. Просто при этом важно всегда помнить об ее ограничениях, учитывать их в своей работе и быть внимательным, критично относиться к получаемым в тестере результатам. Торгуйте так, как вам позволяет ваш терминал и старайтесь создавать советников, имеющих «иммунитет» к его недостаткам, используйте сторонние программы для минимизации недостатков терминала, такие, как TickDataSuite и SQ EA Analyzer, и тогда, даже используя такой несовершенный продукт, как МТ4, вы все равно будете получать свою прибыль с рынка.

http://vpoiskedeneg.ru/pochemu-na-forekse-nelzya-zarabotat/

Что не так с тестером стратегий в МТ4 и МТ5

 

Оставить комментарий

Х закрыть

Яндекс.Метрика