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

Ответить
04.01.2013, 17:41
Аватар для Sergey Kovalyov
Sergey Kovalyov Sergey Kovalyov вне форума Элитный участник
Регистрация: 10.08.2012 / Адрес: Киев, Слава Украине! / Сообщений: 2,346
Поблагодарили 1,483 раз(а) / Репутация: 1485

По умолчанию Сбор, скачивание, поиск тиковых данных для Forex

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

Так вот. Это будет первое -- пробное сообщение. Если интерес будет, то продолжим. =)

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


Последний раз редактировалось Sergey Kovalyov; 29.08.2013 в 07:17.
05.01.2013, 09:43
Аватар для Sergey Kovalyov
Sergey Kovalyov Sergey Kovalyov вне форума Элитный участник
Регистрация: 10.08.2012 / Адрес: Киев, Слава Украине! / Сообщений: 2,346
Поблагодарили 1,483 раз(а) / Репутация: 1485
Мда, не густо. Ну, попробуем еще раз удочку забросить.

Если вы решили, что хотите собирать тики зачем-то, то подразумевается, что у вас есть какой-то сносный уровень в программировании и трейдинге. Иначе оно вам просто не надо. Теоретически, собирать тики можно и на домашнем буке по вайфаю, но это как-то очень ненадежно, поэтому, рекомендуемый способ -- свой сервер или хотя бы VPS. Раз уж вы трейдер-программист, то у вас такой сервер так и так должен быть. Торговые роботы должны жить на сервере, а не на домашнем компе, где кот по клавиатуре ходит, и дочка трехлетняя в игры играет.

Такой сервер может быть под Linux (надежней и дешевле, так как за лицензию платить не надо) либо Windows. У меня Linux, но, в принципе, базу данных sqlite или MySQL можно не сильно сложно и под Windows запустить. Просто в Linux оно все сразу есть и работает, и можно сразу к делу приступать, а не париться со скачиванием всякого незнакомого софта и с попытками разобраться как его запустить. Хотя, может, я преувеличиваю.

Далее, MQL4 конечно, неплохой язык... был когда-то, но на сегодня он просто архаичен, как и сам терминал Поэтому я стараюсь с ним работать минимально. Тики в файлы сохранил -- свободен. Сбор тиков в базу и всякие разные другие штуки лично я делаю на Perl. И свои примеры тоже буду показывать на Perl. Кто шарит, может сделать по аналогии на PHP или... я не знаю, на чем вы там шарите. На MQL4 некоторые вещи будет очень сложно сделать.

Пока все. Сел на берегу, жду клева трейдеров-программистов. =)
Может, где-то не там сел, кстати...
фирсяку на гилляку!

07.01.2013, 10:50
Аватар для Sergey Kovalyov
Sergey Kovalyov Sergey Kovalyov вне форума Элитный участник
Регистрация: 10.08.2012 / Адрес: Киев, Слава Украине! / Сообщений: 2,346
Поблагодарили 1,483 раз(а) / Репутация: 1485
И в третий раз забросил старче свой невод в синее море. =)

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

Раз мы пишем каждый тик в отдельный файл, то у такого файла должно быть уникальное имя, очевидно. Поэтому имя и состоит из времени прихода тика (с точночтью до секунды), индекса (в течении секунды может придти несколько тиков, поэтому каждый следующий имеет индекс + 1) и имени пары.
фирсяку на гилляку!

08.01.2013, 21:18
Аватар для Sergey Kovalyov
Sergey Kovalyov Sergey Kovalyov вне форума Элитный участник
Регистрация: 10.08.2012 / Адрес: Киев, Слава Украине! / Сообщений: 2,346
Поблагодарили 1,483 раз(а) / Репутация: 1485
Чтобы придать этому безобразию какой-то более-менее законченный вид, выкладываю скрипт на Perl, который, собственно, эти файлы-тики и запуливает в базу (на выбор, или sqlite или MySQL).

Схема (для MySQL) таблицы:
Код:
create table if not exists ticks (
        id int unsigned not null auto_increment primary key,
        time int, key(time),
        idx int,
        pair varchar(10),
        ask double,
        bid double,
        price double,
        datetime datetime, key(datetime),
        key(time, idx),
        unique (pair, time, idx)
);

А про то, как качать готовые тики с dukascopy и всякое другое интересное я уже не буду рассказывать. Так как интересно это только мне. =)
фирсяку на гилляку!

12.01.2013, 17:59
Аватар для sibman
sibman sibman вне форума Активный участник
Регистрация: 27.08.2009 / Адрес: West Siberia / Сообщений: 199
Поблагодарили 135 раз(а) / Репутация: 135
Сообщение от: Sergey Kovalyov
Мда, не густо. Ну, попробуем еще раз удочку забросить.

Пока все. Сел на берегу, жду клева трейдеров-программистов. =)
Может, где-то не там сел, кстати...
Видимо не там сел тёзка . Но всё равно приятно встретить собрата-линуксоида в пустынном месте.

Вот нарыл на FXOpen.com API для сбора тиков с ихнего ECN-шлюза. Почему то - это добро было глубоко закопано на англоязычном форуме.
Сам не проверял, но вдруг кому пригодится.
Форекс - самый дорогой способ познать себя.
12.01.2013, 18:05
Аватар для Sergey Kovalyov
Sergey Kovalyov Sergey Kovalyov вне форума Элитный участник
Регистрация: 10.08.2012 / Адрес: Киев, Слава Украине! / Сообщений: 2,346
Поблагодарили 1,483 раз(а) / Репутация: 1485
Поглядел доку. Вот ты такого нормального API хочешь? Как по мне, так лучше какой-то text-based -- прогай на чем хочешь. =)

А ссылку дай? Там рядом не лежало торгового API? =)
фирсяку на гилляку!

12.01.2013, 18:25
Аватар для sibman
sibman sibman вне форума Активный участник
Регистрация: 27.08.2009 / Адрес: West Siberia / Сообщений: 199
Поблагодарили 135 раз(а) / Репутация: 135
Да и по поводу FIX API. Делал я один проект на фрилансе на С++ с использованием QuickFIX (_http://www.quickfixengine.org/). Ощущение от протокола осталось, что это Тьюринг с Фон Нейманом по пьяне телетайп изобретали. Много мути и костыль на костыле. Обилие версий как раз и говорит о том, что пора это всё бульдозером сносить. Поэтому не хотелось бы с ним связываться. А командная строка меня не пугает, ибо дедушка Столман завещал, что чистый ANSI C и Lisp наше всё
Форекс - самый дорогой способ познать себя.
12.01.2013, 18:30
Аватар для Sergey Kovalyov
Sergey Kovalyov Sergey Kovalyov вне форума Элитный участник
Регистрация: 10.08.2012 / Адрес: Киев, Слава Украине! / Сообщений: 2,346
Поблагодарили 1,483 раз(а) / Репутация: 1485
Ну, я только теоретик. Внуть ни в одну спецификацию FIX'а не смотрел. Хотя, такие же отзывы как твой тоже слышал. Ну, дадут что-то в паблик кто-то из тех контор, сам знаешь каких, будем уже подстраиваться под то, что они дадут. =)
фирсяку на гилляку!

12.01.2013, 18:37
Аватар для sibman
sibman sibman вне форума Активный участник
Регистрация: 27.08.2009 / Адрес: West Siberia / Сообщений: 199
Поблагодарили 135 раз(а) / Репутация: 135
Сообщение от: Sergey Kovalyov
Поглядел доку. Вот ты такого нормального API хочешь? Как по мне, так лучше какой-то text-based -- прогай на чем хочешь. =)
А ссылку дай? Там рядом не лежало торгового API? =)
_http://*************.com/forumdisplay.php?190-FXOpen-ECN-STP

Смотри FDK. Там какая то версия FIX реализована. Но всё это на .NET
Для меня это засада. Не люблю я этот продукт. А на счёт text-based я только за, но существующее положение с фиксом не лучщий вариант.
Форекс - самый дорогой способ познать себя.
12.01.2013, 18:40
Аватар для sibman
sibman sibman вне форума Активный участник
Регистрация: 27.08.2009 / Адрес: West Siberia / Сообщений: 199
Поблагодарили 135 раз(а) / Репутация: 135
Под звёздачками форум.фхоупен
Форекс - самый дорогой способ познать себя.
12.01.2013, 18:51
Аватар для sibman
sibman sibman вне форума Активный участник
Регистрация: 27.08.2009 / Адрес: West Siberia / Сообщений: 199
Поблагодарили 135 раз(а) / Репутация: 135
Сообщение от: Sergey Kovalyov
Ну, я только теоретик. Внуть ни в одну спецификацию FIX'а не смотрел. Хотя, такие же отзывы как твой тоже слышал. Ну, дадут что-то в паблик кто-то из тех контор, сам знаешь каких, будем уже подстраиваться под то, что они дадут. =)
Большинство контор, которые фикс-айпи предоставляют возлюбили версию 4.4. С 5 версией еще ни одну не видел. Если нашим конторам понадобятся бета-тестеры API, я всегда готов,но только С++ или Java. С С# не дружу.
Форекс - самый дорогой способ познать себя.

Последний раз редактировалось sibman; 12.01.2013 в 18:55.
12.01.2013, 18:55
Аватар для Sergey Kovalyov
Sergey Kovalyov Sergey Kovalyov вне форума Элитный участник
Регистрация: 10.08.2012 / Адрес: Киев, Слава Украине! / Сообщений: 2,346
Поблагодарили 1,483 раз(а) / Репутация: 1485
До понял я, что там под звездочками. =)

Там где FDK, пишут, что всего 1.7 FIX заимплементили. А что 5-ый типа лучше стал или тебе просто ради интереа поиграться с новым чем-то?

Ну, Раннев шарп не даст. И вряд ли яву даст. Там сишники у него, как я понял. Так что все будет хорошо. =)

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

12.01.2013, 18:58
Аватар для Sergey Kovalyov
Sergey Kovalyov Sergey Kovalyov вне форума Элитный участник
Регистрация: 10.08.2012 / Адрес: Киев, Слава Украине! / Сообщений: 2,346
Поблагодарили 1,483 раз(а) / Репутация: 1485
Меняешь посты на ходу. =)

