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

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

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

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

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

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

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

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

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

Этап 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

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

Заключение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как создать торгового робота своими руками? Robot-Scalper

Еще

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

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

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

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

Изучаем функции алготрейдинга (выставление и снятие заявок, получение текущих данных из терминала, механизм взаимодействия скрипта и терминала).

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

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

После этого можно смело браться за создание своего робота. Описываем логику на языке программирования и запускаем робота на демо-счете, для отладки. Исправляем баги или ошибки в логике алгоритма, если такие обнаружатся.

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

Робот Sigma

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

Тестируем. Анализируем сделки. Проверяем насколько корректно отрабатывает робот.

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

Если торговый терминал позволяет, то можно провести бэк-тестирование (тестирование на исторических данных). Либо даже форвардное тестирование. Об этом подробно написано здесь https://smart-lab.ru/blog/503560.php

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

Какие гарантии того что робот будет стабильно зарабатывать деньги?
– Никаких! Когда разрабатываешь робота, то не знаешь заранее будет ли данная стратегия прибыльная или нет. Только время покажет. Это как в любом другом бизнесе. Например, вы купили помидоры и стали их продавать. Какие гарантии? – Никаких! Если вы плохой бизнесмен, то ничего не продадите и помидоры просто протухнут. А если хороший бизнесмен, то будете в прибыли.
Так же и в трейдинге. Нельзя ставить сильно высокую цену на продажу, так как никто у вас не купит. И нельзя ставить сильно низкую цену на покупку, так как никто по такой цене вам не продаст.
Слишком близкие цены покупки и продажи тоже не будут вам выгодны, так как комиссия будет съедать большую часть прибыли. Во всём нужна золотая середина! Это понимание приходит с опытом.

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

Еще люди спрашивают, сложно ли развивать ваш проект «Робот Скальпер» и осуществлять техподдержку?
— Да. Сложно. Приходится отвечать более чем на 100 вопросов каждый день. Вопросы абсолютно разные. Не только по роботам. Это и базовые: как начать торговать, как открыть счет, сколько денег нужно и т.п., и нестандартные: вопросы по тарифам брокеров, по функционалу терминала QUIK, по данным от Мосбиржи и т.п.
Так как торговый робот для пользователя является конечным или финальным продуктом и если происходит сбой у брокера или в терминале QUIK или на бирже, то с точки зрения пользователя проблема всегда заключается в роботе! Это ведь он теперь работает не так как надо! И никого не волнует висит ли сервер брокера или поставляет ли Мосбиржа кривые котировки (нулевые цены и нулевую тек.позицию, при том что актив есть на балансе), отрубился ли интернет, заглючил или перезагрузился компьютер. Эти и другие проблемы приходится нам решать. Чтобы оказывать качественный сервис нужно знать гораздо больше, чем только алгоритм торговой стратегии.

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

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

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

Желаем добра и успехов в трейдинге!

Остались вопросы по роботам?
Обращайтесь в личку или на почту mail@robot-scalper.ru

Откроем Вам бесплатно брокерские счета: демо и боевой! С версией терминала QUIK 7.27!

С уважением,
команда проекта «Робот Скальпер»

Наш сайт: Robot-Scalper.ru
Почта: mail@robot-scalper.ru
Актуальная информация всегда есть в инстаграме: @robot_scalper

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

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

Источник https://smart-lab.ru/blog/531574.php