Как написать Форекс робота: инструкция по созданию

Как написать Форекс робота: инструкция по созданию

Как написать Форекс робота

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

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

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

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

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

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

Этап 1: разработка идеи

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

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

Этап 2: предварительная подготовка к созданию

kak napisat foreks robota instruktsiya po sozdaniyu 2

Прежде чем написать Форекс робота, вам нужно предварительно ответить на следующие важные вопросы, которые являются своего рода фундаментом:

• какова основная идея вашей стратегии,

• какие задачи будет решать программа по автоматическому трейдингу,

• понадобятся ли свечные паттерны или элементы графического анализа? Или же достаточно будет обойтись классическими индикаторами,

• нужен ли будет какой-нибудь второстепенный дополнительный скрипт,

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

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

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

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

Этап 3: Конструктор

kak napisat foreks robota instruktsiya po sozdaniyu 3

Крайне важно понимать рынок в целом. За счет чего происходит ценообразование, что влияет на динамику котировок и так далее. Порой и вовсе на первых порах будет достаточно прочитать знаменитую книгу Билла Вильямса «Теория Хаоса», чтобы научиться выявлять рыночные закономерности и понять, почему здесь нельзя открывать сделку, а вот здесь в самый раз!

Одним из самых популярных конструкторов для создания советников является MQL5 Wizard. Именно здесь создается большинство из существующих советников для торговых терминалов Метатрейдер 4 и 5.

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

Этап 4: MQL5 WIZARD

Ну а чтобы написать Форекс робота с более сложным алгоритмом, потребуется уже специальная программа. Для этого запускаем торговый терминал МТ5 и нажимаем на кнопку F4, тем самым запуская редактор по созданию советников.

kak napisat foreks robota instruktsiya po sozdaniyu 4

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

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

kak napisat foreks robota instruktsiya po sozdaniyu 5

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

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

Этап 5: Создание сложного торгового советника

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

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

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

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

kak napisat foreks robota instruktsiya po sozdaniyu 6

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

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

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

Этап 6: Выбор программиста

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

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

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

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

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

Этап 7: Получение готового советника

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

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

Но и здесь вам не нужно требовать от специалистов создания Грааля и на 100% безубыточного робота. Такого попросту не существует. Ни один робот Форекс не совершенен. Точно также как и ваша торговая стратегия.

Да, вы будете настолько окрыленными, что появятся мысли: «Раз я платил деньги, то он должен мне создать такого робота, который будет приносить только прибыль». Но опять же повторюсь. Программист — всего лишь исполнитель, который работает по тому ТЗ, которое составили вы сами. Поэтому если получится так, что торговый советник не будет работать, то здесь может присутствовать и ваша вина. Поэтому не нужно полностью перекладывать ее на исполнителя.

kak napisat foreks robota instruktsiya po sozdaniyu 7

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

Заключение

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

  • Главная »
  • Роботы для заработка »
  • Как написать Форекс робота: инструкция по созданию

Создание простого торгового робота для работы на Форекс

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

  1. Шаблон создаваемого торгового робота
  2. Алгоритм действий торгового робота
  3. Описание переменных создаваемого торгового робота
  4. Заключение

Простой торговый робот

Шаблон создаваемого торгового робота

Шаблон, это то с чего начинается создание любого торгового робота или советника. Шаблоны могут несколько отличаться друг от друга, но я предлагаю вам простой работающий вариант:

#property copyright «»

#property link «»

//В этом месте программного кода описываются все переменные, используемые в программе

int start() // Спец . функция start

// В этом месте прописывается алгоритм действий торгового робота (с использованием //специальных команд языка MQL 4)

return; // Выход из start()

Алгоритм действий торгового робота

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

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

Создание простого торгового робота Форекс

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

if( Bid>iMA (Symbol(), Period(),PMA, 0,MODE_SMA , PRICE_CLOSE, 0) )

Давайте подробно разберём этот код. Сначала идет проверка условия, что цена находится выше скользящей средней:

if( Bid>iMA (Symbol(), Period(),PMA, 0,MODE_SMA , PRICE_CLOSE, 0) )

Bid – цена спроса*;

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

If (условие)if в переводе с английского означает «если». Другими словами если условие, написанное в скобках, выполняется то, выполняется и действие, указанное в фигурных скобках после:

OrderSend ( Symbol (), OP _ BUY ,0.1, Ask ,3, Bid — sl *Point, Bid + tp * Point )— это приказ на покупку 0,1 лота с установкой ордеров стоп-лосс ( sl ) и тейк-профит ( tp ) задаваемых в настройках торгового робота.

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

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

Таким образом на данный момент мы имеем следующий алгоритм действий:

