<
  • Главная
Статьи

Як створити торгового робота і не втратити час

  1. Щоб створити торгового робота, потрібна торгова система Торгівля на фінансових ринках пов'язана з...
  2. Як приступити до створення торгового робота?
  3. Який шлях в автоматичний трейдинг вибрати трейдеру?
  4. Перші кроки по створенню торгового робота
  5. Програмування торгового робота
  6. "Все вкрадено до вас"
  7. Рідкісний птах долетить до середини Дніпра ...
  8. Висновок

Щоб створити торгового робота, потрібна торгова система

Торгівля на фінансових ринках пов'язана з безліччю ризиків, в числі яких самий главний- це ризик зробити помилку при прийнятті торгового рішення. Мрія кожного трейдера - поставити замість себе торгового робота , Автомат, який завжди у відмінній формі, не знає втоми і не схильний до людських слабостей: страху, жадібності і нетерпінню.

Мрія кожного трейдера - поставити замість себе   торгового робота   , Автомат, який завжди у відмінній формі, не знає втоми і не схильний до людських слабостей: страху, жадібності і нетерпінню

Кожен новачок, приходячи на ринок, сподівається роздобути або створити чітку і строгу торгову систему, яку можна перекласти на мову алгоритмів, і повністю позбутися від рутинної роботи. Чи це можливо?

Наявність торгової системи є необхідною умовою для торгівлі, і ця система, звичайно, повинна бути прибутковою. Коли новачок приходить на ринок, на нього буквально обрушується лавина інформації, в якій не так-то просто розібратися. І на допомогу тут приходять книги і форуми трейдерів.

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

Кожен трейдер повинен самостійно пройти всі стадії на шляху створення власної торгової системи. Не дарма кажуть, що не важливо, за якою системою ти торгуєш, головне, щоб ти дійсно торгував за цією системою. Без цього торгівля на ринку перетворюється в азартну гру, результат якої відомий.

Торгові роботи і Forex

Вважається, що ринок Forex володіє величезною ліквідністю і дозволяє торгувати 24 години на добу на відміну від багатьох інших ринків. Тому багато трейдерів намагаються створити торгові роботи саме для торгівлі на валютному ринку, адже він представлений досить великою кількістю інструментів.

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

У будь-якому випадку, інструменти форекса є привабливими для створення торгових роботів, і більшість прихильників автоматичного трейдингу саме на валютних парах відточують свої навички.

клієнтські термінали MetaTrader 4 і MetaTrader 5 спеціально розроблені для зручного створення автоматичних торгових систем, але при цьому їх інтерфейс продуманий і також зручний для ручної торгівлі.


Як приступити до створення торгового робота?

Зустрічається безліч підходів до побудови автоматичної торгової системи. Виділимо лише кілька основних з них.

Перший підхід - математичний, заснований на спробі створення якоїсь формули, яка враховує безліч факторів. Такий підхід базується на твердій впевненості, що в основі поведінки цін лежить якась модель, яку потрібно тільки підібрати або вгадати на основі наявних історичних даних.

Найчастіше прихильники такого підходу знають занадто багато математики і зовсім не знають / не цікавляться ринком. Ринок для них - чиста абстракція, одна з різновидів інтелектуальної гри. Такий підхід зазвичай веде до багаторічних дослідженням і розробкам, результат у вигляді працюючої автоматичної торгової системи сам по собі не є важливим.

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

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

Зрештою трейдер починає замислюватися над автоматизацією торговельних процесів, і тут з'ясовується найбільша проблема - складність формалізації торгових правил при спробі перенести торгові правила на мову алгоритмів. Трейдери, які намагаються замовити торговий робот професіоналам, не завжди можуть сформулювати правила торгівлі та знайти спільну мову з програмістами.

Третій підхід заснований на спробі створити «чорний ящик» на основі нейронних мереж за допомогою готових інструментів, широко представлених на ринку в спеціалізованому ПО і в математичних пакетах. Будівництво своєї власної автоматичної торгової системи з застосуванням елементів штучного інтелекту є дуже цікавою і захоплюючою задачею навіть для новачків, так як не вимагає ні глибокої математичної підготовки, ні досвіду програмування - все робиться за допомогою візуальних засобів.

Від трейдера в цьому випадку потрібні базове знання індикаторів технічного аналізу, вміння підготувати необхідні цінові дані і навички роботи з конкретним пакетом по роботі з нейронними мережами. Головним недоліком такого підходу є те, що отриманий за допомогою спеціалізованих інструментів по роботі з нейронними мережами торговий автомат насправді є «чорним ящиком» - принципи його роботи невідомі самому трейдеру, і не можна в загальному випадку передбачити, яка фаза ринку йому не сподобається.

Програмісти часто вибирають четвертий шлях - вони відразу починають писати торгового робота і не хочуть особливо витрачати час на ручну торгівлю. Навіщо? Адже можна відразу написати автомат, витративши на це кілька місяців, і потім тільки пожинати плоди своєї праці.

Але «без праці не виймеш і рибку зі ставка», і програміст часто замість торгового робота починає писати з нуля на відомому йому мові програмування всю необхідну інфраструктуру - здобуття влади та обробка цінових даних, візуальне уявлення графіків і індикаторів, власні кошти з тестування стратегії на історії і так далі.

У процесі цієї роботи він отримує багато корисного досвіду. Але при цьому він, найчастіше, ні на йоту не наближається до кінцевої мети - створення автоматичної торгової системи. І якщо навіть він пройде весь шлях до кінця, то де гарантія, що написаний робот виявиться прибутковим? А якщо він захоче написати іншу торгову систему? Потрібно все перебудовувати і розбиратися з новими неминучими помилками програмування.

Є ще і п'ятий шлях - спробувати купити готову торгову систему у вигляді торгового робота і торгувати з його допомогою, при цьому трейдер виступає в якості оператора або встановлення антен. Такий варіант істотно заощаджує час (не потрібно вивчати безліч нових речей) і дозволяє відразу ж зануритися в світ автоматичної торгівлі.

Головний недолік такого підходу виникає з його достоїнств - ви не знаєте, як працює даний торговий робот і на яких принципах він побудований. І якщо навіть продавець надав вам докладний опис закладеної в ньому торгової системи, ви ніколи не будете в ній впевнені до кінця.

Втім, 100% -ву гарантію не дає жоден підхід, крім депозиту в банку. Але це не зовсім те, за чим іде людина, що цікавиться біржею і можливостями спекулятивного збільшення капіталу.


Який шлях в автоматичний трейдинг вибрати трейдеру?

Кожен з п'яти описаних підходів має свої переваги і відповідає своєму типу трейдера. Навряд чи ви без хорошого математичного багажу виберете перший шлях - спробу аналітичного опису ринку. І малоймовірно, що ви відразу ж підете шляхом будівництва торгового робота на основі нейронних мереж. Хоча обидва ці варіанти дуже привабливі і цікаві і надають хорошу зарядку для розуму.

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

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


Перші кроки по створенню торгового робота

Для написання автоматичної торгової системи потрібні навички програмування і знання всіх тонкощів обробки торгових запитів. Але ви можете на першому етапі почати знайомство з уже готовими експертами - торговими роботами з безкоштовної бібліотеки Code Base .

Скачайте будь-який експерт (торговий робот) і запустіть його в тестері стратегій клієнтського термінала MetaTrader 4 або MetaTrader 5 . Виберіть одну ділянку історії з яскраво вираженим трендом і друга ділянка, на якому ціна знаходиться в діапазоні / флеті. Проведіть оптимізацію вхідних параметрів експерта і подивіться, як вони відрізняються на цих двох ділянках.

Запустіть на трендовом ділянці експерт з оптимальними параметрами для флета, і навпаки - на флетовом ділянці з параметрами для тренда. Подивіться, наскільки сильно змінюються торгові результати, як змінюються розподілу угод і інші статистичні параметри. Таким чином, ви дізнаєтеся, як сильно може змінюватися поведінка торгової системи при зміні ситуації на ринку.

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

Наступним кроком може стати створення більш складних торгових систем на основі комбінації вже існуючих простих сигналів з набору Майстри MQL 5 . Ви можете, ще не вдаючись до програмування, перевірити і розвивати свою торгову інтуїцію, відсіваючи погані сигнали однієї системи за допомогою фільтра на основі іншої системи.

Але і тут головне не перестаратися, адже чим більше вхідних параметрів в торговельній системі, тим легше її підігнати. Чимало списів зламано в суперечках про те, як відрізнити оптимізацію від підгонки, тут немає готових універсальних рецептів. Але вам може допомогти візуалізація результатів тестування / оптимізації і власний здоровий глузд.

Навчіться з усього набору вхідних параметрів виявляти саме ті, які впливають на торговельну систему. Не приймайте до уваги другорядні параметри, які забирають час при оптимізації, але не впливають на саму логіку системи. Пам'ятайте, що хороша торгова система завжди допускає невеликий люфт по другорядним параметрами, але при цьому не робить драматичних провалів при невеликій зміні характеру ринку.

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


Програмування торгового робота

Ви вивчили / вивчаєте мову програмування MQL 4 або MQL 5 і готові написати свій перший радник для клієнтського терміналу MetaTrader. Тут теж можливо кілька варіантів.

По-перше, ви можете розібрати кілька вже готових торговельних роботів по опублікованих статей, щоб краще розуміти тонкощі програмування.

По-друге, ви можете задавати питання на форумі MQL4.community або MQL5.community , Якщо самостійно не змогли розібратися в якихось моментах. Зазвичай інші учасники спільноти охоче допомагають новачкам, якщо бачать їх щиру зацікавленість у вивченні предмета.

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

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

"Все вкрадено до вас"

Як знайти власну торгову систему або хоча б знати, в якому напрямку потрібно зосередити пошуки? Кожен трейдер дорожить своєю системою, якщо вона у нього є, і кожен новачок мріє створити свою або отримати вже готову прибуткову стратегію. При цьому будь-яка знайдена ідея здається дуже простою в порівнянні з тим, якою має бути справжня діюча система в поданні новачка.

При цьому будь-яка знайдена ідея здається дуже простою в порівнянні з тим, якою має бути справжня діюча система в поданні новачка

Військові у всіх країнах схильні до надмірного рівня секретності, і не дарма на цей рахунок існує безліч анекдотів, серед яких є і такий: "Військова таємниця полягає не в тому, що ви це знаєте" - каже інструктор курсантам військового училища, - "а в тому, що це знаєте саме ви ". З торговими системами ситуація приблизно така ж: більшість трейдерів використовують прості відомі торгові ідеї, тільки з невеликими доробками, наприклад, у вигляді використання трейлинг стопа (Trailing Stop) або підтвердження сигналів від трендових індикаторів.

Існує безліч закритих торговельних форумів, на яких йде спільна розробка або доробка секретних торгових систем і куди закритий вхід простим смертним. Найцікавіше, що нічого секретного на них знайти не можна, завжди береться стара класична ідея, на кшталт "торгуй по тренду" і доводиться до досконалості за допомогою якихось нових невідомих широкому загалу індикаторів.

Тому ви можете сміливо брати доступні в початковому вигляді коди торгових роботів і намагатися знайти правильне їх використання на тих чи інших інструментах і таймфреймах. Тут на пам'ять відразу приходить інша побита приказка: "Ви не любите кішок? Ви просто не вмієте їх готувати!" У це важко повірити, але ймовірність того, що ви придумаєте щось принципово нове, дуже мала. Тут головне все правильно зробити самому з доступних інгредієнтів і не думати, що хтось надрозумні користується якимись секретними розробками з лабораторій NASA. В цьому і полягає секрет Грааля.


Рідкісний птах долетить до середини Дніпра ...

"Якщо торгові ідеї лежать буквально під ногами, то чому ними ніхто не користується?" - виникає резонне питання. Відповідь на нього криється, ймовірно, в людській психології. Багато банків і великі інвестиційні фонди містять в своїх штатах трейдерів, які торгують по розписаним правилам і в обсягах, які їм дозволені. Але чомусь рідко коли інституційні трейдери йдуть на вільні хліби і починають торгувати на свої гроші.

Виходить, що потрібна не тільки сама торгова стратегія, а й залізна дисципліна, щоб виконувати всі її правила. Багато трейдерів з гіркотою переконувалися, що вони такі ж смертні, як і всі інші, і їм не чужі всі ті проблеми психології, які описані в книгах. І усвідомивши, що найбільший ворог трейдера - це він сам, трейдер замислюється про створення торгового робота, який буде працювати замість нього і зніме з нього психологічне навантаження.

