Тестирование робота
Atom Ответить
01.03.2010


Здравствуйте, Михаил.

В этой ветке хотелось бы обсудить такой насущный вопрос как
тестирование написанного робота. К решению проблемы можно подходить
следующим образом:
1) Открыть демо счет и погонять на нем. Но здесь я столкнулся с
проблемой, что демо фортс работает как-то криво. Я просто загрузил
настройки с реального квика в демо и не увидел ни таблицы всех сделок
ни параметров торговли фьючерсом, хотя графики есть.
2) Тестировать на реальном счете одним контрактом. Но тестировать так
значит терять деньги, чего не хотелось бы.
Михаил, не могли бы вы осветить этот вопрос, если можно.
P.S. Что-то на стокпортале начались проблемы, поэтому наверное лучше
обсудит все здесь.

Теги:


Спасибо:




63 Ответов
< 1 2 3  >
Dmitri Kaptsov

Фотография
Дата: 02.03.2010
Ответить


Данные с РТС похожи на реальные.

Автор топика
Спасибо:

skzuev

Фотография
Дата: 02.03.2010
Ответить


Поделитесь потом результатами, если не сложно. Хотя бы на качественном
уровне *получилось-не получилось*.

Спасибо:

Dmitri Kaptsov

Фотография
Дата: 02.03.2010
Ответить


Хорошо, постараюсь рассказать все, что удалось сделать. Вот сейчас
столкнулся с проблемой: quik от открытия версии 5.15 и похоже с ним
уже S# работать не хочет. Пытаюсь в оригинальный quik junior 5.16
запихнуть ключи от открытия, чтоб все заработало.

Автор топика
Спасибо:

skzuev

Фотография
Дата: 02.03.2010
Ответить


У них на сервере М10 лежит 5.16, если мне память не изменяет

С уважением,
Сергей Зуев

Спасибо:

Dmitri Kaptsov

Фотография
Дата: 02.03.2010
Ответить


Точно, взял с сервера обычный quik и все заработала. Правда и с
тестовым должно все работать, я похоже напутал с выводом из quik. В
любом случаи спасибо.

Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 02.03.2010
Ответить


"Если мне не изменяет память, переставлены местами код и название
контракта." Самое интересное, что каждому брокеру кажется его стиль
именования единственно правильным. И таких единстрвенных набирется
такое количество... Вообщем, я все названия (коды, классы и т.д.)
храню в конфиг файлах. Это позволяет делать роботов, не завязанных на
инструменте. Я перенес робота в боевой режим - поменял пару строчек в
конфиге. Тоже самое делаю и с путями к квику, и со счетами. Удобно.

Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 02.03.2010
Ответить


Идеи были, есть и будут. Вопрос только в том, когда. Вот если бы кто
взялся, да сделал бы. Пусть даже коммерческое (если, конечно, он не
такой клевый чувак как я!). Я бы помог направлением. Тем более, что
сам S# под это уже готов. BaseTrader - и вперед.

Спасибо:

skzuev

Фотография
Дата: 02.03.2010
Ответить


Аналогично. Действительно очень удобно и сильно упрощает жизнь. Всем
рекомендую внешние конфиги. У меня их даже два - отдельно технические вещи (
путь к QUIK и т.п.), отдельно торговые параметры.
Что раздражает в QUIK - я так и не научился вводить логин/пароль иначе как в
окошко при входе. Приходится эмулировать ввод с клавиатуры для автозапуска
системы. Может кто поделится более изящным решением?

Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 02.03.2010
Ответить


Кстати, а зачем? У них есть функция реконнета + расписание подключения
к серверу. Тоеретически, Квик можно запустить аж на всю неделю (а
может и больше). Кто-нибудь уже пробовал?

Спасибо:

skzuev

Фотография
Дата: 02.03.2010
Ответить


Чтобы робот был полностью автономен.
Пробовал на три дня - работало.
Теоретически можно и на выходные оставлять.

Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 02.03.2010
Ответить


Автономный или автоматическим? Думаю, что второе. Так вот отсюда и
вопрос, зачем делать дополнительно в проге, если эту часть
автоматизации уже Квик делает? Или я не что-то уловил.

Спасибо:

skzuev

Фотография
Дата: 02.03.2010
Ответить


А как QUIK принимает логин и пароль, кроме окошка при старте? может я
пропустил что-то?

Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 02.03.2010
Ответить


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

Спасибо:

skzuev

Фотография
Дата: 02.03.2010
Ответить


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

Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 02.03.2010
Ответить


А пароль так же в конфиге храните? Я бы порекомендовал его или
шифровать http://msdn.microsoft.com/ru-ru/library/ms254494.aspx), или
NTFS безопасность навесить на папку/файл.

Спасибо:

skzuev

Фотография
Дата: 02.03.2010
Ответить


Вопрос с безопасным хранением пароля решен, но немного другим способом.

Спасибо:

Dmitri Kaptsov

Фотография
Дата: 19.03.2010
Ответить


Добрый день,
Подскажите, а как вы вводите данные для автоматического входа в quik?
Автор топика
Спасибо:

Dmitri Kaptsov

Фотография
Дата: 19.03.2010
Ответить


Доброго времени суток,
Наконец-то оттестировал робота и в ближайшее время буду выпускать
зверька на биржу. Тестировал используя quik от открытия. Сервер
работает стабильно и разрешает подключаться в любое время. Но вот quik
у них удалось найти только 5.15. А он уже не работает с s# 1.7:( И
еще, в отличии от остальных у них действительно есть история, например
в Quik-Junior каждый день работал с чистого листа, как будто биржу
только сегодня открыли, что для меня было неудобным. Но вот котировки
по RIM0 идут нереальные (хотя по RIH0 вроде бы шли реальные), кроме
того маленькая ликвидность и как следствие очень большие спреды, но
опять же для меня это не было проблемой. Если что-то заинтересует
спрашивайте.
С уважением
Дмитрий Капцов
Автор топика
Спасибо:

skzuev

Фотография
Дата: 19.03.2010
Ответить


http://www.autoitscript.com/autoit3/index.shtml


&lthttp://www.autoitscript.com/autoit3/index.shtml>вот эта софтина хорошо
помогает.

Функций QUIK я для этого не нашел

С уважением,
Сергей Зуев

Спасибо:

Dmitri Kaptsov

Фотография
Дата: 19.03.2010
Ответить


Спасибо за программу. Похоже действительно интересное решение.

С уважением
Дмитрий Капцов
Автор топика
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 19.03.2010
Ответить


Судя по тому, что написано здесь -http://quik.ru/user/download/как
раз начиная с 5.15 и должен работать, не ниже. S# главное, чтобы новое
АПИ работало. Если оно не хочет работать с 5.15, то нужно спросить уже
у квиковцев - почему.

Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 19.03.2010
Ответить


Кстати, насчет тестирования. Историческое тестирование на мой взгляд
очень критично к алгоритму. Если алгоритм опирается на скорость
выставления заявки - все, история уже не подойдет. Я вот думаю в
сторону real-time тестирования. Когда тестировать нужно на реальных
деньгах, но при этом не выставлять заявки на самом деле. Чем это
лучше. Тем, что есть стакан, по которому с большей или меньшей долей
вероятности можно сказать, выполнится заявка или проскользит. На
истории такое не получить (если конечно не скринить стакан, что так же
бессмысленно).

Спасибо:

skzuev

Фотография
Дата: 19.03.2010
Ответить


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

С уважением,
Сергей Зуев

Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 19.03.2010
Ответить


И что Вы сделали?

Спасибо:

skzuev

Фотография
Дата: 19.03.2010
Ответить


Я сделал другую стратегию. Для которой не критичны задержки в десятки
секунд.

QUIK все же частенько притормаживает (Открытие+ADSL канал, но думаю у всех
брокеров так, во всяком случае в БКС аналогично), задерживаются на 10-20-30
секунд котировки, информация о сделках и т.п.

Все это приводит к тому, что роботам, работающим на таймфреймах меньше
минуты, становится не очень хорошо.

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

Естественно, все сугубо ИМХО, если кто-то сделает/сделал робота, скальпящего
через QUIK, я буду только рад и с удовольствием об этом узнаю. Но пока я
таких разработок не видел.

С уважением,
Сергей Зуев

Спасибо:
< 1 2 3  >

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

loading
clippy