if( Bid>iMA (Symbol(), Period(),PMA, 0,MODE_SMA , PRICE_CLOSE, 0) )

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

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

Давайте поставим ему дополнительное условие, открывать позицию только в том случае когда открытых позиций нет: if( OrdersTotal()=0), здесь OrdersTotal() – функция возвращающая значение открытых и отложенных ордеров.

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

if( OrdersTotal()=0)

if( Bid>iMA (Symbol(), Period(),PMA, 0,MODE_SMA , PRICE_CLOSE, 0) )

Как видите, мы весь алгоритм с проверкой условий поместили в фигурные скобки под условием if( OrdersTotal()=0) и если это условие не будет выполнено, торговый робот просто будет ждать следующего тика (изменения цены).

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

Описание переменных создаваемого торгового робота

В нашем примере мы использовали следующие переменные:

PMA – переменная содержащая значение периода используемой скользящей средней;

Sl – переменная содержащая значение ордера стоп-лосс;

Tp – переменная содержащая значение ордера тейк-профит;

Все три значения не могут быть дробными и потому относятся к типу int (целых чисел).

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

Таким образом, получаем следующее описание переменных:

PMA=13,sl=50,tp=100;

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

В итоге полный текст программного кода будет выглядеть следующим образом:

#property copyright «»

#property link «»

PMA=13,sl=50,tp=100;

int start() // Спец . функция start

if( OrdersTotal()==0)

if( Bid>iMA (Symbol(), Period(),PMA, 0,MODE_SMA , PRICE_CLOSE, 0) )

return; // Выход из start()

Заключение

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

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

Как написать торгового робота: инструменты для начинающих

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

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

Варианты создания роботов

Существует несколько вариантов создания роботизированного софта для торговли на бирже:

  • Создание роботов для работы на прямом подключении – такие системы работают «в обход» торговой системы брокера, отправляя заявки напрямую в «движок» торговой системы биржи. Этот вариант используют уже опытные трейдеры, которые готовы платить в том числе и за такой способ подключения.
  • Подключение к брокерской торговой системе по API. Некоторые брокеры позволяют подключать внешний торговый софт к своим торговым системам по специальным интерфейсам. Клиенты ITI Capital могут делать это с помощью API SMARTcom. В этом случае роботы могут быть достаточно сложными.
  • Автоматизация операций напрямую в торговом терминале. Наиболее простой, подходящий для новичков способ, заключается в том, чтобы автоматизировать торговлю напрямую в базовой программе любого трейдера – терминале.

Как это работало раньше

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

Меню для подключения Excel в одном из торговых терминалов прошлого поколения

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

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

Как это работает теперь: изучаем язык TradeScript

В наши дни на российском рынке самый простой способ создать несложного торгового робота, работающего с системой брокера, это использование терминала SMARTx.

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

Плюсом TradeScript по сравнению с Wealth-Lab и тем же Metastock является отсутствие необходимости создания сложных конструкций и использования различных коннекторов для передачи приказов в торговый терминал. Конструктор роботов встроен в SMARTx, что позволяет добиваться значительно более высокой надежности и быстродействия.

Вот пример торговой стратегии, записанной на TradeScript:

Buy Signals # Покупаем, если момент и инерция имеют однонаправленный тренд TREND(EMA(CLOSE, 20), 15) = UP AND TREND(MACD(13, 26, 9, SIMPLE), 5) = UP Sell Signals # Продаем, если момент и инерция имеют однонаправленный тренд TREND(EMA(CLOSE, 20), 15) = DOWN AND TREND(MACD(13, 26, 9, SIMPLE), 5) = DOWN Exit Long Signal # Выходим, если тренд инерции и момента имеет противоположное направления TREND(EMA(CLOSE, 20), 15) = DOWN OR TREND(MACD(13, 26, 9, SIMPLE), 5) = DOWN Exit Short Signal # Выходим, если тренд инерции и момента имеет противоположное направления TREND(EMA(CLOSE, 20), 15) = UP OR TREND(MACD(13, 26, 9, SIMPLE), 5) = UP

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

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

Что еще: отладка на тестовом доступе

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

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

Полезные ссылки по теме инвестиций и биржевой торговли:

  • Открыть брокерский счет онлайн
  • Тестовый счет с виртуальными деньгами
  • Софт для торговли на бирже: торговый терминал, мобильные приложения
  • Структурные продукты
  • Модельные портфели

Источник https://fin-bank.com/roboty-dlya-zarabotka/780-kak-napisat-foreks-robota-instruktsiya-po-sozdaniyu

Источник https://www.azbukatreydera.ru/sozdanie-torgovogo-robota-forex.html

Источник https://habr.com/ru/companies/iticapital/articles/470233/