Відхиляючись трохи від теми, наведемо як приклад легендарну групу "Черепахи", яка успішно торгувала на багатьох ринках в кінці 20-го століття. почитайте "Шлях черепах" , І ви зрозумієте, що головне в професії трейдера саме залізна внутрішня дисципліна, а не якась суперсекретна система. На жаль, більшість не зможе торгувати по прибутковою стратегії, навіть якщо отримає її даром.

Проблема полягає в тому, що більшість торгових стратегій, які успішно торгуються вручну, практично не піддаються формалізації і перекладання на мову комп'ютерів. Ті стратегії, які найлегше запрограмувати, наприклад, на перетині двох ковзних середніх, є занадто простими і вимагають безліч уточнень і доопрацювань, щоб ними можна було користуватися на ділі. Таким чином, проста ідея обростає безліччю зовнішніх параметрів, які дозволяють роботові уникнути помилкових входів і помилок, добре видимих ​​людині. Виникає проблема оптимізації торговельного робота. У підсумку вона не повинна перетворитися в переоптімізацію і підгонку під конкретну ділянку історії.

Саме для Боротьба з підгонкою в тестері терміналу MetaTrader 5 існує можлівість форвардного тестування на знайденіх при оптімізації параметрах системи. Якщо результати форвард-тестування торгової стратегії не сильно відрізняються від результатів, отриманих на ділянці оптимізації, то є надія, що торговий робот буде досить стабільний деякий час після його запуску в онлайн-торгівлю. Довжина інтервалу для проведення оптимізації параметрів і тривалість цього "деякого часу" залежать від конкретної торгової системи.

Таким чином, оптимізація торгового робота перед його запуском в онлайн-торгівлю по суті нагадує розкручування пращі - від того як ретельно ми розкрутили і жбурнули снаряд з пращі, залежить наскільки далеко і точно він полетить від точки кидка. Добре побудований торговий робот протримається на рахунку з позитивним результатом більш тривалий час, ніж його побратим, отриманий в результаті підгонки. Можна сказати, що Грааль - це працююча ідея і правильна коригування параметрів, що проводиться раз у раз при зміні ринкових умов.

Ілюстрацією для такого прикладу можуть служити результати Чемпіонату з автоматичної торгівлі Automated Trading Championship , Проведеного вже протягом багатьох років. Всі учасники перед початком змагань проходять автоматичні перевірки надісланих експертів - торгових роботів на інтервалі з січня по кінець липня. Головною вимогою для проходження такої перевірки є отримана прибуток за вісім місяців тестування. Але менше половини допущених до Чемпіонату роботів залишаються в плюсі ​​після тримісячної автономної роботи.

Ви також можете спробувати свої сили в створенні і правильному налаштуванні свого торгового робота, щоб взяти участь в Чемпіонаті і отримати результати форвард-тестування свого дітища. Тим більше що участь є безкоштовним, а призи відчутними. Як то кажуть - "Welcome"!

Висновок

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

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

Ми не даємо тут конкретних рекомендацій щодо вивчення мови MQL4 або MQL5, на цю тему написано багато інших корисних статей. Мета даної публікації полягала в тому, щоб дати початкове уявлення про те, як і з чого почати створення власного торгового робота для терміналів MetaTrader 4 и MetaTrader 5 .

Сподіваємося, що ця стаття заощадить новачкам час і вкаже потрібний напрямок в нелегкій справі створення автоматичної торгової системи.

Як приступити до створення торгового робота?
Який шлях в автоматичний трейдинг вибрати трейдеру?
Чи це можливо?
Як приступити до створення торгового робота?
Навіщо?
І якщо навіть він пройде весь шлях до кінця, то де гарантія, що написаний робот виявиться прибутковим?
А якщо він захоче написати іншу торгову систему?
Який шлях в автоматичний трейдинг вибрати трейдеру?
Тут на пам'ять відразу приходить інша побита приказка: "Ви не любите кішок?
Якщо торгові ідеї лежать буквально під ногами, то чому ними ніхто не користується?


Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью