Робимо торгового робота своїми руками
Ця посада зовсім не є відступом від теми, як може здатися на перший погляд. Справа в тому, що для створення нами робота нам доведеться створювати торговельну систему та тестувати її на історії. При цьому потрібно досягти відповідності результатів тестування, тим, що були б у реальній торгівлі.
Викладаю у зв'язку з численними питаннями на цю тему в особі. Так як в цій лінії блогу вирішив йти від простого до складного для початку розберу як налаштувати аміброкер і протестувати нашу торгову систему. І яке підводне каміння ми зустрінемо при тестуванні.
Я особисто для створення торгових систем та тестування їх вибрав програму Amibroker. Ця програма має ряд переваг перед metastock на якому я працював раніше та іншими програмами тих. аналізу:
1. Це зручний інтерфейс. Система вкладок дозволяє без проблем вішати на один тиккер (акцію) десятки індикаторів, які при цьому не захаращують один одного. При цьому перемикання між тиккерами відбувається одним кліком і всі індикатори автоматично перемикаються на новий вибраний папір.
2. Зручна зв'язка quik – amibroker за допомогою офіційної бібліотеки квікаю.
3. Amibroker зберігає дані у себе. Що дає клієнтам Фінам аналізувати будь-які дані, отримані під час торгової сесії, після її закінчення або у вихідні коли сервери Фінама відключені.
4. Легкий імпорт історичних даних із сайту Фінама в аміброкер.
5. Продумані Режими тестування на історичних даних та режим емуляції торгів за історичними даними.
6. І нарешті, один з найголовніших плюсів це мова програмування AFL, яка дуже сильно схожа з мовою Метастоку іє одночасно і дуже простою мовою, написати якою індикатор або систему під силу будь-якому новачкові і мовою з дуже великими можливостями дозволяють написати практично будь-яку торгову систему.
Отже, приступимо до більш конкретних кроків, опис того як нам встановити amibroker і зв'язати його з програмою quik . Сам процес встановлення програми не викликає зазвичай ні в кого труднощів. Коротко це можна описати так - завантажуємо інсталяційний файл, навіщо весь час тиснемо далі і згоден J
Якщо будуть питання щодо цього, скиньте у гілку, розберемо докладніше.
Питання у початківців починаються з моменту, коли їм потрібно зв'язати програму quik і amibroker. Саме цей момент я тут розберу докладніше.
Завантажений файл розархівуємо і отриману бібліотеку кидаємо в папку з встановленим аміброкером в каталог "Plugins". Тепер нам потрібно налаштувати виведення даних у програмі quik. Для цього у верхньому меню клацаємо на «Експорт даних», у підменю вибираємо пункт «Дані для технічного аналізу».
Випадає таке меню:
В якому нам потрібно натиснути кнопку "Додати".
У наступному меню налаштовуємо все як на малюнку:
Інтервал природно можете задавати будь-хто. Врахуйте, що чим він більший, тим більший період історичних даних виведеться в програму amibroker. Це з обмеженням виведення в барах. Так на п'ятихвилинках вам вдасться подивитися історію за пару місяців, то на годиннику за пару років.
"Позначення в системі ТА" - цей пункт запам'ятовуємо особливо. Це краще забивати латинськими літерами J
Отже, тепер тиснемо так, і потрапивши у попереднє вікно натискаємо «почати висновок». Тепер quik почав транслювати свою історію на Аміброкер.
Але наша робота на цьомуще не закінчено. Оскільки тепер нам потрібно налаштувати аміброкер на прийом даних.
Перше, що нам треба зробити, це вирішити, чи будемо ми налаштовувати нову базу даних або видозмінювати стару. Робиться все за аналогією, але для того, щоб ваша база не була забита американськими тиккерами встановленими за умовчанням, раджу видалити в каталозі аміброкера папку «Data» це зітре американські тиккери, які нам з вами не потрібні.
Після цього вибираємо у верхньому меню аміброкера пункт "Файл" У ньому вибираємо "Databasesettings" Випадає ось таке вікно:
У ньому вибираємо плагін квика як на картинці, вибираємо свій мінімальний таймфрейм, який має збігатися з тим, що ви виставили у квіку для виведення в аміброкер.
Потім тиснемо в цьому вікні на Intradey settings і налаштовуємо внутрішньоденний інтервал торгів:
Кінець сесії я поставив на 18,44 для того, щоб останньою свічкою не виводилося значення післяторгової середньозваженої ціни.
Також слід звернути увагу на те, що якщо ваш мінімальний таймфрейм буде 1 годину краще початком сесії ставити 10-00. Т.к. інакше перша годинна свічка за день у вас з'являтиметься лише об 11 годині.
І останній етап. Тепер, коли ми встановили базу, потрібно в неї ввести необхідний нам тікер висновок якого ми налаштували з квика. Для цього пишемо назву, яку ми привласнили для експорту потрібному тікеру в Квіку і вписуємо його ось сюди:
Тиснемо інтер. І бачимо, що в базі даних у меню символи з'явився наш тиккер, що виводиться з квика.
Тепер трохи про те, як вивести дані із сайту Фінама в аміброкер. Цей спосіб дозволяє обійти обмеження квика на виведення даних (певна кількість свічок).
Отже на сторінці сайт www. finam. ru обираємонагорі пункт меню «про ринок». У ньому підпункт "експорт даних". Після чого у вікні, що випадає, вибираємо тіккер який нам потрібен, а так само потрібний таймфрейм і період за який ми виводимо дані. У цьому випадку я вибрав 5 хвилину ощадбанку.
Тиснемо отримати файл. Після збереження файлу на диск переходимо до аміброкер.
В аміброкері тиснемо на пункт "файл" у верхньому меню та вибираємо "майстер імпорту".
Тиснемо «pick files» і вибираємо файл завантажений нами з сайту фіналу. Тиснемо «далі». Після чого потрапляємо на таке меню:
У ньому розставляємо рядки оскільки показано на картинці. Щоб формат, що вводиться, відповідав формату, що виводиться Фінамом.
Потім тиснемо далі. У наступному вікні Я раджу вам зберегти цей формат надавши йому ім'я наприклад «Finam». Це дозволить вам надалі імпортувати файли з фінама, уникнувши всієї цієї процедури, вибравши у верхньому меню аміброкера пункт файл і клацнувши на «Імпорт ASCII» і обравши файл, обравши внизу формат «Finam».
Тепер ми можемо розпочати технічний аналіз та тестування нашої торгової системи.
З чим ми зіткнемося під час тестування, напишу в наступному пості.