Как написать торгового робота, если вы – не программист? 8 шагов от идеи до реализации
Головной мозг трейдера функционирует не совсем обычным образом. Человек, далекий от финансовых рынков, действует рационально и предсказуемо. Когда же в дело вступает индивид, мыслящий исключительно свечными комбинациями, последствия предсказать гораздо сложнее. Как частное, сбитые жизненные приоритеты и повышенная импульсивность – известные пороки трейдеров. Сам процесс торговли становиться самоцелью, и биологический компьютер в недрах черепной коробки входит в бесконечный цикл, зависая на абстрактной идее идиллического существования и собственной яхты, пришвартованной у пирса набережной особняка.
Начнем с того, что сама по себе идея автоматизации собственной торговой стратегии не обеспечивает ни беспечного существования, ни избавления от насущных проблем трейдера. Если вы не имеете представления о том, как функционирует рынок, инвестирование времени и денег в создание робота не наполнит ваш банковский счет золотыми галлеонами, а скорее, вернет в жестокую реальность типичного среднего класса.
Итак, время, потраченное впустую – это опыт. Время – это деньги. Грубо говоря, тратя свое время, вы покупаете опыт. Но вы, как разумный человек, наверняка захотите сохранить лишнюю копейку, не ошибаясь там, где можно обойти грабли, тем более, если существует такая возможность. На этом моменте мне придется попросить немного вашего времени, дабы рассказать, как на самом деле стоит подготовиться к вопросу создания машины для печатания денег торгового робота, и, конечно же, как не наделать кучу ошибок.
1. Разработку форекс робота начинаем с идеи
Разработка робота для торговли на рынках – это непрерывный поиск идей и, как частное, поиск Святого Грааля. Вопреки утверждениям непросвещенных граждан, Грааль находится достаточно просто – скажем «спасибо» технологическому прогрессу. Попробуйте вбить в гугл «Святой Грааль Форекс» – скорее всего, советник вашей мечты находится на первой странице выдачи, к тому же абсолютно бесплатен.
Собственно, на этом рассказ можно было бы закончить. Если идеальный советник уже существует, зачем продолжать поиски? Но следом возникает второй вопрос: почему, если идеальный советник уже найден, в Африке до сих пор существует дефицит питьевой воды? Если ответ для вас очевиден, поздравляю, вы прошли первый этап становления трейдера разумного, преодолев уровень новичка или алгофанатика, не видящего перспектив своего развития, и нацеленных лишь на результат.
Уверен, идея вашего советника абсолютно уникальна и не имеет аналогов. Но, в любом случае, глупо не попытаться найти похожие разработки других авторов – масштаб проделанных исследований сложно оценить, пока не столкнешься с ним лицом к лицу. Человечество идет на пути к технологической сингулярности, и новые разработки внедряются настолько быстро, что осмыслить весь выложенный материал часто не представляется возможным. Если же подобных разработок все же не нашлось, и протестировать идею без проведения собственных исследований нельзя, пора переходить к следующему этапу.
2. 4 важных вопроса перед разработкой
Но перед этим попытайтесь ответить себе на следующие вопросы:
- В чем состоит ваша торговая идея?
- Какие задачи будет решать советник, и какое объективное преимущество это может дать в торговле?
- Возможно, вам нужен графический индикатор или вспомогательный скрипт?
- Насколько идея реализуема технически, и можете ли вы самостоятельно оценить ее сложность?
Это очень важные вопросы, которые не только помогут сэкономить немало времени, но и немного приблизят вас к пониманию собственной идеи. Наверняка, вы не пришли на рынок раздавать деньги нуждающимся, а имеете другие цели.
[info_block align=»right» linkText=»Форекс советники» linkUrl=»https://fortrader.org/forex-ea-testing/» imageUrl=»http://files.fortrader.org/uploads/2016/08/robot.jpg»]Исследование торговых роботов с возможностью скачать советника.[/info_block]
В идеале, вы должны досконально знать и понимать то, как функционирует выбранная вами торговая площадка и стратегия, на которой, собственно, вы будете зарабатывать. Любое расплывчатое определение или опускание неважных, на первый взгляд, моментов плохо обернется на следующих этапах разработки, и больно ударит по торговому счету. Не бойтесь воскрешать давно забытые торговые идеи, но и не старайтесь сыграть на одних готовых решениях. Рынок очень изменчив и по определению находится в постоянном движении, а конкуренция непрерывно ужесточается.
3. Конструктор советников – не проходим мимо!
У новичков на валютном рынке часто возникает множество вопросов, ответы на которые бывают не совсем очевидны, либо являются лишь вопросом неопытности оного. Будучи начинающим трейдером, достаточно прочитать одну книгу Билла Вильямса, чтобы на всю жизнь подменить понятие торгового хаоса торговым порядком. Затем такие люди удивляются, почему вот здесь да не купить, а вот здесь да не продать, и заказывают у программистов советник по пересечению двух скользящих средних. А ведь на начальных этапах обучения это вполне можно отдать на откуп готовым инструментам разработки. Одной из таких как раз является MQL5 Wizard – мастер по созданию советников для MetaTrader 5.
Для реализации простых вещей Мастер идеален. Вам не нужно обладать никакими магическими способностями – навыки программирования здесь не требуются. Несколько простых шагов, и советник готов. Уже готовый советник можно протестировать в том же терминале MetaTrader. Держите комбайн по производству простецких Граалей.
4. MQL5 Wizard. Сделать советник за 5 минут
Итак, для начала запускаем MetaTrader 5 и переходим в редактор приложений (кнопка F4). На верхнем меню жмем кнопку «Создать» и в появившимся диалоге выбираем генерацию нового советника.
Дальше нужно указать название советника и основные входные параметры.
Добавляем модули торговых сигналов. Модули могут быть как стандартные, так и разработанные сообществом (вы тоже можете поучаствовать в данном процессе).
Собственно, все стандартные сигналы хорошо описаны в онлайн справке на официальном сайте. Там же можно скачать и кастомные.
Выбрав подходящий индикатор нужно указать его входные параметры. Тут же можно обозначить вес сигнала по отношению к другим, если их много.
Обычный трейлинг стоп или закрытие сделки по значениям индикатора – на ваш выбор.
Также на выбор предлагается фиксированный лот, либо объем сделки в процентах от депозита. Для самых рискованных новоявленных программистов также есть мартингейл с его геометрической прогрессией лота, способной принести вам миллионы за пару лишних проходов в тестере стратегий.
Собственно, даже если вы не состоите в клане Метатрейдера, не страшно, наверняка уже написан конструктор под нужную вам торговую платформу. Дело, опять же, в возможностях и желании. Мораль проста: не стоит пытаться реализовать то, что уже давно реализовано. Игнорирование чужого труда может дорого обойтись, придумывать науку заново совсем не обязательно.
5. Хочу программировать непростого советника? Написание технического задания
Итак, вы уже обладаете некоторым торговым опытом, вы проверили свою идею в торговле или имеете точное представление о том, как она будет работать на реальном рынке. Значит, пора переходить к написанию формальных правил вашей стратегии. Часто на этом шаге начинаются проблемы у большинства последователей гуманитарных наук – люди сталкиваются с непреодолимой стеной непонимания, когда абсолютно идеально отработанная в голове схема перестает работать при переводе на технический язык.
Проблема эта настолько распространенная, что создала целую индустрию по переводу абстрактных идей на формальный язык четко структурированных правил, естественно, не бесплатно. На самом деле, при минимальной подготовке вы не столкнетесь с такой сложностью просто потому, что понимаете механизм работы шестеренок вашего форекс робота до самых мелочей, но некоторого труда разработка все же потребует.
По сути, правильно составленное задание – это уже половина работы. Однако, это не работа программиста. Если вы будете просить программиста написать задание за вас, будьте готовы натолкнуться на непонимание, в лучшем случае, и негодование в абсолютном большинстве ситуаций. Именно разработчик идеи несет ответственность за ее точную формализацию, а никак не реализатор – если хотите, переводчик на язык низкоуровневых команд.
6. Напишите мне советник по индикатору
Пример плохого задания для создания торгового советника – его отсутствие. Само намерение заказчика может быть и понятно: есть индикатор, нужно написать торгового робота, ну а дальше что?
[info_block align=»right» linkText=»Вникайте в процесс!»]»Старайтесь вникать в процесс работы и всего, что непосредственно касается реализации идеи вашего советника»[/info_block]
Как закрывать сделку? Как ее сопровождать? Какие выбирать объемы? Что делать с проскальзываниями и реквотами? Нужно понимать, что программист не обладает экстрасенсорными способностями. Если вы такого найдете, обязательно дайте знать, такие люди не должны пропадать.
Видя ТЗ на создание работа без нужных подробностей, фрилансер внесет свою интерпретацию и, в некоторых случаях, действительно может угадать реальные намерения заказчика. Но, как правило, такие обращения заканчиваются двумя обиженными сторонами и обращением в арбитраж с дальнейшим расторжением договора.
Мораль: чем больше подробностей вы предоставите в задании, тем легче его будет понять, осмыслить и, в конце концов, реализовать.
7. Выбор исполнителя
Если у вас нет опыта работы с фриланс-биржами, попробуйте представить себе субэкваториальную версию ада. На самом деле, не все так страшно, но некоторые нюансы все же стоит учитывать.
Во-первых, ценовая политика при написании советника может быть крайне неопределенной. Существует некоторый минимум, за который адекватный программист браться не будет, но, в то же время, значение этого минимума сильно плавает и временами минимум становится максимумом (да, так тоже бывает).
Слишком щедрым тоже быть не стоит, это сразу говорит о том, что человек при деньгах и с вас обязательно сдерут три шкуры за какую-то простецкую задачу. Если вы не понимаете стоимость задачи, попробуйте узнать ее у доверенных людей. Общайтесь с опытными разработчиками, даже если не собираетесь у них ничего заказывать. В дальнейшем, это поможет выявить, к кому обращаться можно, а к кому не стоит.
Во-вторых, не бойтесь спрашивать у разработчиков вашего советника, какие моменты для него непонятны, какие требуют уточнения, и в чем, собственно, состоит сложность той или иной части робота. Казалось бы, для вас в техзадании все понятно, и все же исполнители часто наталкиваются на принципиальное недопонимание.
[info_block align=»right» linkText=»Все в ваших руках»]»В ваших интересах контролировать процесс создания советника вашей мечты. Просите проводить промежуточные этапы работ, участвуйте в бета-тесте и не брезгуйте узнавать технические подробности.»[/info_block]
Один из типичных примеров – недопонимание форматов файлов и их значения. Вроде: «У меня тут есть .dll библиотека (.exe файл или .ex4 программа), не могли бы вы быстренько поправить то и то, а я вам за это копеечку закину? Нет? А почему? Василий мне сделал советника за 5 баксов, а вы плохой разработчик значит!».
Мораль: старайтесь вникать в процесс работы и всего, что непосредственно касается реализации вашей идеи. Это не только поможет лучше разобраться в работе робота самому, но и в дальнейшем упростит процесс общения с исполнителями. В работе всегда принимают участие, как минимум, две стороны, и если вы намерены сделать трейдинг своей основной профессией, терпение нужно беречь – и свое, и окружающих.
8. Сдача советника – включайтесь в работу!
Этап сдачи работы – самый сложный. Будьте уверены, каждый исполнитель с горя пьет успокоительный отвар, черным маркером отмечая день календаря, когда его в очередной раз просят поправить и без того исчерпавший все сроки заказ. Как и вселенной, совершенству нет предела, но в определенный момент нужно собраться и сказать – задача завершена.
Понимаю, для трейдера свет, отраженный от золотых гор, освещает создание передовой технической мысли и плода внутреннего гения в его безмерно красивом представлении. Как так, ведь советник, который не зарабатывает деньги, просто не укладывается в голове, и создает образ незавершенной работы. Как можно платить за то, что не работает?
Со стороны исполнителя же работа завешена ровно тогда, когда исполнены все пункты заказа. Техническое задание для программиста – это четко проведенная тропа, отходить от которой значит додумывать за заказчика. Иногда эта тропа заводит в тупик, как дорога из бывшей столицы Руси в либеральную Европу. То есть, на этапе приема работ выясняется, что задача, оказывается, состояла совсем не в том, а в кардинально обратном.
Если задача небольшая, исполнитель вполне может пойти на уступки, и исправить работу в соответствии с новым ТЗ. Если работа проделана масштабная – что-либо менять уже поздно. Частая проблема – тотальная отрешенность в процессе разработки, например, отказ от участия в бета-тестировании: «Зачем вы мне скинули советника с ошибками, я что за вас тестировать еще должен?» или: «Откуда я знаю, как этот ваш тестер запускать, я программист что-ли?».
[info_block align=»right» linkText=»Безопасный Мартингейл» linkUrl=»https://fortrader.org/learn/forex-trader/bezopasnyj-martingejl-kak-otdelnymi-elementami-martingejla-uvelichit-pribylnost-strategii.html» imageUrl=»http://files.fortrader.org/uploads/2016/07/coins-730×487.jpg»]Как отдельными элементами Мартингейла увеличить прибыльность стратегии?[/info_block]
Для адекватного человека такие заявления режут слух, исполнитель же впадает в депрессию. Разработка торгового робота – это, в первую очередь, работа. Если вы ищете готовое решение, существует магазин готовых советников, где советника за вас и протестируют, и вымоют до блеска, попутно документируя его историческую успешность. В таком случае, обращаться на фриланс-биржу не имеет смысла.
Мораль: не стоит отдавать все на самотек. В ваших интересах контролировать процесс создания советника вашей мечты. Просите проводить промежуточные этапы работ, участвуйте в бета-тесте и не брезгуйте узнавать технические подробности.
Заключение
Великие деятели, как Альберт Хофманн, не дадут соврать. Опыт создания своего продукта бесценен. Если же вы пришли на валютный рынок по собственному желанию, поверьте, это надолго.
Исследование закономерностей, поиск решений и их реализация навсегда изменяют восприятие мира, делая его картину более полноценной, а жизнь обретает дополнительный смысл.
На самом деле, разработка собственного советника – процесс крайне интересный. Даже если вы не собираетесь связывать свою карьеру с торговлей на финансовых рынках, полученные знания можно применить и в других областях. Торговля и разработка – это то, на чем держится вся современная экономика, и сегодня у вас есть возможность почувствовать в этом лично.
Вам также будет интересно
Fortrader Suite 11, Second Floor, Sound & Vision House, Francis Rachel Str. Victoria Victoria, Mahe, Seychelles +7 10 248 2640568
Комментарии (3)
Заинтересовался темой разработки и консруирования советников. Попал на этот сайт и с огромным удовольствием прочитал статью. Написано умно, бойко, с юмором и главное — без орфографических ошибок. Даже «ищете» написано правильно. Я уже настолько привык видеть вместо него «ищИте» , что даже глаз уже не режет. Деградирую?
Адаптируетесь к реалиям 🙂
Привет! Есть рабочая идея, нужно написать индикатор или советник со звуковым оповещением и с точками сигналами в нужных местах, построение сигнала с помощью индикаторов зиг заг, веера фибоначчи с моими настройками и тремя линиями фибоначчи, могу прислать скрины, чтобы было понятней, это лично моя стратегия, в интернете этого нет, если заинтересовало, пишите на почту
Как написать советника форекс
Хоть в интернете и огромное количество экспертов, все равно найдутся трейдеры, которые хотят найти ответ на то, как написать советник форекс собственными руками.
Конечно, такие вопросы возникают по той причине, что они не смогли найти достойный вариант в интернете и теперь сами пытаются создать советник, который будет полностью выполнять все их прихоти.
Но перед тем как узнать, как написать советник форекс, вам нужно определиться и с не менее важными вопросами.
Стратегия
Перед тем как начать создавать советник, вы должны определиться по какой стратегии он будет торговать.
Ведь именно ее вам придется заложить в алгоритм действий. А для этого нужно будет провести долгую и, конечно же, кропотливую работу.
Определите валютные пары, на которые будет распространяться ваша стратегия, после этого проанализируйте все котировки по валюте за несколько лет. После этого подберите и настройте индикаторы.
Продумайте ограничения советника и моменты входа – выхода с рынка. Ну и последнее продумайте оптимальные риски для своего эксперта.
При всем при этом, вам еще придется постоянно смотреть за тем, чтобы система действительно работала и все сделки реально проводились и совершались, а результаты работы советника можно было бы, потом спрогнозировать с большой точностью.
Ведь если вы создадите стратегию, которая будет открывать только безубыточные ордера, но при этом ждать полгода, то это не самый хороший результат.
Эффективнее всего использовать стратегию, которую вы уже успели проверить на протяжении нескольких лет. Если вы все еще хотите знать, как создать советник форекс, читайте далее.
Программирование и тестирование
Для того чтобы приступить к этапу программирования, все что вам будет нужно это владеть знанием языка MQL.
Если данные знания отсутствуют, то обратитесь к специалисту, но в таком случае, зачем вы читаете статью и том, как создать советник форекс, ведь ваш специалист и сам со всем справиться.
Ведь вы не будете спорить, что глупо терять весь депозит, из-за того что вы допустили элементарную ошибку в коде программы.
Вот вы и узнали, как создать советник форекс, но теперь наступает самый долгий процесс, а именно тестирование робота.
Именно на этом этапе работы вы сможете определить все преимущества и недостатки проделанной работы, выбрать оптимальные валютные пары и увидите конкретные результаты.
После тестирования составьте список багов и устраните их, отправив на доработку к программисту.
Процедуру нужно будет повторять до тех пор, пока все багги не будут исправлены и советник начнет приносить стабильный доход.
После этого можете переходить на реальный счет и торговать малыми депозитами.
Писать советник самому или использовать готовые модели?
Для того чтобы написать советник у вас уйдет от 6 месяцев и до года. Поэтому если вы не хотите уделять этому процессу так много времени, то просто скачайте готовый вариант торгового эксперта.
А вот стоит ли вообще иметь советник или нет, никто вам ответить не сможет, все зависит только от вас и ваших умений управлять роботом.
Ведь даже самый убыточный робот в умелых руках может приносить хорошую и стабильную прибыль.
Торговый советник на MQL4: учимся программировать с нуля
В этом руководстве по MQL4 вы научитесь программировать свой собственный торговый советник в MetaEditor.
Прежде чем мы начнем, убедитесь, что вы понимаете следующие типы данных. Каждая переменная, которую мы будем использовать, для начала должна быть определена одним из следующих типов данных:
- int – это обычное число. Например: 1, 15, 521.
- double – число с десятичным знаком. Например: 1,154, 0,0144, 255,145.
- string – строка, слово, фраза. Например: «Ордер на покупку», «Ордер на продажу успешно размещен».
- bool – принимает значения либо false, либо true.
Скоро вы увидите, как их можно использовать.
Торговый советник три белых солдата
Для того, чтобы создать свой собственный торговый советник, для начала вы должны переключиться на MetaEditor. Вы смоете сделать это, нажав на иконку MetaEditor. В MetaEditor нажмите «Создать» и выберите «Советник (шаблон)». В следующем окне напишем имя нашего эксперта, нажмем на кнопку «Далее» и добавим первые стандартные переменные, нажав на кнопку «Добавить».
Мы добавим TakeProfit, StopLoss, LotSize, Slippage и MagicNumber. Все они являются типом int, кроме LotSize. LotSize должен иметь тип double.
Затем нажимаем «Далее» и «Готово». Мы видим, что MetaEditor сгенерировал файл с вашими предопределенными переменными.
Вы можете увидеть 3 области. Области OnInit(), OnDeinit() и OnTick(). Весь код, который вы пишете, попадает в одну из этих областей.
Код, который мы хотим вызвать, если прикрепим советник к графику, выполняется в области OnInit(). Код в OnDeinit() выполняется, когда мы отсоединяем советник. И, наконец, область, в которой мы будем работать больше всего – область OnTick(). Функция OnTick() вызывается каждый раз, когда мы получаем от брокера новую цену (тик) торгового инструмента, к которому прикреплен советник.
Если вы скомпилируете советника с помощью F7 и вернетесь в Metatrader, вы сможете найти советника в «Навигаторе» MetaTrader (Crtl + N). Если вы попытаетесь присоединить его к графику и перейдете на вкладку «Входные параметры», вы сможете увидеть наши предопределенные переменные.
Мы научимся программировать советника, который торгует по паттерну 3 белых солдата. Это простая стратегия, когда советник открывает сделку на покупку, когда последние 3 свечи были бычьими. Давайте начнем!
Добавим следующие строчки кода:
Для этой стратегии мы используем предопределенную переменную Close[], который является типом double. Close[] дает нам цену закрытия (например, 1.24577) для каждого свечи текущего графика. Close[0] означает текущую цену закрытия. Close[1] – предыдущую цену, и так далее. То же самое справедливо для предопределенных переменных Open[], Low[] и High[].
//Ордер на покупку – это подсказка для нас, что мы создали здесь функцию открытия ордера на покупку. Две обратных черты (//) означают, что эта строка закомментирована. Советник будет игнорировать ее при компиляции.
Если вы поместите курсор на предопределенную функцию или переменную и нажмете F1, откроется справка по MQL4, где вы сможете прочитать, что делает эта данная функция или переменная.
Далее мы используем функцию OrderSend, чтобы отправить ордер на покупку нашему брокеру. Добавим следующий код:
Что из себя представляет функция OrderSend?
- _Symbol – возвращает текущий торговый инструмент, к которому прикреплен советник.
- OP_BUY – мы хотим открыть ордер на покупку.
- LotSize – размер лота, который мы определили в самом начале.
- Ask – текущая цена Ask, по которой открываются ордера на покупку.
- Slippage – размер проскальзывания.
- StopLoss – это наш StopLoss. Или цена Ask за вычетом цены StopLoss. Запомните, что StopLoss – это целое число (500 пунктов), а Ask – это цена (например, 1.20521). Теперь, чтобы вычесть стоп-лосс из цены Ask, мы должны умножить его на 0,00001 или 0,001. Мы делаем это с помощью предопределенной переменной _Point, которая отражает текущие значением пунктов торгового инструмента.
- TakeProfit – то же самое, как и StopLoss.
- Комментарий – комментарий, который должен появиться в журнале, когда торговый советник разместит наш ордер.
- MagicNumer – магическое число, которое было определено нами вначале.
Нажмите F7, чтобы скомпилировать советник и проверить результат его работы в тестере стратегий. Вы получите что-то вроде этого:
Наш торговый советник выставляет ордера на покупку на каждом тике, если 3 последних бара были бычьими. Это не то что мы хотим, но, по крайней мере, что-то происходит.
Мы должны запрограммировать новую функцию, которая позволит нашему советнику одновременно открывать только одну сделку. MQL4 уже имеет свои предопределенные функции, например, OrderSend(). Но мы также можем написать свою собственную функцию, в которой мы можем вызвать другие пользовательские или предопределенные функции.
Давайте перейдем к концу нашего файла и запрограммируем новую функцию под названием TotalOpenOrders. Эта функция будет иметь тип int. Она будет возвращать количество открытых ордеров.
Затем добавим данную функцию в область OnTick и добавим проверку на количество открытых ордеров. Если общее количество сделок равно 0, наш торговый советник продолжает свою работу с кодом внутри скобок.
Что из себя представляет функция TotalOpenOrders?
В этой функции у нас есть счетчик (total_orders), который в конце возвращает общее количество открытых ордеров. Также у нас есть цикл for, который перебирает все открытые ордера. Если советник найдет ордер, соответствующий вашему символу и MagicNumer, счетчик увеличится на 1 (это записывается с помощью ++).
Теперь у нас все еще есть проблема. Если свеча слишком длинная, советник открывает вторую сделку на покупку непосредственно после того, как первая сделка на покупку закрывается с помощью StopLoss или TakeProfit. Мы должны добавить вторую функцию «IsNewBar».
Эта функция будет представлять тип bool. Она вернет true, если в Metatrader сгенерирована новая свеча, иначе она вернет false.
Давайте поместим эту функцию прямо над функцией TotalOpenOrder и вызовем ее в области OnTick вместе с TotalOpenOrders().
4-5 или 2-3 значные котировки
Давайте разберемся с проблемой котировок, которые могут предоставлять нам разные брокеры.
Сейчас мы используем предопределенную переменную _Point для преобразования TakeProfit и StopLoss. Но мы хотим создать функцию, которая предоставит нам одинаковое значение для 4 и 5 и соответственно 2-х и 3-х торговых инструментов. Для начала мы создаем глобальные переменные MyPoint и MySlippage. Поместим их прямо под нашими входными параметрами:
Теперь мы создаем функцию, которая сохраняет правильное значение в этих 2 переменных (MyPoint и MySlippage) и помещаем их в наши пользовательские функции:
Мы должны рассчитать эти значения только один раз. Только когда мы прикрепляем наш торговый советник к графику. Поэтому мы вызываем эти функции в разделе OnInit():
Теперь мы можем возвратить наши TakeProfit, StopLoss и Slippage к номальным значениям:
Далее мы заменяем все Slippage и _Point в функциях OnTick нашими 2 новыми глобальными переменными MyPoint и MySlippage. Таким образом, функция OrderSend будут выглядеть следующим образом:
Торговый советник и ECN брокеры
На ECN брокерах мы не можем отправить ордер с TakeProfit или StopLoss. Сначала нам придется отправить наш ордер без них, а затем изменить его.
Сначала мы сохраняем номер тикета из только что открытого ордера в переменной int ticket. Затем мы проверяем, получен ли мы данный ticket от нашего брокера. Далее мы вызываем функцию OrderModify. Функция OrderModify возвращает true или false, которые мы сохраняем в переменной bool res. Мы проверяем результат с помощью if (! Res) (так же, как if (res == false)) и выводим соответствующее сообщение.
Особенности создания советников для торговли на Форексе
Уважаемые трейдеры, задумывались ли вы когда-нибудь о том, как создать советник для мт4? И как раз создать, а не заказывать его у специалистов по программированию. В действительности же этот вопрос не такой уж и замысловатый. Но его достоинства бесспорны: можно сэкономить на услугах фрилансера и заполучить возможность в дальнейшем формировать личные торговые советники. Ко всему знания и умения никуда не денутся. И это не говоря уже о наслаждении результатом самостоятельного создания рабочего советника, который сможет с течением времени давать финансовый заработок с Форекс в автоматизированном режиме.
Создание советника
Вначале вам необходимо овладеть начальным багажом знаний языкового программирования, скачать книги с описанием которых, можно на специализированных сайтах (найти их в интернете легко).
Также начинающим трейдерам окажет помощь справочная информация, которую можно вызвать клавишей F1 терминала и редактор MetaQuotes Language. Его откроет клавиша F4 терминала. Можно анализировать и пошагово изучать уже имеющуюся программу, используемые команды, принципы их функционирования и т.д. Есть возможность также начать изучение базы с составления элементарного алгоритма торговли, чтобы в будущем на имеющуюся “основу” складывать написанные команды или преображать имеющиеся. Т.е. от простого – к более сложному.
Также создание советника для mt4, без всякого сомнения, потребует указаний и рекомендаций биржевых торговцев, имеющих некоторые навыки и умения в этой сфере. Массу полезной информации можно отыскать на форумах программистов, которые пользуются языком MQL4 или MQL5. Здесь также доступны информационные данные, касающиеся всех вопросов создания торговых советников.
Советник – рекомендации опытных торговых биржевиков
- Как только появляется возможность протестировать сформированную готовую часть кода или функции – делайте это незамедлительно. Ведь как только программа преобразить до крупных размеров, этот процесс будет усложнен;
- Части кода, которые воспроизводятся с определенной периодичностью, оптимально зарегистрировать отдельными функциями;
- Не стоит стремиться написать приемлемый код. Для начала стоит создать тот, который будет безошибочно функционировать, даже если он будет непрезентабельным или массивным. В дальнейшем это корректируется путем кодовой оптимизации;
- Не стоит стыдиться использования собственных алгоритмов, создавая советник своими руками для Форекс, несмотря на готовые наиболее усовершенствованные коды. Ведь все-таки преимущество отдается грамотности работы программы, что не имеет смысла без понимания функционирования алгоритма. Разработанные же вами коды будут наиболее доступны и проще в оптимизировании.
Проблема отладки
Создать индикатор или эксперт, обладая языком MQL4 и зная принцип встроенных в него функций – совсем нетрудно. Другое дело имеет отношение к безошибочной работе, ведь на отладку готовой программы отводится масса времени.
Отладка представляет собой безынтересный процесс кустарного анализа результатов торговли эксперта, анализ логов и последующую коррекцию кода. Если советник MQL4 простой, вопросов не возникнет. Однако существуют и усложненные механические торговые системы, имеющие огромные многострочные в несколько тысяч, программные коды. Поэтому для реального функционирования, торговые программы обязаны быть незамысловатыми и бесхитростными для восприятия. Так советник сможет осуществлять корректную торговлю согласно заданному алгоритму. Это идеальный инструмент для торговых стратегий, как, например, новостная торговля или торговля на пробой.
Помимо этого, создание эксперта – творческий процесс, ведь все задумки начинаются в голове, и лишь затем цифры программного кода переходят в компьютерный файл, за которой происходит отладка, проверка работоспособности и программная оптимизация.
Упрощение создания советника
Адаптировать данную задачу можно несколькими способами: использовать специальные программы или готовые блоки, которые разработаны своими силами и биржевыми торговцами.
Первый способ основан на использовании альтернативных программ, которые облегчают процесс создания советника, подобные настройкам в приложениях Windows, где каждый шаг доходчиво изложен для восприятия даже начинающим программистам.
Второй вариант предусматривает части кода программ, которые возможно отыскать на описанных вначале текста форумах, либо созданные самостоятельными силами. Самое важное – вы должны разбираться в работе этой части программы и изучить базис языка MQL4.
Программа для написания Форекс советников System Creator
Введение
Разработать собственный советник-робот можно двумя путями:
- Изучить язык платформы, где будет использоваться будущий автоматический советник, и написать робота для алгоритмической торговли
- Создать советника через специальный конструктор советников (профессиональное программное обеспечение для построения советников)
В этой статье речь зайдёт об универсальном конструкторе с широким функционалом для создания автоматических торговых советников под названием System Creator. Это простое и удобное программное обеспечение поможет трейдерам легко и быстро создавать настоящие рабочие роботы для торговли на рынке Форекс.
Спецификация конструктора System Creator
Это альтернатива кодирования стратегий на языке MQL. При помощи System Creator можно создать советник FX (расшифровывается как Forex Expert Advisor) без навыков программирования. Использование конструктора даёт явные преимущества перед ручным кодированием. С помощью этой программы трейдер может тестировать методики, надёжность советников и рыночных стратегий, а также проводить оптимизацию перед фактической торговлей.
Написание простого советника FX занимает у разработчика пару недель. Как только советник будет готов, следует провести тестирование на исторических данных. Что затребует дополнительное время и не факт, что будут учтены все нюансы и каким образом нужно будет оптимизировать торговлю по готовому советнику. При использовании программы для написания советников System Creator тестирование отображается непосредственно при построении стратегии.
Возможности System Creator
Структурированный по функциональным категориям интерфейс конструктора русифицирован. График отображается с возможностью корректировки настроек и позволяет отслеживать эффективность вносимых изменений.
Функционал конструктора:
• Конструктор поможет создать и редактировать автоматических советников для Mt4 в интуитивно-понятном графическом интерфейсе
• Возможно применить большое количество разных критериев, чтобы сгенерировать или оптимизировать робота для используемой рыночной стратегии
• System Creator делает возможным экспортировать стратегии в качестве советников (как для MT4, так и для MT5)
• Встроенный оптимизатор стратегий помогает отсортировать торговые методики и разобраться с критичными параметрами для оптимизации роботов
• В конструкторе есть модуль тестирования на основе исторических данных, а также отчёт, журналирование ордеров и сделок, подробные графики индикаторов и счёта
• Возможно запустить тесты при помощи нескольких способов интерполяции (Мультирыночные тесты или тестирования Монте-Карло)
• Портфель стратегий отслеживает оптимальность комбинированных стратегий по различным статистическим сведениям
• Просматривать, сортировать и редактировать большое количество стратегий одновременно
• Сохранять пользовательские технические индикаторы, стратегии и дополнения
- Собрать совершенно уникальный советник
- Тестировать роботы по различным методам
- Улучшить или изменить готовый торговый робот
Начало работы с конструктором System Creator
Конструктор можно скачать на официальном сайте по адресу: https://forexsb.com/forex-strategy-builder (с пробным периодом 14 дней).
После установки программы необходимо сменить язык интерфейса на русский язык в меню VIEW, вкладка Language:
Следующим шагом будет загрузка исторических данных — вкладка «Исторический центр» в окне программы, также можно нажать соответствующий пункт в меню «ВИД»
Есть три варианта загрузки данных по котировкам:
- Загрузка данных с указанного каталога(папка с заранее выгруженными данными)
- Импорт данных JForex — источник база высокоточных данных Ducascopy
- Импорт MT4 HST — истории котировок из терминала MetaTrader
Для двух последних вариантов нужно указать директории «входного каталога»(папка с файлами исторических данных) и «выходного каталога» (папка, где будут размещены преобразованные файлы для работы в конструкторе).
Дальше можно приступать к созданию советника по стратегии — во вкладке «Начальная страница» кликаем на кнопку «Новая стратегия»:
Появится вкладка, в которой можно собрать новый автоматизированный советник. В этой вкладке слева будет меню этапов разработки, а в основном окне весь доступный функционал настроек:
Самым главным условием для начала работы в конструкторе будет корректная загрузка исторических данных. Выполнение этой опции открывает обширный функционал возможностей этого программного обеспечения. Вероятно, пользователи столкнуться с разными затруднениями по настройке различных параметров, в этом случае нужно найти форум пользователей программы в рунете или использовать форум официального сайта для решения проблем по использованию ПО.
Функция Генератор в System Creator
Помимо этапов создания, тестирования и оптимизации, в конструкторе заложена функция «Генератор», при помощи которой трейдер может сгенерировать массу вариантов торговых стратегий. Он работает по историческим данным брокера, который трейдер выбрал для использования. С заранее определёнными правилами и критериями генератор вырабатывает десятки стратегий, из которых трейдер может отобрать оптимальные варианты.
Сгенерированные стратегии хранятся в коллекциях — меню «Вид», пункт «хранилище».
После того как были сгенерированы варианты стратегий по подобранным параметрам для определённого актива, пользователь производит выборку для дальнейшего тестирования. Выбор заключается в том, какую стратегию стоит экспортировать в качестве советника. Конструктор предоставит результаты Backtest по выбранному тестируемому периоду. Также мы видим чистую прибыль каждой стратегии, показатель качества методики, коэффициент прибыли и многие другие параметры.
Функция Оптимизатор в System Creator
Готовый к экспорту советник лучше всего подвергнуть процедуре оптимизации в конструкторе — это третий пункт в списке функций конструктора под названием «Оптимизатор»
Данную функцию лучше не игнорировать, так как она позволит оптимизировать любые готовые стратегии под конкретный актив (допустим, USD/CHF) и этим самым добиться «оптимального эквити» для инструмента. Все результаты по оптимизированным советникам также можно сбросить в «хранилище» перед дальнейшим тестированием. Помимо этого, механизм оптимизации не затребует много времени, что является одним из преимуществ в System Creator.
Тестинг стратегий и советников в конструкторе
Как пользователь удостоверится в работоспособности созданного в конструкторе автоматического советника?
Первый способ: трейдеры могут проверять стратегии, экспортируя их в качестве экспертов и помещая их в терминал Metatrader для дальнейшего тестирования. Результаты должны совпадать.
Второй способ: можно будет выполнить, разместив на демо-счете (или реальном счёте) и оставить для торговли на несколько ордеров. Затем импортировать свежие исторические данные в конструктор и сравнивать результаты сделок.
Однако, прежде чем проводить такие тесты, следует использовать заложенные в System Creator функции тестирования. Пользователю доступны три различных метода в группировке функций под названием «Анализ»
Заключение
Сама последовательность действий по созданию автоматического советника при помощи System Creator не вызовет особых затруднений. Тем не менее использование специального ПО для создания алгоритмических Форекс советников подразумевает понимание множества принципов торговых стратегий.
Полезность данного программного продукта, подтверждают размещённые трейдерами в интернете многочисленные отзывы. В первую очередь участники рынка акцентируют внимание на лёгкости освоения данного редактора. Сильным преимуществом будет вычисления графиков в реальном времени и чёткой индикации периода стагнации.
Конструктором роботов лучше пользоваться трейдерам с чётким представлением о рынке и пониманием закономерностей колебания цен. Хорошие знания и практический опыт позволят собрать универсальный профитный автоматический советник в кратчайшие сроки. Тестирования результативности торговых роботов подскажут трейдерам где и как лучше оптимизировать личные установки (риск-менеджмент, распорядок и алгоритм торговли).
Однако начинающим можно также посоветовать разобраться с System Creator, и по описаниям торговых методик научиться создавать роботов для торговли на рынке Форекс. Это поможет научиться видеть закономерности рынка и такой подход в освоении знаний по торговле на Форекс может быть быстро оправдан.
Скачать System Creator
Как написать Форекс советник самому? Правильные советы начинающим. Как заказать написание советника по вашей стратегии
Не секрет, что среди трейдеров есть такие, кто сам не открывает сделки, а поручает это специальным программам, в которые уже заложен весь необходимый алгоритм торговой системы.
Эти программы называются форекс советники , или по-другому торговые роботы. Самый эффективный форекс советник этот тот, который написан именно для Вас — по Вашему заказу и личным пожеланиям.
Наш сайт предлагает Вам услуги программирования торговых систем (советников, индикаторов) на заказ. Разработка ведётся на языках mql4 и c# . Если у Вас есть прибыльная торговая стратегия и Вы хотите написать по ней советника, Вы можете его заказать нашему программисту за умеренную плату.
Советники на заказ пишет для нас профессиональный программист, практикующий трейдер, имеющий богатый опыт в этой сфере. Мы предлагаем программирование советников и индикаторов форекс на заказ для торговых платформ MetaTrader4 и cAlgo .
У нас Вы можете заказать написание советника или индикатора для:
- Метатрейдер4 (МТ4, язык программирования mql4)
- Метатрейдер5 (МТ5, язык программирования mql5)
- cAlgo (язык программирования C#)
- NinjaTrader (язык программирования C#)
- ActTrader (язык программирования Pascal)
- ThinkOrSwim (язык программирования Java)
Советник на заказ : помните, что благодаря грамотно написанным форекс советникам трейдер освобождается от почти всей своей рутинной работы, например, отслеживание торговых сигналов или расчёт уровней стоп-лосса и тейк-профита легко сделает за вас советник форекс. Он сам может открывать и закрывать сделки.
В нынешних реалиях валютного рынка, когда всё больше и больше в торговле участвуют полностью автономные роботы, FOREX становится всё менее предсказуемым и вручную торговать всё сложнее и сложнее.
Заказывая советник у нас , Вы можете рассчитывать на отличное качество выполненной работы, сжатые сроки и поддержку заказчика после сдачи работы, в плане установки и настройки советника. Все работы всегда доводятся до логического завершения и до того состояния, которое полностью устраивает заказчика. Все работы перед отправкой клиенту проходят предварительную проверку в тестере и в реальном времени. Предварительное согласование техзадания возможно по скайпу MqlProger или ICQ 330-249-601, но в любом случае ТЗ в письменном виде должно быть сформировано заказчиком и отправлено на email.
Доработки в рамках ТЗ производятся оперативно и бесплатно. За новые доработки, не включенные в изначальное задание плата взимается отдельно.
Рабочее время с 10.00 до 19.00 МСК, кроме выходных. Ваши заказы на советники и индикаторы принимаются круглосуточно, программист обрабатывает их в рабочее время.
Обратите внимание, вышел новый 600 билд Метатрейдер 4, подробнее читайте в разделе статей, в котором установка советников и индикаторов производится принципиально по другому в отличие от старых билдов. Все советники, которые Вы заказываете у нас для терминала МТ4, будут готовы к использованию на последних билдах, в том числе билд 600 и выше.
Советники на заказ для других терминалов также пишутся на самом современном оборудовании и с использованием последних сборок и обновлений торговых терминалов.
Внимание! Неточности в коде, допущенные по вине программиста, исправляются бесплатно.
Доброго времени суток, товарищи форекс трейдеры!
Ни для кого не секрет, что если трейдер какое-то время работает по правилам своей ТС — изо дня в день, из недели в неделю, из месяца в месяц — то он очень неплохо знает порядок работы, особенности торгового инструмента, получает опыт с каждой завершенной сделки. И со временем эта рутина начинает немного надоедать — так как все действия постоянно повторяются и нет ничего нового. Вот тут то и приходит идея — а почему бы не автоматизировать свою стратегию и не переложить все алгоритмы работы, или хотя бы их часть, на советника? Но как быть, если вы не владеете никакими языками программирования? Из сегодняшнего материала вы узнаете, где найти программиста для автоматизации стратегии, как правильно составить техническое задание (без которого действия специалиста будут затруднительны), сколько и как платить за работу и на что стоит обратить особое внимание.
Где искать программистов?
MetaTrader – это по истине флагманский терминал по расширяемости и доступному функционалу в своем классе. В подтверждение этому огромная библиотека индикаторов, экспертов и скриптов, которые позволяют делать с терминалом все, что вы только можете пожелать. Все это благополучие в полной мере заслуга компании MetaQuotes , чья команда регулярно занимается реализацией продуманных и простых в использовании сервисов, упрощающих жизнь как обычным трейдерам, так и программистам, использующим данную платформу.
Само собой, у каждого есть собственная уникальная в своем роде идея, как стоит использовать обширные возможности торгового терминала. Собственный торговый эксперт, торговая панель, индикатор или скрипт – все это требует работы квалифицированного программиста. Но что, если вы не знаете ни одного языка программирования? Ответ очевиден – заказать на фриланс бирже. Лучшим местом для этого будет сервис MQL5 Jobs, созданный компанией MetaQuotes специально для разработки приложений для терминалов / .
Проверка идеи
Для начала следует определиться, что именно вам нужно. То есть хотите вы сделать торгового робота, индикатор или вспомогательный . Если вы еще не уверены, как конкретно должно выглядеть финальное решение, следует подробно описать задачу, и вам обязательно предложат одно из возможных ее решений.
Если мы говорим о разработке полноценного автоматического советника, то самая частая причина разочарования заказчиков – это убыточность их . Следует понимать, что исполнитель никоим образом не отвечает за прибыльность разрабатываемого им советника. Его задача – четко следовать обговоренному техническому заданию, не отходя от него ни на миллиметр. Поэтому, если вы получили готового советника и, протестировав его, поняли, что тот не зарабатывает, значит, проблема в алгоритме советника, а не в том, как его реализовал разработчик.
Часто проблема объясняется тем, что заказчики не слишком трепетно относятся к проверке идеи на истории, либо вовсе берут техническое задание из какой-либо статьи в интернете. Если вы проверяете стратегию , используйте разные участки истории. Часто проверяет лишь на одном участке, либо заведомо пропускают убыточные сделки, убеждая себя, что их можно было спокойно фильтровать «на глазок». Из-за этого заказчик в итоге и получает совершенно неожиданный для себя результат.
Типичной причиной ссор на этой почве становится желание заказчика «по-быстрому» доработать идею, пока исполнитель еще «горячий». Часто объем работ переходит по размеру на новый заказ, и дело заканчивается обращением в арбитраж. Поэтому, всегда цените свое время и время того, кто исполняет ваш заказ, и избавьте себя от желания сделать несколько «небольших бесплатных изменений» на последних этапах работы.
Не бойтесь спрашивать у разработчиков уточняющие технические вопросы. Например, можно ли применить в стратегии индикатор без исходных кодов, что такое перерисовка, может ли торговать на разных и символах – все это самые распространенные вопросы среди новичков.
Написание технического задания
Самый сложный этап для новичков – это написать правильное техническое задание. Многие даже не знают, с чего начать. Главное правило – задание должно быть полностью самодостаточным и максимально подробным. Без соблюдения этих двух моментов вы рискуете получить недопонимание со стороны исполняющего ваш заказ. В таком случае всегда старайтесь доработать ТЗ уже в ходе обсуждения заказа с исполнителем, чтобы вы были максимально уверены в правильной и, главное, одинаковой интерпретации с обеих сторон.
Само собой, начать следует с общей идеи. Если это торговый советник, попробуйте описать, какие индикаторы в нем используются (и по какому принципу) или на чем основано принятие решения о входе в сделку. Далее, каким образом устанавливается лот позиции, по какому принципу позиции закрываются, нужен ли или . Дальше, какие требуются входные параметры, на что это будет влиять, и какие дополнительные функции вы хотите реализовать в своей идее.
В то же время абсолютно точно не стоит давать программисту ссылку на обсуждение стратегии на форуме или длинное видео с . Вы должны понимать, что у исполнителя нет времени на выяснение подробностей вашего задания. Все должно быть подробно, но при этом без ненужных повторений, и иметь единственную возможную интерпретацию.
То же самое касается любых других типов работ. Если это индикатор, вы должны представить точную формулу его расчета. Также нужно заранее обговорить его внешний вид, способ отображения дополнительных данных, возможность в тестере и так далее. То есть, глядя на такое задание, исполнитель должен полностью понимать идею и иметь возможно ее реализовать точно в таком представлении.
Как делать не нужно:
Требуется советник на основе ATR и фракталов. Открываем сделку при появлении большой свечи возле уровня фрактала. Лот прогрессирующий, зависит от денег на счету. Также нужен динамический стоп лосс и тейк профит.
Пример правильного ТЗ:
Требуется написать советник на основе Билла Уильямса и индикатора . Во входных параметрах должна быть возможность указать коэффициент риска, период ATR, а также минимальные значения стоп лосса и тейк профита.
Входим в позицию на покупку, если свеча с телом в 200% от текущего значения ATR закрывается выше уровня последнего верхнего фрактала. Маржа по позиции должна соответствовать установленному коэффициенту риска от эквити. из позиции осуществляется по стоп лоссу или тейк профиту. Значения стоп лосса и тейк профита берутся из текущих показаний ATR, но они должны быть не меньше значений, указанных во входных параметрах.
Создание заказа
В первую очередь, нужно создать новый заказ. Для этого переходим на сайт MQL5.com , регистрируемся, если вы этого еще не сделали, и переходим в раздел «Фриланс». Для создания новой задачи кликаем по ссылке «Новая работа».
- Впишите название работы. Например: «Требуется написать советник» или «Нужен индикатор»;
- Выберите категорию и укажите версию платформы (MQL4 или MQL5);
- Если ранее вы уже что-то заказывали и хотите продолжить работу с тем же разработчиком, вы можете создать персонализированный заказ, указав в этом поле имя исполнителя;
- Укажите примерную стоимость работы. Если вы еще не определились с бюджетом, можете оставить поле пустым и выяснить стоимость в ходе обсуждения заказа с разработчиками. На этом этапе вы указываете лишь ориентировочную стоимость, но в то же время не стоит указывать слишком малую цену или слишком завышать порог. Если в первом случае вы можете вовсе не получить откликов, то во втором исполнители могут наоборот затребовать слишком много;
- Здесь укажите примерные сроки выполнения работ. Старайтесь всегда указывать в задании, есть ли срочность в выполнении работы. Разработчики далеко не всегда следуют установленным срокам, поскольку много неучтенного времени может уходить на тестирование и исправление ошибок. Естественно, за срочное задание исполнитель может потребовать большую стоимость;
- Самая важная часть. Здесь стоит подробно расписать задачу. От того, на сколько правильно составлено задание, во многом зависит финальный результат.
Чуть ниже вы можете прикрепить файлы, если требуется. Например, это могут быть пояснительные картинки или другие файлы, непосредственно касающиеся выполнения работы. После заполнения формы нажмите «Добавить», чтобы создать новый заказ.
Общение с исполнителями
После создания новой заявки на нее начнут откликаться исполнители. При получении нового сообщения в работах, в верхнем тулбаре появится иконка портфеля. Кликните на иконку, чтобы перейти к обсуждению. На начальном этапе нужно обсудить все вопросы, касающиеся деталей выполняемой задачи, стоимости и сроков. Для выбора исполнителя наведите курсор на заявку и нажмите «Перенести в: Выбранные».
Выбирая исполнителя, старайтесь обращать внимание на его стаж работы и отзывы предыдущих заказчиков. Стоит обратить внимание на стоимость выполняемых заказов – множество заказов по 10$ может говорить о недостаточном профессионализме разработчика. Также, хорошие исполнители всегда стараются пойти навстречу, объяснить, если что-то непонятно, или же дать ссылку на нужные материалы. Также, по возможности плюсом будет наличие дополнительных контактов для связи и, в принципе, скорости ответа на сообщения. Это говорит о том, на сколько исполнитель заинтересован в работе.
Для выполнение работы можно выбрать только одного исполнителя. Если вы изменили свое решение и выбрали другого, первый будет удален из группы «Выбранные». По нажатию на иконку портфеля откроется страница заказа. Заявки исполнителей делятся на четыре группы: Выбранные, Кандидаты, Отклоненные и Новые.
Процесс выполнения заказа состоит из шести этапов, подтверждаемых обеими сторонами. Ваша главная задача – не стесняться обговаривать все подробности выполняемой работы как на первом этапе, так и на последующих. Бывает, что одни и те же понятия люди интерпретируют по-разному. Поэтому, чтобы избежать недопонимания, постарайтесь убедиться в том, что задание понято верно.
Шаг 1: Соглашение о работе
После переноса исполнителя в группу выбранных с вашей стороны необходимо подтвердить факт предоставления работы и согласиться с правилами сервиса. На данном этапе заказчик подтверждает согласие с правилами работы сервиса, а исполнитель подтверждает принятие работы. Отметьте указанные галочки и нажмите «Далее».
После этого в журнале появится соответствующее сообщение.
Шаг 2: Подтверждение ТЗ
На этом шаге необходимо полностью утвердить техническое задание. Постарайтесь обсудить все нюансы предоставления прототипа и финального результата. Например, нужны ли вам исходные коды или с помощью каких решений будет выполнено задание.
По результатам обсуждения финального ТЗ с исполнителем у вас есть возможность скорректировать стоимость работы и срок ее выполнения, перед тем как подтвердить ее окончательно. Также, вам нужно приложить ТЗ отдельным файлом. Этот файл будет использоваться в случае разрешения спорных ситуаций через Арбитраж.
Введите в соответствующие поля обговоренные стоимость, сроки и нажмите «Далее». После подтверждения условий исполнителем работа будет перенаправлена на шаг предоставления прототипа, а на вашем счету будет заморожена сумма в размере стоимости работы. Перевод денег исполнителю будет осуществляться только на последнем шаге.
Шаг 3: Предоставление прототипа
Прототип или макет, как известно, должен давать представление о том, как будет работать готовое приложение. На этом шаге можно утверждать наличие и количество входных параметров, внешний вид индикатора, либо подтвердить дизайн интерфейса торговой панели. Исполнитель отправляет заказчику прототип, который тот должен подтвердить, после чего в журнале отобразится соответствующее сообщение.
Если же какой-то момент в прототипе вас не устраивает, или тот сильно отличается от обговоренного ранее задания, вы можете потребовать доработки прототипа, указав свои замечания по поводу доработок. Доработки могут быть только если прототип не соответствует обговоренному ТЗ. Если же на этом шаге вы вдруг обнаруживаете, что вам нужно нечто совершенно иное, вам необходимо обсудить стоимость дополнительных работ с разработчиком, так как некоторые изменения могут обернуться полным переписыванием исходного кода программы.
Если произошло обратное, и исполнитель утверждает, что предоставил готовое решение, на самом деле, не выполнив при этом все пункты, указанные в ТЗ, вы можете обратиться в арбитраж за помощью в решении спорной ситуации. На самом же деле, если задание простое и исполнитель сразу готов предоставить полностью рабочее решение, этап предоставления прототипа можно вовсе пропустить.
Шаг 4: Демонстрация
Это заключительный этап, на котором исполнитель должен предоставить полностью рабочее решение. В решении должны быть реализованы все требования, указанные в ТЗ, а также дополнительные условия, выясненные в процессе обсуждения задачи. Конкретно, в каком виде предоставляется решение зависит от вида задания. Это могут быть тест советника в тестере стратегий, исходные коды или логи в журнале. Также, заказчик может запросить демонстрацию работы приложения в режиме видеоконференции или пояснение работы некоторых моментов. В любом случае, если на этом этапе вам понадобятся какие-либо доработки, вам необходимо будет создать для этого новый заказ.
/>Если по какой-то причине предоставленное решение не выполняет всех функций, оговоренных в техническом задании, вы всегда имеете право обратиться в арбитраж за решением ситуации.
Шаг 5: Передача работ
На данном шаге работа считается выполненной. Заказчику передано готовое решение, а исполнитель подтвердил его готовность. Обратите внимание, что работа может передаваться как в исходных кодах, так и скомпилированном варианте. Точный способ передачи работ и ее последующего обновления следует обсуждать на первых этапах заказа. Без наличия исходного когда в будущем могут быть сложности с передачей задачи другому разработчику, поэтому об этом стоит позаботиться заранее.
Если после этого заказчик не будет выходить на связь, в течении 3 дней средства автоматически будут перечислены на счет разработчику. То есть работа автоматически переходит на шаг оплаты.
Шаг 6: Оплата
После подтверждения передачи работ обеими сторонами разработчику на счет автоматически переходит обговоренная сумма оплаты за вычетом 10% комиссии сервиса. Больше ничего нажимать не нужно. Работа будет автоматически перенесена в раздел «Выполненные». Вы, как заказчик, теперь можете оставить отзыв исполнителю (описать, на сколько вы довольны выполненной работой). Также, исполнитель может оставить ответный отзыв. Таким образом формируется рейтинг заказчика и исполнителя.
Заключение
Если вам требуется реализовать уникальную торговую идею и вы разочаровались найти подходящее решение на просторах интернета, сервис MQL5 Jobs – это идеальное решение. Если же вы еще не сталкивались с Фриланс биржами до этого момента, помните, главное здесь – это взаимное уважение. Если вы будете следовать инструкциям и предоставлять всю необходимую информацию, вы наверняка получите желаемый результат, а возможно даже найдете постоянных партнеров.
С уважением, Алексей Вергунов
Как написать Форекс советник самому? Таким вопросом, скорее всего, задаются многие трейдеры желающие освоить создание торговых роботов, помогающих торговать на валютном рынке.
И если честно, сделать это по сути не сложно, при том, что преимущества написания собственного робота очевидны:
- во-первых, это бесплатно,
- а во-вторых, можно и дальше создавать собственные советники, ведь навыки никуда не пропадут.
Как утверждают некоторые спекулянты, при некоторой сноровке и большом желании, данная задача может решиться даже в течение одного вечера.
Итак, какой же совет дают начинающим создателям роботов опытные трейдеры?
Первым делом, для тех, кто решился или созданным лично советникам Форекс, необходимо определиться, какую именно они будут использовать стратегию, с целью закладки ее в основу алгоритма будущего робота. И как, Вы понимаете, этому этапу создания будет предшествовать очень кропотливая и долгая аналитическая работа.
- определите пары валют, которые будут торговаться;
- проведите за несколько прошедших лет;
- так как советники торгуют по индикаторам, то их необходимо подобрать и правильно настроить;
- продумайте ограничения и определите моменты рыночного вхождения и выхода из торгов;
- определитесь с самыми оптимальными рисками.
При всем этом обязательно смотрите, чтобы Ваша стратегия являлась действительно рабочей, то есть, сделки должны осуществляться регулярно, а результаты работы созданного робота должны подлежать прогнозированию. Ведь согласитесь, что неприемлемо будет, если Ваша безупречный и тщательно продуманный робот будет открывать всего несколько позиций в полугодие и приносить прибыль, скажем в 10 пунктов.
Поэтому тем, кто задумался над вопросом: «Как написать Форекс советник самому? », специалисты дают еще один совет – эффективнее всего создавать роботов, используя уже опробованные и доказавшие свою надежность высокую надежность стратегии торговли, которые неоднократно были проверены во время ручной торговли в течение долгого времени.
Чтобы написать Форекс советник самому и в дальнейшем использовать его бесплатно, Вам необходимо обладать базовыми знаниями языка программирования. К таким языкам относятся MQL4 и MQL5.
Версия MQL4 — является встроенным языком программирования, разработанным «MetaQuotes Software Corp». Кстати, на основе данного языка и создается большинство торгово-информационных терминалов. С помощью этого языка можно писать (Expert Advisors), которые автоматизируют процесс торговли и наилучшим образом подходят для реализации своих стратегий. Помимо этого при помощи MQL4, Вы можете создавать «под себя» библиотеки функций, различные скрипты и технические индикаторы.
В составе MQL4 имеется огромное количество всевозможных функций, анализирующих предшествующие и нынешние котировки, управляющих и контролирующих торговые ордера, а также встроенные уже индикаторы и многое другое.
Итак, для написания советника самому, Вам необходимо использовать текстовый редактор «MetaEditor », в котором цветом выделяются разнообразные языковые конструкции MQL4, что дает возможность лучше ориентироваться в текстовых экспертных системах. Изучить основы этого языка и его описание, можно по всевозможным обучающим материалам и книгам, которых сегодня в сети Интернет великое множество, и скачать которые можно бесплатно.
MQL5, также является языком программирования, только более современным и более высокого уровня. Синтаксис данного языка, имеет максимальное приближение к «С++», что дает возможность создавать программное обеспечение в стиле ООП (объектно-ориентированного программирования).
Для написания советников посредством MQL5 , Вам также необходимо использовать среду разработки «MetaEditor», включающую в себя отладку, автозавершение, сниппеты, профилактику, MQL5 Storage (встроенное версионное хранилище) и многое другое. Массу вспомогательной информации, касающейся, как непосредственно языка, так и программирования на нем, можно найти на сайте mql5.
Также, для тех, кто задается вопросом, как написать Форекс советник самому, во многом поможет справочный материал, размещаемый непосредственно в торговом терминале, вызываемый нажатием клавиши «F1», а также справки редактора «MetaQuotes Language». Для их вызова в терминале нажмите клавишу «F4», а затем «F1».
Также при написании собственного советника не забывайте о посещении специализированных трейдерских форумов, на которых Вы получите дельный совет или рекомендации по написанию собственного торгового робота.
Упростить для себя задачу написания советника можно несколькими способами. К примеру, использованием уже готовых блоков (библиотек функций), которые уже были созданы другими более опытными трейдерами или программистами. Еще один способ, это применение специализированного программного обеспечения. Здесь используются альтернативные программы, которые упрощают непосредственно процесс написания роботов, что-то вроде Мастера настроек. Такие программы, помогающие создавать Форекс советник самому, даже без знания основ языков программирования, также можно скачать в Интернете бесплатно.
Этап тестирования, как обязательный пункт после написания советника
Итак, как написать или создать Форекс советник самому, Вы уже поняли. Сделать это можно при помощи языков программирования либо используя специальные программы. Но здесь возникает другой, пожалуй, самый важный вопрос:
«А будет ли Ваш советник работать правильно? ». Ведь торговые терминалы не оснащены ни отладчиками программ, ни баггерами (debugger).
Получается, что самым трудоемким, ответственным и долгим этапом в создании собственного торгового робота, является . Все это сводится к неинтересным, но при этом очень необходимым ручным просмотрам результатов торговли советника, логов и дальнейшей корректировки кодов. Именно при тестировании созданного собственноручно советника проявляются все его достоинства и недостатки, определяются приоритетные валютные пары и тому подобное.
По результатам проведенных тестов составляется план системных доработок и устранения багов. Таким образом советник тестируется до того момента, пока не устраняться все неполадки и робот не начнет выдавать стабильные результаты на демонстрационном счете. А уже затем, следует приступать к его тестам на небольших депозитах.
Чтобы упростить данный процесс, специалисты дают такой совет. Если Ваш робот простой, то есть имеет всего несколько необходимых команд, то и тестировать его намного проще. А если имеет огромный тысяче строчный код, то и тестировать его будет сложнее. Поэтому изначально необходимо создать простой советник, чтобы его алгоритм был несложным для понимания, а затем постепенно его усложнять и совершенствовать.
Как видите, написать Форекс советник самому совсем несложно, главное знать азы языка программирования и уметь применять альтернативное программное обеспечение.
ОБЯЗАТЕЛЬНО ПОСМОТРИТЕ:
Как написать Forex советник на основе индикатора?
Начав интересоваться трейдингом, любой человек рано или поздно узнает о возможности автоматического способа проведения сделок по купле/продаже. Они ведутся специальными программами, действующими согласно заложенным в них стратегиям. Они описываются с помощью кода на языке MQL4, создавая тем самым боту алгоритм поведения на рынке.
Такие программы зовутся роботами, советниками, экспертами или механическими системами. Различаются они сложностью, но в каждую заложен принцип ведения операций без привлечения человека.
Они не только открывают и закрывают позиции, но также анализируют ситуацию, строят долгосрочный прогноз, определяют направление трендов, осуществляют в короткие сроки сложные расчеты. Они снижают нервную нагрузку, высвобождают время и нивелируют эмоциональную составляющую торговли.
Кроме того, роботы могут:
- работать днем и ночью, не упуская ни единой возможности для взятия прибыли;
- мгновенно замечать любые изменения;
- ставить стоп-лоссы и тейк-профиты, определять оптимальный объем лота, неукоснительно выполнять правила управления бюджетом;
- проводить операции без оплошностей, ошибок и влияния сиюминутных порывов;
- четко следовать пунктам стратегии.
В большинстве случаев преимущество машины над человеком не поддается сомнению, по этой причине многие трейдеры пытаются скачать или купить робота, но также стремятся реализовать свои торговые идеи, ища в интернете объявления: «Напишу советник Форекс бесплатно».
В действительности создать бота может каждый, не нужно даже владеть специальными навыками. В популярном терминале MetaTrader 4 имеется специальное приложение, позволяющее разрабатывать подобные программы любого уровня сложности.
Кроме того, есть универсальные конструкторы, например, ENSED COR или System Creator. Разобраться во всех нюансах их интерфейса и функционала под силу любому, а, следовательно, и написать советника Форекс бесплатно.
Преимущество создания программы своими руками в том, что будут известны все особенности и нюансы применяемой стратегии, понятна тактика, возможности и принцип работы.
Если взять эффективную модель торговли на финансовом рынке, доказавшую прибыльность не одним годом использования, то нужно лишь грамотно описать ее программным кодом.
Бесплатное написание советника Форекс состоит из нескольких общих этапов:
- передача при помощи кода сигналов на открытие позиции при сделке на покупку;
- описание указаний на проведение операции при продаже;
- указание момента, когда следует закрывать ордера на buy и sell;
- выбор критериев по расчету объемов лота и способов по снижению рисков (стоп-лосс, тейк-профит, трейлинг стоп).
Каждый торговый сигнал прописывается при помощи проведения соотношений между показаниями различных технических инструментов: уровней, линий, осцилляторов и индикаторов.
Любой робот, так же как торговая стратегия в первую очередь должен быть ориентирован на сохранение денежных средств и только затем преследовать цель их приумножить. По этой причине написать советник Форекс бесплатно нужно таким образом, чтобы снизить риски потерь.
- Неизменно обязаны соблюдаться правила управления капиталом и выставляться защитный приказ.
- Не стоит гнаться за огромной прибылью, лучше установить величину дохода на уровне в 10-20% и тем самым уменьшить возможность крупных потерь.
- Размер просадки в относительном значении не должен превышать 20-30%, иначе работа не будет вестись эффективно.
И, конечно, после создания рекомендуется обкатать программу на демо-счете и истории, дабы устранить недочеты и подкорректировать параметры. Вдобавок не нужно забывать, что рынок изменчив и периодически необходимо учитывать перемены, устанавливая обновления.
Автоматизировав свою работу, трейдер повышает шансы на успех, высвобождает время и получает массу дополнительных возможностей.
Основа самостоятельного создания робота: как писать советника для форекс
Прежде всего, отметим, что создание уникальных автоматических экспертов для торговли является довольно перспективной задачей, ведь готовая программа позволит решить те проблемы в трейдинге, которые актуальны именно для вас.
К этому преимуществу можно прибавить тот факт, что вы не потратите на этот процесс ни копейки из своего бюджета, а также получите качественные навыки того, как писать советника для Форекс, что позволит вам составлять программы с автоматическим действием и дальше.
Главной задачей на первом этапе является подбор оптимальной стратегии, которая ляжет в основу системы.
Чтобы правильно подобрать ее, проведите анализ по следующим аспектам:
- валютные пары, которые будут использоваться в работе;
- анализ движения стоимости выбранных пар за прошлые периоды, а также в последнее время, связанные с конкретными экономическими событиями;
- при использовании индикаторов, их подбор и соответствующая настройка под действия предполагаемого торгового робота;
- определение точек входа в рынок и выхода из него, а также ограничения, основанные на этих факторах;
- выявление рисков, характерных для использования выбранной тактики.
Перед тем, как заложить подобранный алгоритм действий в вашего эксперта, обязательно протестируйте его в реальной торговле на малом депозите или центовом счете. Только эффективные стратегии необходимо брать за основу при создании советников!
Как писать советники форекс с помощью специального программного кода
Перед тем, как писать советники Форекс, необходимо изучить базовые навыки формирования кодов на языке программирования MQL4 или MQL5. К сожалению, без этого создать торгового робота самостоятельно не получится.
Оба языка являются разработкой корпорации MetaQuotes Software и являются встроенными в систему терминалов МТ4 и МТ5. На основе этих же кодов создаются другие приложения и программы, которые дилеры используют в рамках платформ для трейдинга. В числе таких дополнений скрипты и индикаторы, а также программные библиотеки команд и расширенных функций.
Непосредственный процесс написания советников происходит в специальном текстовом редакторе MetaEditor.
Здесь вы формируете основной алгоритм и параметры его реализации, прописываете элементы взаимодействия в программе и прочие факторы работоспособности системы.
На данном этапе для малоопытных программистов хорошими помощниками станут справочные и учебные материалы по MQL, которые можно найти на тематических форумах и сайтах. Не стоит пренебрегать и советами трейдеров, которые имеют опыт самостоятельного написания подобных систем.
В завершении важно протестировать готовую программу. Без тестирования применять ее в реальной торговле нельзя. Проводить проверку можно на архивных котировках, либо на центовом депозите с небольшими ставками. Только после фиксации эффективности советника, его можно применять на практике.
Не все игроки на Форекс добросовестные, в том смысле, что многие используют советников, роботов, автоматическую игру. Называть игру с привлечением сторонних программ можно как угодно, только не всегда программы-помощники приносят пользу.
Советники или роботы, создаются программистами для облегчения участи игрока на валютной бирже Форекс, создаваемое программное обеспечение выполняет все функции за игрока по проведения сделок с валютой, практически, исключая проигрыши. Только не каждый советник предлагается в варианте с достаточным количеством проеденных тестовых сделок.
Ненадежные советники в основном встречаются в свободном доступе, их легко найти в интернете, скачать и пользоваться безвозмездно, только при этом велики риски банкротства участника. Есть и хорошие бесплатные программные компоненты, но их трудно найти в большом количестве предложений.
Надежные роботы чаще представлены пакетом услуг с необходимостью оплаты за сам продукт. Назначенной стоимостью разработчик подтверждает свое качество работы, тестирование длительное время, представленной удачной стратегии в советнике.
Но советники доступны для игрока не только в разработке успешными программистами. Достаточно задаться вопросом «как написать советника для форекс» и пользователю откроется небольшое пошаговое описание действий, которое менее чем за час позволит обзавестись собственным роботом.
Попробовать создать советник для начала необходимо самый простой и для этого не выполняется следующий порядок:
- Скачать и установить торговый терминал Meta Trader 4. В запущенном терминале открывают Meta Editor — редактор. В редакторе имеется вкладка для создания советника — File — New. Созданный советник потребует выбора его типа через Expert Advisor с последующим присвоением наименования.
- В том же окне, через таблицу Parameters с подтверждением выбора нажав Add, параметры Extparam1определяются и задаются каждому советнику.
- Выделяем необходимые функции для работы:
- start обрабатывает изменения в курсе и потребует проработки всего алгоритма, даже для простого советника;
- deinit выводит советник из игры после закрытия терминала;
- init запускает в работу все компоненты программы с запуском советника в терминале. Как и deinit остается без изменений компонентов, так как необходимо получение первоначального опыта в создании советника и его торговле на начальном уровне.
- Программируем советника на проведение сделок. Так как Moving Average — индикатор с показаниями среднего скользящего, то его достаточно использовать за основу для советника. Средние показатели на повышение и падения курса вносятся в строчку кода, тем самым задавая параметр на открытие и закрытие сделки.
Несложный порядок действий позволит через час начать тестирование советника форекс . В зависимости от удачного создания советника со временем можно начать дополнять его другими компонентами для более азартной торговли.
Если простой советник доступен для создания простом пользователю ПК, то добавление сложны компонентов потребует изучения MQL4. Необходимость изучения MQL4 возникает у каждого желающего создать советника, приносящего прибыль, а не выполняющего стандартные действия для удержания игрока на плаву.
Роботы используются не только для замены игрока во время его отсутствия, а также для совершения сделок на прибыль. Прибыль же получается за счет удачно выбранной и примененной стратегии.
Иногда игроки имеют свою стратегию игры, но чаще используются известные, удачные стратегии крупных игроков. Так что перед тем как написать советник форекс , необходимо изучить все прибыльные стратегии от игроков, выбрав из которых включаются в программирование советника. Но это как один из простых вариантов. Более сложный советник, для торговли на различных уровнях, со многими валютами не смогут работать на одной стратегии. Использование известных советников с наилучшими показателями дохода требуют в кодировании программы шифрование большего количества стратегий.
Написать советник это только маленькая частица той работы, которая принесет доход своему владельцу или другому пользователю. Созданный советник, как простой, так и с более обширными компонентами потребуют тестирования в работе.
Все тестовые работы проводятся в терминале Meta Trader 4 с виртуальным валютным счетом. Запустив терминал включается советник с выбранной стратегией работы. Для первых тестов выбирается период сделки в графике, как правило, это сделка с небольшим временным интервалом. При тестировании рекомендуется наблюдать за работой советника, что допустимо через выбор визуализации.
Рассмотрим подробнее тестирование созданного советника:
- Запускаем торговый трейдер.
- В навигаторе выбираем «тестер стратегий».
- В архиве указываем на папку валютной пары, на которой желаем провести тестирование и время сделки.
- Загружаем данные, указываем в пустых строкахвалютную пару, время (лучше прошлое для сравнения советника с имеющимися показателями в архиве).
- Для тестирования выбираем виртуальную тестовую сумму и запускаем старт тестирования.
Все тестовые работы и подстройка советника проводится до появления положительного результата — прибыли. Далее тестирование проводится на реальных валютных торгах.
Желая достичь большей прибыли, и расширение возможностей заработка требуют дополнительных стратегий в советнике. Включать стратегии можно по очереди, а можно комплектом, что также требует первоначального тестирования на виртуальном и реальном счете. Для программистов, разбирающихся в написании кодов, советников легко использовать одновременно множество компонентов, но впервые столкнувшись с написанием советника все шаги, сохраняются отдельным файлом. Добавление стратегий также необходимо с поэтапным включением, тестируя каждый, для удобства выявления недоработанного пункта, выдающего ошибку или неработающего на прибыль.
Источник https://fortrader.org/learn/mql/kak-napisat-torgovogo-robota-esli-vy-ne-programmist-8-shagov-ot-idei-do-realizacii.html
Источник https://finans-info.ru/foreks/obzory-sovetnikov/kak-napisat-sovetnika-foreks/
Источник https://financial-trust.ru/napisat-sovetnik-dlya-foreks/