Я не понял, ты "нормальный" API подвязываешься тестить или таки FIX 5ый?
фирсяку на гилляку!

12.01.2013, 19:08
Аватар для sibman
sibman sibman вне форума Активный участник
Регистрация: 27.08.2009 / Адрес: West Siberia / Сообщений: 199
Поблагодарили 135 раз(а) / Репутация: 135
Сообщение от: Sergey Kovalyov
Меняешь посты на ходу. =)

Я не понял, ты "нормальный" API подвязываешься тестить или таки FIX 5ый?
Я с фиксом вообще бы не хотел связываться, я про нормальный API.
Форекс - самый дорогой способ познать себя.
12.01.2013, 19:14
Аватар для sibman
sibman sibman вне форума Активный участник
Регистрация: 27.08.2009 / Адрес: West Siberia / Сообщений: 199
Поблагодарили 135 раз(а) / Репутация: 135
Сообщение от: Sergey Kovalyov
До понял я, что там под звездочками. =)

Там где FDK, пишут, что всего 1.7 FIX заимплементили. А что 5-ый типа лучше стал или тебе просто ради интереа поиграться с новым чем-то?

Ну, Раннев шарп не даст. И вряд ли яву даст. Там сишники у него, как я понял. Так что все будет хорошо. =)

А опены... я там Дениса спросил в их ветке, подождем, что расскажет.
Нет версии 1.7 у фикса. Это в версии 1.7 FDK фикс появился.
Форекс - самый дорогой способ познать себя.
12.01.2013, 19:23
Аватар для sibman
sibman sibman вне форума Активный участник
Регистрация: 27.08.2009 / Адрес: West Siberia / Сообщений: 199
Поблагодарили 135 раз(а) / Репутация: 135
По поводу 5 версии фикса. Я про то, что если хочешь им заморочиться, смотри спецификацию 4.4 пятерка пока в широкую серию не пошла.
Форекс - самый дорогой способ познать себя.
12.01.2013, 19:44
Аватар для sibman
sibman sibman вне форума Активный участник
Регистрация: 27.08.2009 / Адрес: West Siberia / Сообщений: 199
Поблагодарили 135 раз(а) / Репутация: 135
Да , Сергей, еще если интересно пообщайся с NPB. Они тоже API дают, но там будет Java 100%.
Форекс - самый дорогой способ познать себя.
12.01.2013, 20:51
Аватар для Sergey Kovalyov
Sergey Kovalyov Sergey Kovalyov вне форума Элитный участник
Регистрация: 10.08.2012 / Адрес: Киев, Слава Украине! / Сообщений: 2,346
Поблагодарили 1,483 раз(а) / Репутация: 1485
Нет версии 1.7 у фикса. Это в версии 1.7 FDK фикс появился.
"New version of FDK has been released.
List of changes:
• Quotes downloader example
• FIX protocol 1.7 supporting
• Renaming "

Ну я не знаю, кто так ченжлоги пишет, тогда. =)

Про 4.4 понял, спасибо. Яву не хочу. Мне или text-based или максимум C/C++
Да и как hrenfx сказал, не API важней, а торговые условия. Ацкий налог для нерезидентов все сразу перечеркивает на взлете. =)
фирсяку на гилляку!


Последний раз редактировалось Sergey Kovalyov; 12.01.2013 в 20:54.
12.01.2013, 23:26
Аватар для sibman
sibman sibman вне форума Активный участник
Регистрация: 27.08.2009 / Адрес: West Siberia / Сообщений: 199
Поблагодарили 135 раз(а) / Репутация: 135
Сообщение от: Sergey Kovalyov
"New version of FDK has been released.
List of changes:
• Quotes downloader example
• FIX protocol 1.7 supporting
• Renaming "

Ну я не знаю, кто так ченжлоги пишет, тогда. =)

Про 4.4 понял, спасибо. Яву не хочу. Мне или text-based или максимум C/C++
Да и как hrenfx сказал, не API важней, а торговые условия. Ацкий налог для нерезидентов все сразу перечеркивает на взлете. =)
Посмотрел ForexConnect API - это обвязка на с++ и java вокруг FIX 4.4
Для институционалов FXCM отдает чистый FIX 4.4

Хотел api сюда выложить, но он зараза 12 мег, во вложения не лезет.
Взять можно здесь _http://forexforums.dailyfx.com/forexconnect/392705-forexconnect-api-subscribe-updates.html
Форекс - самый дорогой способ познать себя.
12.01.2013, 23:50
Аватар для Sergey Kovalyov
Sergey Kovalyov Sergey Kovalyov вне форума Элитный участник
Регистрация: 10.08.2012 / Адрес: Киев, Слава Украине! / Сообщений: 2,346
Поблагодарили 1,483 раз(а) / Репутация: 1485
Ну, для ознакомления, разве что. Торговые условия там зверские, конечно. =)

Выглядит солидно. Сразу дают и под Linux. Умеют же, гады. =)
фирсяку на гилляку!

Ответить


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.



Текущее время: 00:23. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO