Как создать торгового робота и не потерять время. Создание робота для торговли на бирже
Написать форекс советника самостоятельно. Этапы и ошибки создания робота
Головной мозг трейдера функционирует не совсем обычным образом. Человек, далекий от финансовых рынков, действует рационально и предсказуемо. Когда же в дело вступает индивид, мыслящий исключительно свечными комбинациями, последствия предсказать гораздо сложнее. Как частное, сбитые жизненные приоритеты и повышенная импульсивность – известные пороки трейдеров. Сам процесс торговли становиться самоцелью, и биологический компьютер в недрах черепной коробки входит в бесконечный цикл, зависая на абстрактной идее идиллического существования и собственной яхты, пришвартованной у пирса набережной особняка.
Начнем с того, что сама по себе идея автоматизации собственной торговой стратегии не обеспечивает ни беспечного существования, ни избавления от насущных проблем трейдера. Если вы не имеете представления о том, как функционирует рынок, инвестирование времени и денег в создание робота не наполнит ваш банковский счет золотыми галлеонами, а скорее, вернет в жестокую реальность типичного среднего класса.
Итак, время, потраченное впустую – это опыт. Время – это деньги. Грубо говоря, тратя свое время, вы покупаете опыт. Но вы, как разумный человек, наверняка захотите сохранить лишнюю копейку, не ошибаясь там, где можно обойти грабли, тем более, если существует такая возможность. На этом моменте мне придется попросить немного вашего времени, дабы рассказать, как на самом деле стоит подготовиться к вопросу создания машины для печатания денег торгового робота, и, конечно же, как не наделать кучу ошибок.
1. Разработку форекс робота начинаем с идеи
Разработка робота для торговли на рынках – это непрерывный поиск идей и, как частное, поиск Святого Грааля. Вопреки утверждениям непросвещенных граждан, Грааль находится достаточно просто – скажем «спасибо» технологическому прогрессу. Попробуйте вбить в гугл «Святой Грааль Форекс» – скорее всего, советник вашей мечты находится на первой странице выдачи, к тому же абсолютно бесплатен.
Собственно, на этом рассказ можно было бы закончить. Если идеальный советник уже существует, зачем продолжать поиски? Но следом возникает второй вопрос: почему, если идеальный советник уже найден, в Африке до сих пор существует дефицит питьевой воды? Если ответ для вас очевиден, поздравляю, вы прошли первый этап становления трейдера разумного, преодолев уровень новичка или алгофанатика, не видящего перспектив своего развития, и нацеленных лишь на результат.
Уверен, идея вашего советника абсолютно уникальна и не имеет аналогов. Но, в любом случае, глупо не попытаться найти похожие разработки других авторов – масштаб проделанных исследований сложно оценить, пока не столкнешься с ним лицом к лицу. Человечество идет на пути к технологической сингулярности, и новые разработки внедряются настолько быстро, что осмыслить весь выложенный материал часто не представляется возможным. Если же подобных разработок все же не нашлось, и протестировать идею без проведения собственных исследований нельзя, пора переходить к следующему этапу.
2. 4 важных вопроса перед разработкой
Но перед этим попытайтесь ответить себе на следующие вопросы:
- В чем состоит ваша торговая идея?
- Какие задачи будет решать советник, и какое объективное преимущество это может дать в торговле?
- Возможно, вам нужен графический индикатор или вспомогательный скрипт?
- Насколько идея реализуема технически, и можете ли вы самостоятельно оценить ее сложность?
Это очень важные вопросы, которые не только помогут сэкономить немало времени, но и немного приблизят вас к пониманию собственной идеи. Наверняка, вы не пришли на рынок раздавать деньги нуждающимся, а имеете другие цели.
В идеале, вы должны досконально знать и понимать то, как функционирует выбранная вами торговая площадка и стратегия, на которой, собственно, вы будете зарабатывать. Любое расплывчатое определение или опускание неважных, на первый взгляд, моментов плохо обернется на следующих этапах разработки, и больно ударит по торговому счету. Не бойтесь воскрешать давно забытые торговые идеи, но и не старайтесь сыграть на одних готовых решениях. Рынок очень изменчив и по определению находится в постоянном движении, а конкуренция непрерывно ужесточается.
3. Конструктор советников – не проходим мимо!
У новичков на валютном рынке часто возникает множество вопросов, ответы на которые бывают не совсем очевидны, либо являются лишь вопросом неопытности оного. Будучи начинающим трейдером, достаточно прочитать одну книгу Билла Вильямса, чтобы на всю жизнь подменить понятие торгового хаоса торговым порядком. Затем такие люди удивляются, почему вот здесь да не купить, а вот здесь да не продать, и заказывают у программистов советник по пересечению двух скользящих средних. А ведь на начальных этапах обучения это вполне можно отдать на откуп готовым инструментам разработки. Одной из таких как раз является MQL5 Wizard – мастер по созданию советников для MetaTrader 5.
Для реализации простых вещей Мастер идеален. Вам не нужно обладать никакими магическими способностями – навыки программирования здесь не требуются. Несколько простых шагов, и советник готов. Уже готовый советник можно протестировать в том же терминале MetaTrader. Держите комбайн по производству простецких Граалей.
4. MQL5 Wizard. Сделать советник за 5 минут
Итак, для начала запускаем MetaTrader 5 и переходим в редактор приложений (кнопка F4). На верхнем меню жмем кнопку «Создать» и в появившимся диалоге выбираем генерацию нового советника.
Дальше нужно указать название советника и основные входные параметры.
Добавляем модули торговых сигналов. Модули могут быть как стандартные, так и разработанные сообществом (вы тоже можете поучаствовать в данном процессе).
Собственно, все стандартные сигналы хорошо описаны в онлайн справке на официальном сайте. Там же можно скачать и кастомные.
Выбрав подходящий индикатор нужно указать его входные параметры. Тут же можно обозначить вес сигнала по отношению к другим, если их много.
Обычный трейлинг стоп или закрытие сделки по значениям индикатора – на ваш выбор.
Также на выбор предлагается фиксированный лот, либо объем сделки в процентах от депозита. Для самых рискованных новоявленных программистов также есть мартингейл с его геометрической прогрессией лота, способной принести вам миллионы за пару лишних проходов в тестере стратегий.
Собственно, даже если вы не состоите в клане Метатрейдера, не страшно, наверняка уже написан конструктор под нужную вам торговую платформу. Дело, опять же, в возможностях и желании. Мораль проста: не стоит пытаться реализовать то, что уже давно реализовано. Игнорирование чужого труда может дорого обойтись, придумывать науку заново совсем не обязательно.
5. Хочу программировать непростого советника? Написание технического задания
Итак, вы уже обладаете некоторым торговым опытом, вы проверили свою идею в торговле или имеете точное представление о том, как она будет работать на реальном рынке. Значит, пора переходить к написанию формальных правил вашей стратегии. Часто на этом шаге начинаются проблемы у большинства последователей гуманитарных наук – люди сталкиваются с непреодолимой стеной непонимания, когда абсолютно идеально отработанная в голове схема перестает работать при переводе на технический язык.
Проблема эта настолько распространенная, что создала целую индустрию по переводу абстрактных идей на формальный язык четко структурированных правил, естественно, не бесплатно. На самом деле, при минимальной подготовке вы не столкнетесь с такой сложностью просто потому, что понимаете механизм работы шестеренок вашего форекс робота до самых мелочей, но некоторого труда разработка все же потребует.
По сути, правильно составленное задание – это уже половина работы. Однако, это не работа программиста. Если вы будете просить программиста написать задание за вас, будьте готовы натолкнуться на непонимание, в лучшем случае, и негодование в абсолютном большинстве ситуаций. Именно разработчик идеи несет ответственность за ее точную формализацию, а никак не реализатор – если хотите, переводчик на язык низкоуровневых команд.
6. Напишите мне советник по индикатору
Пример плохого задания для создания торгового советника – его отсутствие. Само намерение заказчика может быть и понятно: есть индикатор, нужно написать торгового робота, ну а дальше что?
«Старайтесь вникать в процесс работы и всего, что непосредственно касается реализации идеи вашего советника»
Как закрывать сделку? Как ее сопровождать? Какие выбирать объемы? Что делать с проскальзываниями и реквотами? Нужно понимать, что программист не обладает экстрасенсорными способностями. Если вы такого найдете, обязательно дайте знать, такие люди не должны пропадать.
Видя ТЗ на создание работа без нужных подробностей, фрилансер внесет свою интерпретацию и, в некоторых случаях, действительно может угадать реальные намерения заказчика. Но, как правило, такие обращения заканчиваются двумя обиженными сторонами и обращением в арбитраж с дальнейшим расторжением договора.
Мораль: чем больше подробностей вы предоставите в задании, тем легче его будет понять, осмыслить и, в конце концов, реализовать.
7. Выбор исполнителя
Если у вас нет опыта работы с фриланс-биржами, попробуйте представить себе субэкваториальную версию ада. На самом деле, не все так страшно, но некоторые нюансы все же стоит учитывать.
Во-первых, ценовая политика при написании советника может быть крайне неопределенной. Существует некоторый минимум, за который адекватный программист браться не будет, но, в то же время, значение этого минимума сильно плавает и временами минимум становится максимумом (да, так тоже бывает).
Слишком щедрым тоже быть не стоит, это сразу говорит о том, что человек при деньгах и с вас обязательно сдерут три шкуры за какую-то простецкую задачу. Если вы не понимаете стоимость задачи, попробуйте узнать ее у доверенных людей. Общайтесь с опытными разработчиками, даже если не собираетесь у них ничего заказывать. В дальнейшем, это поможет выявить, к кому обращаться можно, а к кому не стоит.
Во-вторых, не бойтесь спрашивать у разработчиков вашего советника, какие моменты для него непонятны, какие требуют уточнения, и в чем, собственно, состоит сложность той или иной части робота. Казалось бы, для вас в техзадании все понятно, и все же исполнители часто наталкиваются на принципиальное недопонимание.
«В ваших интересах контролировать процесс создания советника вашей мечты. Просите проводить промежуточные этапы работ, участвуйте в бета-тесте и не брезгуйте узнавать технические подробности.»
Один из типичных примеров – недопонимание форматов файлов и их значения. Вроде: «У меня тут есть .dll библиотека (.exe файл или .ex4 программа), не могли бы вы быстренько поправить то и то, а я вам за это копеечку закину? Нет? А почему? Василий мне сделал советника за 5 баксов, а вы плохой разработчик значит!».
Мораль: старайтесь вникать в процесс работы и всего, что непосредственно касается реализации вашей идеи. Это не только поможет лучше разобраться в работе робота самому, но и в дальнейшем упростит процесс общения с исполнителями. В работе всегда принимают участие, как минимум, две стороны, и если вы намерены сделать трейдинг своей основной профессией, терпение нужно беречь – и свое, и окружающих.
8. Сдача советника – включайтесь в работу!
Этап сдачи работы – самый сложный. Будьте уверены, каждый исполнитель с горя пьет успокоительный отвар, черным маркером отмечая день календаря, когда его в очередной раз просят поправить и без того исчерпавший все сроки заказ. Как и вселенной, совершенству нет предела, но в определенный момент нужно собраться и сказать – задача завершена.
Понимаю, для трейдера свет, отраженный от золотых гор, освещает создание передовой технической мысли и плода внутреннего гения в его безмерно красивом представлении. Как так, ведь советник, который не зарабатывает деньги, просто не укладывается в голове, и создает образ незавершенной работы. Как можно платить за то, что не работает?
Со стороны исполнителя же работа завешена ровно тогда, когда исполнены все пункты заказа. Техническое задание для программиста – это четко проведенная тропа, отходить от которой значит додумывать за заказчика. Иногда эта тропа заводит в тупик, как дорога из бывшей столицы Руси в либеральную Европу. То есть, на этапе приема работ выясняется, что задача, оказывается, состояла совсем не в том, а в кардинально обратном.
Если задача небольшая, исполнитель вполне может пойти на уступки, и исправить работу в соответствии с новым ТЗ. Если работа проделана масштабная – что-либо менять уже поздно. Частая проблема – тотальная отрешенность в процессе разработки, например, отказ от участия в бета-тестировании: «Зачем вы мне скинули советника с ошибками, я что за вас тестировать еще должен?» или: «Откуда я знаю, как этот ваш тестер запускать, я программист что-ли?».
Для адекватного человека такие заявления режут слух, исполнитель же впадает в депрессию. Разработка торгового робота – это, в первую очередь, работа. Если вы ищете готовое решение, существует магазин готовых советников, где советника за вас и протестируют, и вымоют до блеска, попутно документируя его историческую успешность. В таком случае, обращаться на фриланс-биржу не имеет смысла.
Мораль: не стоит отдавать все на самотек. В ваших интересах контролировать процесс создания советника вашей мечты. Просите проводить промежуточные этапы работ, участвуйте в бета-тесте и не брезгуйте узнавать технические подробности.
Заключение
Великие деятели, как Альберт Хофманн, не дадут соврать. Опыт создания своего продукта бесценен. Если же вы пришли на валютный рынок по собственному желанию, поверьте, это надолго.
Исследование закономерностей, поиск решений и их реализация навсегда изменяют восприятие мира, делая его картину более полноценной, а жизнь обретает дополнительный смысл.
На самом деле, разработка собственного советника – процесс крайне интересный. Даже если вы не собираетесь связывать свою карьеру с торговлей на финансовых рынках, полученные знания можно применить и в других областях. Торговля и разработка – это то, на чем держится вся современная экономика, и сегодня у вас есть возможность почувствовать в этом лично.
Вам также будет интересно
fortrader.org
Как создать торгового робота и не потерять время
Чтобы создать торгового робота, нужна торговая система
Торговля на финансовых рынках сопряжена с множеством рисков, в числе которых самый главный - это риск совершить ошибку при принятии торгового решения. Мечта каждого трейдера – поставить вместо себя торгового робота, автомат, который всегда в отличной форме, не знает усталости и не подвержен людским слабостям: страху, жадности и нетерпению.
Каждый новичок, приходя на рынок, надеется заполучить или создать четкую и строгую торговую систему, которую можно переложить на язык алгоритмов, и полностью избавиться от рутинной работы. Возможно ли это?
Наличие торговой системы является необходимым условием для торговли, и эта система, конечно, должна быть прибыльной. Когда новичок приходит на рынок, на него буквально обрушивается лавина информации, в которой не так-то просто разобраться. И на помощь здесь приходят книги и форумы трейдеров.
К сожалению, не все авторы книг являются успешными трейдерами, и не все успешные трейдеры являются авторами книг. Многие специализированные ресурсы создаются только для заработка их хозяевами, ведь торговать на свои деньги гораздо сложнее, чем выпускать прогнозы и обучать торговым системам.
Каждый трейдер должен самостоятельно пройти все стадии на пути создания собственной торговой системы. Не зря говорят, что не важно, по какой системе ты торгуешь, главное, чтобы ты действительно торговал по этой системе. Без этого торговля на рынке превращается в азартную игру, исход которой предрешен.
Торговые роботы и Forex
Считается, что рынок Forex обладает огромной ликвидностью и позволяет торговать 24 часа в сутки в отличие от многих других рынков. Поэтому многие трейдеры пытаются создать торговые роботы именно для торговли на валютном рынке, ведь он представлен достаточно большим количеством инструментов.
Правда, скептики заявляют, что на самом деле все валютные пары сильно скоррелированы между собой, и волатильность на форексе слишком маленькая. Но их противники отвечают, что, несмотря на наличие корреляции, каждая валютная пара имеет свой характер, а малая волатильность компенсируется большим плечом.
В любом случае, инструменты форекса являются привлекательными для создания торговых роботов, и большинство сторонников автоматического трейдинга именно на валютных парах оттачивают свои навыки.
Клиентские терминалы MetaTrader 4 и MetaTrader 5 специально разработаны для удобного создания автоматических торговых систем, но при этом их интерфейс продуман и также удобен для ручной торговли.
Как приступить к созданию торгового робота?
Встречается множество подходов к построению автоматической торговой системы. Выделим только несколько основных из них.
Первый подход – математический, основан на попытке создания некой формулы, которая учитывает множество факторов. Такой подход базируется на твердой уверенности, что в основе поведения цен лежит некая модель, которую нужно только подобрать или угадать на основе имеющихся исторических данных.
Зачастую сторонники такого подхода знают слишком много математики и совсем не знают/не интересуются рынком. Рынок для них - чистая абстракция, одна из разновидностей интеллектуальной игры. Такой подход обычно ведет к многолетним изучениям и разработкам, результат в виде работающей автоматической торговой системы сам по себе не является важным.
Второй подход берет за основу изучение закономерностей рынка. При этом не делается никаких попыток понять, почему цена растет или падает при появлении тех или иных фигур технического анализа на графике цены. Преимущество этого подхода заключается в том, что он не требует особых знаний математики и не делает предположений о движущей силе рынка.
Такой подход наиболее понятен и удобен для обучения торговле на рынке. Чаще всего именно его проповедуют трейдеры, получившие всеобщее признание. Недостатком подхода является необходимость постоянно находиться у монитора и отслеживать все необходимые инструменты на экране монитора.
В конце концов трейдер начинает задумываться над автоматизацией торговых процессов, и тут выясняется самая большая проблема – сложность формализации торговых правил при попытке перенести торговые правила на язык алгоритмов. Трейдеры, которые пытаются заказать торговый робот профессионалам, не всегда могут сформулировать правила торговли и найти общий язык с программистами.
Третий подход основан на попытке создать «черный ящик» на основе нейронных сетей с помощью готовых инструментов, широко представленных на рынке в специализированном ПО и в математических пакетах. Строительство своей собственной автоматической торговой системы с применением элементов искусственного интеллекта является очень интересной и увлекательной задачей даже для новичков, так как не требует ни глубокой математической подготовки, ни опыта программирования – все делается с помощью визуальных средств.
От трейдера в этом случае требуются базовое знание индикаторов технического анализа, умение подготовить необходимые ценовые данные и навыки работы с конкретным пакетом по работе с нейронными сетями. Главным недостатком такого подхода является то, что полученный с помощью специализированных инструментов по работе с нейронными сетями торговый автомат на самом деле является «черным ящиком» - принципы его работы неизвестны самому трейдеру, и нельзя в общем случае предсказать, какая фаза рынка ему не понравится.
Программисты часто выбирают четвертый путь – они сразу начинают писать торгового робота и не хотят особенно тратить время на ручную торговлю. Зачем? Ведь можно сразу написать автомат, потратив на это несколько месяцев, и затем только пожинать плоды своего труда.
Но «без труда не вынешь и рыбку из пруда», и программист зачастую вместо торгового робота начинает писать с нуля на известном ему языке программирования всю нужную инфраструктуру – получение и обработка ценовых данных, визуальное представление графиков и индикаторов, собственные средства по тестированию стратегии на истории и так далее.
В процессе этой работы он получает много полезного опыта. Но при этом он, чаще всего, ни на йоту не приближается к конечной цели – созданию автоматической торговой системы. И если даже он пройдет весь путь до конца, то где гарантия, что написанный робот окажется прибыльным? А если он захочет написать другую торговую систему? Нужно все перестраивать и разбираться с новыми неизбежными ошибками программирования.
Есть еще и пятый путь – попытаться купить готовую торговую систему в виде торгового робота и торговать с его помощью, при этом трейдер выступает в качестве оператора или настройщика. Такой вариант существенно экономит время (не требуется изучать множество новых вещей) и позволяет сразу же окунуться в мир автоматической торговли.
Главный недостаток такого подхода проистекает из его достоинств – вы не знаете, как работает данный торговый робот и на каких принципах он построен. И если даже продавец предоставил вам подробное описание заложенной в нем торговой системы, вы никогда не будете в ней уверены до конца.
Впрочем, 100%-ную гарантию не дает ни один подход, кроме депозита в банке. Но это не совсем то, за чем идет человек, интересующийся биржей и возможностями спекулятивного преумножения капитала.
Какой путь в автоматический трейдинг выбрать трейдеру?
Каждый из пяти описанных подходов имеет свои преимущества и соответствует своему типу трейдера. Вряд ли вы без хорошего математического багажа выберете первый путь – попытку аналитического описания рынка. И маловероятно, что вы сразу же пойдете путем строительства торгового робота на основе нейронных сетей. Хотя оба этих варианта очень привлекательны и интересны и предоставляют хорошую зарядку для ума.
Далее в статье мы поговорим только о втором подходе, который уже является классическим. Именно с него начинает свой путь в автотрейдинг подавляющее большинство трейдеров, так как знание технического анализа еще никто не отменял при освоении основ торговли на рынках.
Достоинство второго подхода заключается еще и в том, что после того, как вы самостоятельно поторгуете на рынке вручную и впитаете в себя то, что многие называют чувством рынка, вы уже будете хорошо понимать сами инструменты технического анализа. Помимо этого вы сможете заняться самостоятельно программированием торговых стратегий или созданием нейронных сетей на более высоком уровне.
Первые шаги по созданию торгового робота
Для написания автоматической торговой системы требуются навыки программирования и знание всех тонкостей обработки торговых запросов. Но вы можете на первом этапе начать знакомство с уже готовыми экспертами – торговыми роботами из бесплатной библиотеки Code Base.
Скачайте любой эксперт (торговый робот) и запустите его в тестере стратегий клиентского терминала MetaTrader 4 или MetaTrader 5. Выберите один участок истории с ярко выраженным трендом и второй участок, на котором цена находится в диапазоне/флете. Проведите оптимизацию входных параметров эксперта и посмотрите, как они отличаются на этих двух участках.
Запустите на трендовом участке эксперт с оптимальными параметрами для флета, и наоборот – на флетовом участке с параметрами для тренда. Посмотрите, насколько сильно меняются торговые результаты, как меняются распределения сделок и остальные статистические параметры. Таким образом, вы узнаете, как сильно может меняться поведение торговой системы при изменении ситуации на рынке.
Желательно таким путем исследовать несколько классических торговых стратегий на разных участках истории и на разных инструментах. Такая обкатка в тестере может оказаться хорошей прививкой на будущее от подгонки торговой системы под конкретную историю и поможет лучше понимать суть трендовых и контртрендовых систем.
Следующим шагом может стать создание более сложных торговых систем на основе комбинации уже существующих простых сигналов из набора Мастера MQL5. Вы можете, еще не прибегая к программированию, проверить и развивать свою торговую интуицию, отсеивая плохие сигналы одной системы с помощью фильтра на основе другой системы.
Но и тут главное не перестараться, ведь чем больше входных параметров в торговой системе, тем легче ее подогнать. Немало копий сломано в спорах о том, как отличить оптимизацию от подгонки, здесь нет готовых универсальных рецептов. Но вам может помочь визуализация результатов тестирования/оптимизации и собственный здравый смысл.
Научитесь из всего набора входных параметров выявлять именно те, которые влияют на торговую систему. Не принимайте во внимание второстепенные параметры, которые отнимают время при оптимизации, но не влияют на саму логику системы. Помните, что хорошая торговая система всегда допускает небольшой люфт по второстепенным параметрам, но при этом не делает драматических провалов при небольшом изменении характера рынка.
Вы можете потратить времени на этом этапе столько, сколько вам требуется для того, чтобы быть уверенным, что вы хорошо можете понимать любую торговую стратегию по результатам тестирования и оптимизации. Знание слабых и сильных сторон традиционных систем позволит вам быть более подготовленным при создании своего собственного торгового робота.
Программирование торгового робота
Вы изучили/изучаете язык программирования MQL4 или MQL5 и готовы написать свой первый советник для клиентского терминала MetaTrader. Здесь тоже возможно несколько вариантов.
Во-первых, вы можете разобрать несколько уже готовых торговых роботов по опубликованным статьям, чтобы лучше понимать тонкости программирования.
Во-вторых, вы можете задавать вопросы на форуме MQL4.community или MQL5.community, если самостоятельно не смогли разобраться в каких-то моментах. Обычно остальные участники сообщества охотно помогают новичкам, если видят их искреннюю заинтересованность в изучении предмета.
В-третьих, вы можете заказать доработку или разработку советника или индикатора в сервисе Работа, если по каким-то причинам не можете сделать нужную программу самостоятельно. Но даже при заказе торгового робота через фриланс-сервис вам желательно хорошо разбираться в вопросах тестирования стратегий, чтобы говорить с разработчиком на одном языке.
Кроме того, знание языка программирования на базовом уровне позволит вам впоследствии самому вносить мелкие исправления и изменения в полученный код уже после завершения работы. Ведь не будете же вы по каждому мелкому поводу обращаться к другому программисту, гораздо быстрее и проще сделать это самому.
"Всё украдено до вас"
Как найти собственную торговую систему или хотя бы знать, в каком направлении нужно сосредоточить поиски? Каждый трейдер дорожит своей системой, если она у него есть, и каждый новичок мечтает создать свою или получить уже готовую прибыльную стратегию. При этом любая найденная идея кажется слишком простой по сравнению с тем, какой должна быть настоящая работающая система в представлении новичка.
Военные во всех странах склонны к чрезмерному уровню секретности, и не зря на этот счет существует множество анекдотов, среди которых есть и такой: "Военная тайна заключается не в том, что вы это знаете" - говорит инструктор курсантам военного училища, - "а в том, что это знаете именно вы". С торговыми системами ситуация примерно такая же: большинство трейдеров используют простые известные торговые идеи, только с небольшими доработками, например, в виде использования трейлинг стопа (Trailing Stop) или подтверждения сигналов от трендовых индикаторов.
Существует множество закрытых трейдерских форумов, на которых идет совместная разработка или доработка секретных торговых систем и куда закрыт вход простым смертным. Самое интересное, что ничего секретного на них найти нельзя, всегда берется старая классическая идея, вроде "торгуй по тренду" и доводится до совершенства с помощью каких-то новых неизвестных широкой публике индикаторов.
Поэтому вы можете смело брать доступные в исходном виде коды торговых роботов и пытаться найти правильное их использование на тех или иных инструментах и таймфреймах. Тут на память сразу приходит другая избитая поговорка: "Вы не любите кошек? Вы просто не умеете их готовить!" В это трудно поверить, но вероятность того, что вы придумаете что-то принципиально новое, очень мала. Тут главное всё правильно сделать самому из доступных ингредиентов и не думать, что кто-то сверхумный пользуется какими-то секретными разработками из лабораторий NASA. В этом и заключается секрет Грааля.
Редкая птица долетит до середины Днепра...
"Если торговые идеи лежат буквально под ногами, то почему ими никто не пользуется?" - возникает резонный вопрос. Ответ на него кроется, вероятно, в человеческой психологии. Многие банки и крупные инвестиционные фонды содержат в своих штатах трейдеров, которые торгуют по расписанным правилам и в объемах, которые им позволены. Но почему-то редко когда институциональные трейдеры уходят на вольные хлеба и начинают торговать на свои деньги.
Получается, что нужна не только сама торговая стратегия, но и железная дисциплина, чтобы выполнять все её правила. Многие трейдеры с горечью убеждались, что они такие же смертные, как и все остальные, и им не чужды все те проблемы психологии, которые описаны в книгах. И осознав, что самый большой враг трейдера - это он сам, трейдер задумывается о создании торгового робота, который будет работать вместо него и снимет с него психологическую нагрузку.
Отклоняясь немного от темы, приведем в пример легендарную группу "Черепахи", которая успешно торговала на множестве рынков в конце 20-го века. Почитайте "Путь черепах", и вы поймете, что главное в профессии трейдера именно железная внутренняя дисциплина, а не какая-то суперсекретная система. Увы, большинство не сможет торговать по прибыльной стратегии, даже если получит её даром.
Проблема заключается в том, что большинство торговых стратегий, которые успешно торгуются вручную, с трудом поддаются формализации и переложению на язык компьютеров. Те стратегии, которые легче всего запрограммировать, например, на пересечении двух скользящих средних, являются слишком простыми и требуют множество уточнений и доработок, чтобы ими можно было пользоваться на деле. Таким образом, простая идея обрастает множеством внешних параметров, которые позволяют роботу избежать ложных входов и ошибок, хорошо видимых человеку. Возникает проблема оптимизации торгового робота. В итоге она не должна превратиться в переоптимизацию и подгонку под конкретный участок истории.
Именно для борьбы с подгонкой в тестере терминала MetaTrader 5 существует возможность форвардного тестирования на найденных при оптимизации параметрах системы. Если результаты форвард-тестирования торговой стратегии не сильно отличаются от результатов, полученных на участке оптимизации, то есть надежда, что торговый робот будет достаточно стабилен некоторое время после его запуска в онлайн-торговлю. Длина интервала для проведения оптимизации параметров и длительность этого "некоторого времени" зависят от конкретной торговой системы.
Таким образом, оптимизация торгового робота перед его запуском в онлайн-торговлю по сути напоминает раскручивание пращи - от того как тщательно мы раскрутили и швырнули снаряд из пращи, зависит насколько далеко и точно он улетит от точки броска. Хорошо построенный торговый робот продержится на счете с положительным результатом более длительное время, чем его собрат, полученный в результате подгонки. Можно сказать, что Грааль - это работающая идея и правильная корректировка параметров, проводимая время от времени при изменении рыночных условий.
Иллюстрацией для такого примера могут служить результаты Чемпионата по автоматической торговле Automated Trading Championship, проводимого уже в течение многих лет. Все участники перед началом соревнований проходят автоматические проверки присланных экспертов - торговых роботов на интервале с января по конец июля. Главным требованием для прохождения такой проверки является полученная прибыль за восемь месяцев тестирования. Но менее половины допущенных к Чемпионату роботов остаются в плюсе после трехмесячной автономной работы.
Вы также можете попробовать свои силы в создании и правильной настройке своего торгового робота, чтобы принять участие в Чемпионате и получить результаты форвард-тестирования своего детища. Тем более что участие является бесплатным, а призы ощутимыми. Как говорится - "Welcome"!
Заключение
Профессиональный трейдер, торгующий внутри дня, проводит за монитором много часов в ожидании удачного момента для совершения сделки, и он не всегда может быть в отличной форме.
Большинство трейдеров приходит к мысли, что зачастую их действия при торговле нарушают их же собственные торговые правила. Пусть не все торговые системы можно автоматизировать, но даже для них в большинстве случаев можно создать вспомогательные инструменты в виде индикаторов, аналитических систем и фильтров ложных сигналов.
Мы не даем здесь конкретных рекомендаций по изучению языка MQL4 или MQL5, на эту тему написано много других полезных статей. Цель данной публикации состояла в том, чтобы дать начальное представление о том, как и с чего начать создание собственного торгового робота для терминалов MetaTrader 4 и MetaTrader 5.
Надеемся, что эта статья сэкономит новичкам время и укажет нужное направление в нелегком деле создания автоматической торговой системы.
www.mql5.com
Как создать торгового робота?
Об особенностях торговых роботов, их преимуществах и недостатках мы уже говорили (повторяться не будем). Многие трейдеры подвергают подобные алгоритмы жесточайшей критике, считая их совершенно не эффективными. И действительно, роботы не способны нормально торговать без участия трейдера. При этом основные проблемы чаще всего возникают с бесплатными советниками, которых просто-таки невероятное количество в сети. Другое дело, если стратегию разработали и воплотили в жизнь именно вы. У каждого успешного трейдера есть своя система – она может быть у него в голове или в блокноте. Но если она работает и приносит прибыль, так почему бы не сделать ее в виде программы? Все, что необходимо – создать торгового робота своими руками. В данной статье мы рассмотрим наиболее популярные методы.
На базе платформы
Нет смысла рассматривать все существующие сегодня платформы – уделим внимание двум наиболее популярным – TSLab (российская разработка) и Wealth-Lab (американская разработка).
1) TSLab. Основной плюс отечественной платформы - в наличии качественного и интуитивно понятного редактора стратегии. Трейдер может с легкостью "собрать" свою торговую систему, не особо вникая в язык программирования. Все, что необходимо сделать – выбрать необходимые элементы, вставить их в график и соединить между собой. Если личная стратегия уже разработана, то перенести ее в «электронный» вид труда не составит. При этом код робота формируется автоматически.
Преимущество такого метода создания робота – доступность. Для новичка алготрейдера – данный вариант один из лучших. Кроме этого, возможности TSLab позволяют тестировать уже существующие стратегии.
Недостатки – невозможность создать по-настоящему сложную стратегию с учетом всех факторов рынка. Визуальный редактор, к сожалению, ограничивает возможности трейдера.
2) Wealth-Lab. Американская платформа по праву считается одной из лучших для отладки и оптимизации системы. Практически любая задача ей по плечу. Каких-то ограничений в плане специфичности стратегии не существует – есть только фантазия трейдера, которую нужно воплотить в реальность. Площадку Wealth-Lab легко коммутируется с помощью адаптера. Единственный минус в том, что для разработки качественного робота желательно иметь определенные знания языка С#. И еще – данная программа условно-бесплатная, и через месяц бесплатного пользования за нее придется заплатить.
На базе языка программирования
Наиболее качественные и функциональные роботы пишутся на специальном языке программирования. Но какие здесь возможны варианты? Давайте рассмотрим подробнее:
1) QPILE – мощный алгоритмический язык, который интегрирован в популярную сегодня торговую систему QUIK. Конечно, QPILE не дотягивает по уровню до известных Delpi или С#, но для реализации алгоритма средней сложности отлично подойдет. С его помощью можно создать практически любого робота, способного вычислять основные параметры и управлять потоком данных. При этом торговая система сможет работать автоматически, без участия трейдера.
Преимущества QPILE – сравнительная простота (обучиться языку может любой человек с базовыми знаниями программирования), идеальная интегрированность с популярной площадкой QUIK, простой доступ к котировочному стакану и цене, а также возможность работы без установки ПО на своем компьютере.
Недостатки QPILE – заметная медлительность (особенно, если работать приходится с объемным кодом), отсутствие удобного интерфейса (часто приходится проводить редактирования вручную и применять текстовые файлы), ограничение в применении тиковых графиков, а также невозможность создания скальперских систем (из-за большого расчетного периода).
2) EXCEL+VBA. Я думаю, каждый человек работал с MS EXCEL – мощнейшим приложением, способным с большой эффективностью и высокой скоростью обрабатывать табличные данные. Но EXCEL нашел себя и на фондовом рынке, где разработчики используют его для создания качественных торговых роботов. В комбинации с языком программирования VBA, который «вшит» в программу, можно создать мощную автоматизированную систему. Данный метод немного сложнее, чем работа в QPILE, но при желании освоить тонкости языка труда не составит.
Плюсы. Есть доступ к табличный данным QUIK посредством обратной связи программного интерфейса АРI, простота применения (все необходимые инструменты уже интегрированы в систему), есть возможность управления созданным роботом в интерактивном режиме (специальные кнопки и формы для этого предусмотрены разработчиком), можно хранить наиболее важные данные и работать с Windows (при настройке робота может очень пригодиться).
Минусы. Из недостатков EXCEL+VBA можно отметить низкую скорость работы (снова-таки, скальперского или арбитражного робота сделать не получится) и повышенную уязвимость системы. Данный вариант больше подойдет для опытных трейдеров, которым необходим робот с расширенными возможностями. Но для создания высокоскоростных систем данное ПО не подойдет по указанным выше причинам.
3) С# - язык программирования, разработанный всемирно известной корпорацией Microsoft. Мы уже упоминали, что в роли внутреннего языка (для рассмотренных выше TS-Lab и WealthLab) используется именно С#. Его возможности позволяют писать качественные библиотеки, что существенно укоряет процесс создания своего торгового робота. В чем же суть таких библиотек? Здесь все просто. К примеру, вы поставили себе задачей написать качественный код на выставление заявки. Он состоит из двухсот строк, на написание и тестирование которых уйдет около суток. В библиотеке уже есть составленный и отлаженный специалистом код – остается только вставить его и скорректировать под свои нужды. В библиотеке StockSharp уже есть готовые «пакеты» программ, поэтому вы экономите свое время. Только представьте, сколько дней необходимо было бы потратить, на создание робота с «нуля».
Плюсы С# - универсальность, наличие библиотек, возможность написания высокоскоростных стратегий, надежность и высокий уровень функциональности.
Минусы С# - сравнительная сложность, ведь для написания торгового робота необходимо хорошо владеть языком программирования.
Выводы
Конечно, я описал не все варианты создания роботов – только основные (есть еще такие языки, как Delpi, С++, R и прочие). В любом случае вы уже знаете, как создать торгового робота – остается только выбрать подходящий под ваши задачи и способности вариант.
Будьте в курсе всех важных событий United Traders — подписывайтесь на наш телеграм-канал
utmagazine.ru
Как написать торгового робота своими руками
Каким образом Вы хотите сделать себе торгового робота?
Лучше заказать Сделаю самНа современном рынке почти все трейдеры уже ощутили преимущество использования торговых роботов. Во-первых, потому что в наше время очень важно выгодно распоряжаться свободными деньгами, не правда ли? Помните, если Вы не пользуетесь чем-то (если деньги просто лежат на полке или в банке), то это быстро теряется. Во-вторых, ни для кого не секрет, что все инвестиционные компании, банки и профессиональные трейдеры пользуются торговыми роботами, что бы увеличить свою эффективность, не так ли?
Сотни трейдеров уже занялись вопросом написания торгового робота. Большинство делают это на заказ, доверяясь профессионалам и желая сэкономить кучу времени. Но часть трейдеров пытается сделать робота самостоятельно. Сразу скажу, что сделать сложного высокоскоростного торгового робота, к примеру под Плаза 2, с надлежащим уровнем качества человеку без опыта не под силу!
Но если есть желание написать простого торгового робота своими руками, то реализовать это вполне реально, даже очень занятому человеку.
Как написать торгового робота. Инструменты и методы для MetaTrader
Что бы приблизиться в Вашей цели потребуется две вещи: информация и время.
Под информацией подразумевается тот материал, который Вам потребуется изучить, что бы в последствии сделать задуманное. Например, если Вы планируете создать торгового робота для FOREX , то советуем обратить внимание на абсолютно бесплатный обучающий видеокурс о MQL4.
Вам нужно будет время, поскольку информация сама в голову не залезет. Ее нужно туда положить. Примерно 2-3 недели по 1-2 часа и Вы будете писать торговых роботов своими рукам для терминала MetaTrader. В видеокурсе содержится полная информация обо всех аспектах программирования от А до Я.
Торговый робот своими руками легко и просто для QUIK
А что делать, если Вы торгуете на российском фондовом рынке в терминале QUIK. Тогда Вы можете пойти тремя путями.1. Изучить язык QPILE. Потребуется около 2 месяцев обучения и обязательно хоть некоторый опыт по программированию2. Изучить язык C#. Тогда потребуется около 3 месяцев обучения и нужен опыт работы программиста.3. Использовать WEALTH LAB.
В последнем варианте сделать робота будет не так то и сложно. Времени для освоения знаний понадобится минимум. Дело в том, что WEALTH LAB специально предназначен для того, что бы трейдеры, неискушенные в программировании, смогли без проблем разобраться.
Вам остается теперь только действовать!
“Лучшие инвестиции – это инвестиции в себя. ”
-Сергей Нехаев
kbrobot.ru
отзывы, создание своими руками арбитражного робота бесплатно
Немного о QUIK
QUIK является программой, благодаря которой трейдеры получают доступ к биржевой торговли на финансовых рынках.
QUIK в переводе с иностранного означает «быстрый». В начале своего существования, QUIK являлся информационной системой с моментальной скоростью ее предоставления. Позже сервис приобрел доступ к прямым торгам на биржу, а также через посредников в виде брокеров и диллиноговых центров.
Рассматриваемая торговая площадка активно используется в странах Российской Федерации и Украины для предоставления возможности торговли валютой в национальных биржах.
Преимущества применения сервиса
- В предоставлении прямого доступа к электронным торгам.
- В получении информации о котировках цен торговых активов в режиме реального времени.
- В графическом изображении изменения ценовых котировок.
- В возможности автоматизации торговли при помощи советников.
- В получении дополнительной информации, предоставляемой в виде бегущих лент о выходе новостей и о решениях заседаний правительства и глав центральных банков.
- В предоставлении возможности общения с администратором и другими пользователями системы.
- В автоматическом обновлении версии программного обеспечения.
Зачем нужны торговые роботы?
Торговым роботом называется специализированная программа, в которую заложены принципы определенной торговой системы. Иначе торговые роботы называют советниками.
Использование роботов в торговле имеет ряд преимуществ:
- Участвовать в торгах может даже новичок, не владеющий теоретической базой о работе на финансовых рынках.
- Моментальная скорость реакции. Сигнал поступил – программа быстро распоряжается об открытии ордера, фиксации прибыли или ограничения убытка.
- Обеспечивается работа без лишних эмоциональных факторов, таких как страх и жадность.
- Беспрекословное следование торговой стратегии.
- Отсутствие усталости.
- Отслеживание роботом одновременно несколько торговых активов на автоматическом уровне.
Несмотря на множество преимуществ, при работе с советниками, пользователя также подстерегает множество неприятных неожиданностей:
- Ошибка в программном коде. По этой причине необходимо достаточное время «прогонять» советника на демонстрационном счету.
- Преимущества ручной торговли с применением технического анализа.
Какие торговые роботы для Quik существуют сегодня?
Для сервиса Quik на сегодняшний день создано достаточное количество торговых роботов с самыми разнонаправленными принципами работы:
- BOT Trailing-stop Acceleration предназначен для совершения рискованных сделок. Торгует в агрессивном стиле
- BOT Smart SAR относится к трендовым индикаторам. Он легко определяет начало смены рыночной тенденции и осуществляет вход в рынок в самом начале тренда, охватывая, буквально, все его движение.
- BOT Level Breakout также трендовый индикатор, однако, он отличается от предыдущего своей большей прогрессивностью по причине его возможности определения волантильного состояния цены. Данный робот не открывает сделки, если рынок низковолантилен.
Особенности применения торговых роботов и выбор робота
Для того, чтобы торговый робот приносил прибыль, нужно ответственно отнестись к его выбору и учесть некоторые особенности его работы.
Особенности применения торговых роботов:
- Торговый робот работает по четкому алгоритму, изменение которого не может осуществиться ни при каких условиях.
- Обладает скоростной реакцией на полученный сигнал к входу или выходу из рынка.
- Робот не подвержен психологическим воздействиям. Если человек сомневается открывать или не открывать сделку, то робот поступает в соответствии с заложенной в нем программой. Если человек сомневается закрывать или нет убыточную сделку, то робот просто ее закрывает, если соблюдаются программные условия.
- Невозможно купить робота, чтобы он работал прибыльно все время. Прибыльный робот – это тот, который трейдер создал самостоятельно, на основе своей личной торговой стратегии.
- Необходимо понимать стратегию торговли, по которой торгует советник. Несмотря на его самостоятельность и автоматизацию, контроль все равно нужен.
- Главная задача при сотрудничестве с роботом – умет им управлять, знать досконально все его настройки.
- В случае, выключения электроэнергии, интернета, открытая сделка не будет закрытой и может принести убытки.
При выборе робота необходимо руководствоваться:
- Временным периодом, с которым планируется работать,
- Количеством торговых активов
- Частоту совершения сделок
- Личные предпочтения касательно какой – либо стратегии.
Классификация стратегий
В зависимости от степени участия пользователя в работе торгового работа, они подразделяются на несколько типов:
- полностью автоматизированные,
- требующие подтверждение действия пользователем.
В зависимости от трендового стиля работы роботы бывают:
- Трендовые
- Данный стиль работы заключается в выявлении сильных трендовых движений.
- Решения робота принимается на основании трендовых индикаторов.
- MA,
- Alligator,
- Ichimoku,
- Bollinger Bands,
- Fractals,
- ParabolicSAR,
- MACD,
- Stochastic,
- Price Channel,
- В сервисе некоторых роботов предусмотрено использование нескольких индикаторов, один из которых является основным, по которому советник осуществляет вход, а остальные – фильтры ложных сигналов.
- Вход в рынок происходит при смене рыночной тенденции, обычно в самом ее начале.
- Выход из рынка осуществляется:
- У психологического технического уровня поддержки или сопротивления.
- При появлении противоположного сигнала основного индикатора. В данной ситуации фильтры не требуются.
- Контртрендовые
- Стиль торговли основан на входе в момент окончания трендовой тенденции, в начале коррекции основного движения.
- Робот осуществляет вход на основании идикаторов, осциляторного типа:
- Price Channel,
- Bollinger Bands,
- MA, Alligator,
- Ichimoku,
- ADX,
- Fractals,
- MACD,
- ParabolicSAR,
- Stochastic.
- При работе с вышеперечисленными индикаторами роботом обычно учитывается явление дивергенции, которое хорошо идентифицируется на осцилляторах.
- Прибыль обычно фиксируется, исходя из уровней Фибоначчи, которые советник строит на основной тенденции.
- Недостатком таких роботов являются редкие сигналы.
- Арбитражные
- Робот с таким стилем торговли открывает сделки сразу по двум активам.
- Один из торговых активов должен быть перекуплен, а другой перепродан.
- Перекупленность и перепроданность активов определяется роботом при помощи осцилляторов.
- Результативность сделок с арбитражным роботом намного выше, чем у трендовых и контртрендовых роботов.
- Скальперский стиль
- Основан на стратегии Мартингейл .
Советники подразделяются в зависимости от вида анализа, заложенного в их программе для принятия решения о входе в рынок и выходе из него:
- Индикаторные. У таких торговых роботов все сигналы основаны на значениях и сигналах, полученных при помощи различных индикаторов.
- Советники, работающие с трендовыми индикаторами.
- Торговые роботы, принимающие во внимание сигналы осцилляторов.
- Роботы, торгующие по объемным индикаторам.
- Роботы, торгующие по стандартным индикаторам торгового терминала.
- Роботы, торгующие по авторским индикаторам
- Безиндикаторные. В эту категорию относятся роботы, торгующие:
- По стратегии Мартингейла.
- По сеточной системе.
- По локирующей системе.
- По графическому анализу.
- По свечному анализу.
- По волнам Вульфа.
Варианты языков программирования
- Язык программирования
- предоставляет возможность дополнительного подключения плагинов и модулей.
- Позволяет загружать программный код в исходном и в скомпилированном виде.
- Возможна настройка функции авточартиса, которая позволяет рисовать разные необходимые элементы на ценовом графике.
- Принцип действия заключается в идентификации сервисом авточартиса сигнала в виде графической фигуры. При помощи сигнала робот принимает решение о входе в рынок.
- Позволяет работать на любом временном периоде.
- Qpile – язык программирования, который для платформы QUIKявляется базовым.
- Роботы, написанные с применением этого языка, работают медленно.
- При самостоятельном проведении настройки советника и при совершении ошибки в настройках алгоритмах, найти ее будет сложно.
- Не используется больше ни в каких торговых площадках, кроме QUIK.
- Язык программирования C#
- Используется в программах:
- Обладает расширенным набором инструментов.
- Постоянно совершенствуется и модернизуется
forex365.ru
Создание торгового робота: от А до Я
Данный цикл статей раскроет вопрос написания механической торговой системы (МТС) от момента задумки алгоритмов торговли и до оптимизации кода (с соответствующими отчетами).Цикл начинается с этой статьи, в которой только будет намечена общая торговая система. Здесь вы пока не увидите никаких кодов, но будет намечен курс разработки торгового робота. Можно считать, что это теоретическая подготовка к написанию МТС.
Начиная со следующей, второй, статьи читателям будет представлен торговый робот, который станет отправной точкой для дальнейших изысканий. Целью нашей последующей работы будет общее улучшение торговой системы, начиная от оптимизации и заканчивая полной заменой каких-либо частей робота (при необходимости).
В заключительных статьях мы планируем разместить отчетные материалы по достигнутым результатам в создании данного робота. В идеале, это будет демонстрация прибыльной работы МТС.
После этого начнется работа над следующим роботом. Всего в каждом цикле предполагается по 6 статей:
1) Вводная статья (предложение концепции).2) Представление торгового робота (с подробным описанием создания робота).3) Отчет за первый месяц работы программы; первая оптимизация робота.4) Отчет за второй месяц работы программы; вторая оптимизация робота.5) Отчет за третий месяц работы программы; третья оптимизация робота.6) Заключительная статья (подведение итогов).
Таким образом, на тестовую торговлю робота отводится ровно 4 месяца, по итогам которых будет создан подробный отчет.
Концепция алгоритмов торгового робота
Поиск торговых сигналов
В основу идеи поиска торговых сигналов положена модель оценки нескольких взаимно коррелирующих торговых инструментов. В начале исследования это будут валютные пары: GBPUSD, EURUSD, AUDUSD, USDCHF, USDJPY, USDCAD.
В качестве алгоритма непосредственной оценки отдельного инструмента взята простая средняя скользящая и цена инструмента. Иными словами, в качестве индикации повышения инструмента воспринимается положение цены выше средней скользящей, а понижения ? положение цены ниже средней скользящей. Конечный сигнал определяется как сумма сигналов по всем избранным для анализа инструментам. За сигнал для непосредственного открытия сделок принимается ситуация, когда 80% инструментов демонстрируют однонаправленное движение. Подобная оценка торговых инструментов весьма популярна как при портфельной торговле, так и при торговле одним единственным инструментом (оценка группы торговых инструментов для последующей торговли только по одному). Для данного робота избран первый вариант стратегии.
Распределение лотов в формирующемся портфеле сделок
При создании нашего робота будем отталкиваться от того, что у нас есть некоторое число лотов, которое мы можем использовать в торговле. Размер лота следует оценивать как максимально возможный по инструменту из группы, где цена пункта самая большая (среди всей группы). Максимально возможным лот следует считать исходя из допустимых потерь: в нашем случае из строго заданной величины СтопЛосс. После того, как максимально возможный лот определен, его следует поделить на минимально допустимый торговый лот (из условий торговли у данного ДЦ/Брокера). Таким образом, мы получим число долей, которые можем использовать в торговле. Далее эти доли будут распределяться между торговыми инструментами сообразно оценке весомости сигнала по каждому конкретному инструменту.
Оценка лотов производится один раз, при появлении торгового сигнала, и не учитывает дальнейшие изменения ситуации на рынке до момента закрытия отдельной сделки по конкретному инструменту. Это связано с тем, что сам алгоритм оценки весов не предполагает изменения ситуации в портфеле до наступления коренных изменений на рынке (таких, как разворот тенденции). При открытии новой сделки, при условии наличия свободных долей, возможен перерасчет портфеля и выделение необходимых долей для сделки.
Закрытие сделок
В штатном режиме работы торгового робота закрытие сделок будет возможно согласно Stop Loss (в том числе и Trailing Stop Loss), Take Profit или при изменении торгового сигнала на противоположный. В последнем случае будет происходить закрытие всех открытых сделок по всем инструментам торговой группы. Открытие новых сделок будет возможно только в случае наступления нового торгового дня. Это ограничение не должно распространяться на случаи, когда закрытие сделок происходит при изменении торгового сигнала на противоположный.
Правила управления капиталом
Расчет максимально допустимого лота для портфеля
Максимально допустимый лот следует рассчитывать исходя из текущего уровня Equity, величины Stop Loss (заданной в параметрах торгового робота), величины допустимой разовой просадки (заданной в параметрах торгового робота) и максимальной цены пункта у соответствующего торгового инструмента в торговой группе. Иными словами, оценка максимально допустимого лота происходит по тому инструменту, где минимальное изменение цены (1 пункт) имеет наибольший вес (стоимость) для уровня Equity. Само значение представляет собой ту величину торгового лота, которая обеспечит заданную просадку при закрытии сделки по уровню Stop Loss (исходя из этого, не сложно составить конкретную формулу).
Величина допустимой месячной просадки по депозиту
В случае достижения по депозиту просадки, заданной в параметрах депозита допустимой месячной, будет происходить закрытие всех открытых сделок и остановка работы робота до наступления следующего календарного месяца согласно терминальному времени. При этом просадка рассчитывается как разница величины депозита на начало текущего месяца и текущего уровня Equity. В расчете данной величины робот будет учитывать абсолютно все торговые операции по данному торговому счету, т.е. «ручная» и «автоматическая» торговля не будут различимы.
Данная мера нацелена на сохранение торгового депозита и возможности продолжения работы согласно текущей (либо измененной) системы.
Общие примечания
В случае если на момент запуска торгового робота сразу обнаружится торговый сигнал, открытие сделок происходить не будет — робот будет дожидаться формирования противоположного торгового сигнала. Это сделано для того, чтобы не происходило открытия сделок в конце ранее начатого (и, с некоторого долей вероятности, заканчивающегося) движения.
Данная версия робота будет началом исследования. Именно поэтому для критерия сигнала принят один из самых простых алгоритмов. Также этим обусловлен выбор строго определенных уровней Stop Loss и Take Profit.
fortrader.org
Как написать робота для Форекс
Способы написания роботов для автоматической работы на бирже
Перспективы стабильного заработка с минимальной затратой времени практически сразу привлекают к себе внимание новичков в трейдинге, поэтому вопрос, как написать робота для Форекс, становится одним из первых, которые они пытаются рассмотреть как можно подробнее. Между тем решение этой задачи включает в себя несколько основных вариантов, и все они требуют тщательного, ответственного подхода, впрочем, как и весь валютный рынок, известный своей непредсказуемостью.
Первый подход предполагает глубокий математический анализ поведения ваших активов в условиях, созданных рынком. В ход идут индикаторы, скрипты, ручные подсчеты с помощью экономических формул, применение волн, паттернов и линий, которые позволяют составить алгоритм действий потенциального советника, основанный на особенностях валютной пары. Однако применение такого метода требует больших временных затрат и, как правило, идеален только в теории, а на практике требует длительного, последовательного тестирования.
Второй способ заключается в самостоятельном изучении правил программирования на языке mql известного разработчика MetaQuotes. С помощью него пишутся все используемые дилерами дополнительные средства анализа и торговли на валютной бирже. При последовательном углублении в данную науку, вы имеете достаточно большие шансы, быстро вникнуть в принципы построения экспертов. Плюс такого метода в возможности сконструировать уникальную систему точно под себя, по собственной торговой стратегии. Минус – долгий период отладки готовых роботов.
Третий вариант создания – применение вспомогательной программы-конструктора, созданного специально для того, чтобы облегчить жизнь неопытных в вопросе программирования трейдеров. С их помощью вы легко соберете своей системы. Плюсы в данном случае перевешивают, ведь у вас появляется возможность последовательно, без полноценных знаний программного кода, быстро и без лишних затрат создать подходящий вам советник.
Программа автоматического трейдинга на заказ
Как написать робот для Форекс, в любом случае, будет полезно знать каждому трейдеру, хотя бы поверхностно, то есть базовые этапы этого процесса. Но для тех, кто не может разобраться в программных кодах и специальных конструкторах, оптимальным решением будет заказ эксперта у профессионального программиста. Это потребует дополнительных финансовых вложений, но вы сможете контролировать работу удаленно, не тратя своего времени и нервов.
Для заказа необходимо выполнить несколько этапов:
- найти специалиста-разработчика на соответствующих ресурсах;
- подготовить подробное, точное техническое задание;
- обсудить проект с программистов, выяснить и устранить неточности;
- установить время выполнения заказа и сумму его оплаты;
- получить промежуточный вариант для тестирования, на основе которого еще возможно сделать корректировку;
- получить готовую систему.
Многие трейдеры задаются вопросом как написать робота для Форекс. Стоит заметить, что это довольно сложное задание, которые требует определенных навыков, знаний и умений.
Робот форекс или как его еще называют советник, представляет собой специальную программу, которая производит автоматическую торговлю на валютном рынке без участия самого трейдера. Таким образом, приложение может торговать 24 часа в сутки без перерыва на сон и еду. Пока трейдер занят своими делами или другой работой советник зарабатывает для него деньги.
Трейдер может воспользоваться уже существующим советником, который содержит платформа MetaTrader4, либо скачать или приобрести его на специальном ресурсе. Кроме того, многие брокерские фирмы в рамках обучающих программ предлагают приобрести трейдерам роботов, которые были разработаны под определенную стратегию.
Трейдерам, которые имеют собственную индивидуальную стратегию лучше создать для себя советник самостоятельно. Поскольку только они знают какими функциями он должен обладать, чтобы полностью соответствовать их стилю торговли. Так же, стоит заметить, что для трейдеров, которые не сильны в программировании, торговых роботов могут написать под заказ опытные программисты.
При самостоятельном создании робота для торговли на Форек необходимо учитывать:
- Валютные пары, которые будет использованы при торговле.
- Индикаторы, которые в последующем должны быть правильно настроены.
- Ограничения, которые провоцируют открытия или закрытие сделок.
- Возможные риски.
Языки программирования, которые используются для написания советников форекс
Зачастую для написания торговых роботов форекс используют:
- Язык программирования MQL4. Для написания советника на данном языке придется воспользоваться специальным приложением под названием MetaEditor, который встроенный в платформу MetaTrader4. После вызова приложения автор может добавить стандартные или созданные самостоятельно индикаторы, которые в последующем и станут основой работы советников.
- Язык программирования MQL5. Для него также предусматривается использование встроенного приложения MetaEditor, которое оборудовано специальным хранилищем для данных, системой отладки, авто завершения и профилактики. В свою очередь данный язык является более прогрессивным в сравнении с MQL4 и по своему принципу схож с С++. Именно это фактор позволяет создавать объективно-ориентированные программы.
Основные этапы создания робота для торговли на Форекс
Для написания собственного торгового советника трейдеру необходимо пройти такие основные этапы:
- Конкретно определить все задания, которые должен будет выполнять будущий советник.
- Выбрать более удобный язык программирования.
- Произвести непосредственное написание советника.
- Протестировать полученную программу.
Что касается последнего пункта, то он является самым важным, так как от того насколько хорошо будут исправлены ошибки зависит последующая эффективность работы советника в реальных условиях. Тестирование заключается в ручном просмотре всех прописанных логов и поиска ошибок в кодах.
Для упрощения задания трейдеру лучше после первого тестирования создать подробный план исправления ошибок, доработок неточностей и устранения багов. Лучшим способом проверить качество работы написанного советника является его испытания на демо-счете. Если после всех доработок робот начнет давать стабильный результат можно попробовать выйти с ним на реальный рынок. Для этого рекомендуется изначально использовать небольшой депозит .
Не стоит при первом написании робота комплектовать его большим количеством команд. Для начала будет достаточно использовать всего несколько простых алгоритмов, а уже затем постепенно дополнять его более сложными и объемными заданиями. В противном случае можно потратить большое количество времени для тестирования продукта, а в результате так и не получить идеального результата.
Где можно научиться писать советники форекс
Каждый трейдер, который достаточно долго работает на Форекс, испытывает потребность самостоятельно написать робота для торговли на форекс. При этом его уровень знаний и умений в программирование может быть значительно ниже, чем в работе на валютном рынке. К счастью как написать торгового робота можно узнать из большого количества источников. Среди них специальная литература и статьи, обучающие видео в интернете, индивидуальные или групповые занятия в специальных учебных центрах, онлайн консультации опытных трейдеров и программистов. Кроме того, некоторую информацию можно подчеркнуть на тематических форумах.
Самостоятельное создание специального робота это один из этапов развития трейдера к которому он придет по истечению некоторого времени. Для успешной работы на Форекс необходимо постоянно совершенствовать свои знания, учиться новому и быть в курсе последних стратегий, новинок в сфере программного обеспечения, современных методов анализа и прогнозирования.
Содержание данной статьи является исключительно частным мнением автора и может не совпадать с официальной позицией LiteForex. Материалы, публикуемые на данной странице, предоставлены исключительно в информационных целях и не могут рассматриваться как инвестиционный совет или консультация для целей Директивы 2004/39 /EC.
ru.liteforex.com