Эффективная торговая стратегия основанная на мультивалютном анализе нескольких ДЦ - страница 12

 
Действительно, надо делать и пробовать:) Главное, есть с чего начинать:) Спасибо всем кто учавствовал в развитии этой темы, ваши мнения и высказывания вывели мысль на тот уровень до которого мы в одиночку бы не дошли:)
 
xnsnet:
Вот, вот, Алексей мне нравятся ваши мысли:) Возьму тик по максимуму определения данных 128 байт, умножить на 100 тысяч тиков, двенадцать метров, с одного клиента за день умножить на 100 клиентов, гигабайт, я даже со своими ресурсами смогу держать историю за пару месяцев со ста клиентов, что говорить если поставить необходимое железо, за годы с уверенным уплотнением.

Можно ещё лучше - сервер ничего хранить не будет он будет только обрабатывать запросы и искать нужные данные у клиентов, которые сейчас в онлайне или ждать каких то в онлайне у которых были замечены эти данные прежде.
Это что то типа пиа ту пиа (осла или казы) системы но для котировок. ;) Сервер если нашёл запрошенные данные у нескольких клиентов то распределяет скачивание различных участков запрошенной истории с различных клиентов чтобы одного не загружать только. Часто запрашиваемые участки истории можно хранить в кэше на этом сервере.
 
Но как быть, первое, с хранением истории, второе, с качеством истории, ведь тогда будет сложно выявить вредителей. Это не файлы, которые широко распространены и даже это в в P2P сети не спасет от недостоверности информации по хашкоду. Хранить историю работы можно у клиента как резервный вариант, падения самого сервера. Чтобы быстро востановить коротковременные перебои. Но делать хранилищем клиентов, не вижу смысла, скажется на безопасности. И ко скольки клиентам надо будет подключится чтобы собрать все данные воедино, кроме того многие сидят под глухой защитой и не все имеют выделенные IP мы же не в локалке. Многие просто не согласятся с таким сильным поглащением трафика. Можно как вариант учесть несколько серверов, в любом случае сервера должны обладать делегированием данных.
 
Многие трейдеры имеют DSL или другой способ быстрого и постоянного подключения к инету. У меня ADSL если переконекчивается, то планово для смены IP динамического. Вообще сначала может быть клиент ты я и может ещё один энтузиаст все будут качать от них но если он качает то тоже уже должен предоставить данные другим - автоматом это происходит. Думаю клиентов должно много набраться со временем таких же как и ты сам. Это типа проекта OpenQuotes бедет :)
Вредительство да может быть если подсунут левые данные. Можно было бы решить сравнивая данные от хотябы двух различных клиентов тоже программно. Но вообще то я тоже думаю что с сервером будет надёжнее в плане безопасности. Можно поставить ноутбук как сервер - не шумит сильно и относительно не дорогой. Но тогда придётся на него сбрасываться и оговаривать у кого он будет стоять :) Хотя может быть кто то и своим компом пожертвует. Но потом желательно иметь хотябы два сервера у различных людей а то один сервер с котирами может исчезнуть.
Может быть MQ предоставит свой сервер, увидив что проект пользуется популярностью ;)
Представители MQ скажут - зачем вам история от ДЦ если есть наши пушистые котировки в History Center берите и пользуйтесь и пишите робастых советников чтобы они были не чувствительны к котировкам. Это правильно но как проверить быстро что совтеник также работает приемлимо и на данных других дц - желательно иметь большую историю от этих ДЦ - за год например. А три месяца минуток которые предоставляет ДЦ маловато будет и потом в истроии они могут быть отфильтрованы уже каким то образов для красивости.  
 

У меня выделенка, 100 мегабит канал в интернет, трафик разве что ограничен, исходящий побоку, для эксперементов хватит:) Ну а дальше, можно закупить полноценный сервер и не один и поставить на площадку, если затея выгорит:) Как говорится, было бы ради чего, все остальное не важно:) Инвесторы найдутся сами собой, для сего предприятия, если будут результаты и смысл:) Я с тиками не просто так работаю, как говорится, надо мыслить глобально и все будет осмысленно:) Ради минуток суетится не вижу смысла:) Тик это одна четкая величина время и цена, ну плюс время клиента, а бар это уже несколько величин в промежутке которых может быть все что угодно, даже не представляю как комбинировать бары и сравнивать, это глупость, так как ошибки будут на каждом шагу. Если тики можно сравнивать то бары, это все равно что сравнивать слона с мышкой, тем более между ДЦ.

О каком сервере котировок метаквотов идет речь, о демо, если о демо сервере, то он тоже фильтрует котировки на мелочах, других не знаю:) Хотя я сравнивал самые разные сервера, везде что-то да фильтруетя, толи я непонимаю что это не фильтры, а просто не успевшая пройти информация, но вопрос где там не успеешь если разница между тиками в секунду и меньше, но и больше тоже, фильтры по характеристикам четко определяются.

 

Я думаю напишу програмку, которая тики грабит тоже - это не долго. Будем обмениваться тогда тиками если будут проблем. Думаю сервер котировок это муторно и долго. Но если сделаешь то подцеплю своего клиента к твоему серверу.

 
elritmo:
Piligrimm:
elritmo:
Piligrimm, расскажи а как с помощью мт вывести график close какой либо пары на чарт другой валютной пары?

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

Хорошо, я понимаю как вы берёте клоуз выбранных пар через iClose. Затем вы записываете эти значения в файл (интеренсо что за файл и какого формата?)
Затем, я так понимаю, каким-то образом открываете этот файл в МТ4 и он рисует все значения ввиде линий соединяющие Close различных инструметов. Так у вас по крайней мере на скриншоте, где нарисованы линии соединяющие клоуз GBPUSD, AUDUSD и EURUSD не считая ваших линий трендов построенных по какому то алгоритму. Мне просто интеренсо для начала как вы, не рисуя в советнике или индикаторе эти линии, смогли отобразить все три пары ввиде линий различного цвета соединяющих close?
Линия close по инструменту в окне которого рисуем отрисовывается в МТ зеленым цветом. Остальные накладываем после перемасштабитования, в прикрепленном файле пример, загрузить в виде кода в окно мне не удалось. Сам файл предназначен несколько для других задач, поэтому имеет некоторое своеобразие, к тому же я не знаю MQL и пишу на нем очень коряво.

У меня данные загружаются по сформировавшемуся бару, соответственно наложенные графики должны быть сдвинуты на один бар. (Если кто загрузил в течение часа после того как я выставил программу, скорректируйте :
ExtMapBuffer1[155-iw+ip] на ExtMapBuffer1[156-iw+ip], и остальные буфера аналогично).
Файлы:
multim_1.mq4  11 kb
 
У меня кстати до мультивалютки руки не дошли, потому как встали побочные факторы, а так как я все делаю заходами, достаточно быстро, потом только баги исправляю, поэтому сервер написать не столь долгое занятие. Заходы определяются желанием это делать. Зачастую я за несколько часов или скажем за день делаю основную работу, а потом только рамышляю над ней, потому как прежде чем продолжить что-то делать дальше, нужна осмысленность, которой иногда просто нет. Называется идеализм или максимализм, что вобщем-то почти одно и тоже:) Если над данным я пекусь в первую очередь, то о графике вывода иногда забываю, потому как все постепенно, пошагово делается, только по необходимости, того или иного выбора. Наверное если бы я сначала писал а потом думал, уже была бы и мультивалютка и график с числовыми показателями, но насколько она была бы точной и правельной для взгляда не берусь утверждать, если данные фильтруются:) Фильтрация выявлена, пока не будет решена эта проблемма, другая проблемма не появится перед глазами:)

Как правельно заметил Пилигрим, точность исходных данных играет не маловажную роль:) Кстати про синхронизацию тиков, в этом вопросе все решается, ведь рынок последовательно реагирует на события, а значит и на тики мы реагируем так же последовательно, каждый тик имеет значение но без данных других тиков по парам его данные не столько точно отражаются на том же графическом представлении, влияния - движения, перехлесты, все это составляет качество, без всех тиков мы фактически слепы или не столь уверены, в том от чего именно происходит влияние. Тогда как мы не получаем время в большей точности чем секунда, это компенсируется временем клиентского поглащения, чем больше таких клиентов, тем точнее можно определить время с точностью до наносекунды, вот и все точность в синхронизации тиков:) Десять милионов тиков за одну секунду не пройдут, этого вполне достаточно в восьмибайтной структуре числа времени, следовательно порядок у них последовательный. Разность тиков в нашем случае, главное условие, если тик не имеет разницы в цене от приведущего, это первое на что нужно обращать внимание, так как по определению это не изменение в цене, а простыми словами, погрешность сервера или клиента.
 
Piligrimm:
Линия close по инструменту в окне которого рисуем отрисовывается в МТ зеленым цветом. Остальные накладываем после перемасштабитования, в прикрепленном файле пример, загрузить в виде кода в окно мне не удалось. Сам файл предназначен несколько для других задач, поэтому имеет некоторое своеобразие, к тому же я не знаю MQL и пишу на нем очень коряво.
ну теперь я понял - это окно индикатора в котором вы всё рисуете в коде индикатора.
 
Ребята, по моему вы глупостями занимаетесь.

1. На тиках систему вам брокеры не дадут построить, у них есть много способов защититься от этого.
2. Тики - это вещь условная и случайная. У всех они разные по определению, и системы в этом нет.
3. Для тиков, как в квантовой механике, есть эффект принципа неопределенности - процесс измерения влияет на результат. Пока вы являетесь наблюдателем (на демо), вы не влияете на поток тиков. Когда вы начнете работать на реале (измерять - делать запросы котировок), вы сами будете создавать поток тиков, которые будут зависеть от состояния рынка, от настроения вашего брокера, от результатов вашей работы ...

Далее, наверное я многое пропустил, я не читал всю ветку, но почему на один тик вам нужно 128 байт?
ИМХО, за глаза достаточно 2-х. Используем дельта кодирование - первый байт дает приращение времени (например в секундах), второй приращение цены в пипсах. Вряд ли за один тик цена изменится более чем на фигуру, и маловероятно, что между двумя соседними тиками будет больше 4-х минут. Полученный ряд будет состоять в основном из величин близких к нулю, и будет замечательно сжиматься любым алгоритмом сжатия. Кроме того тиков за день не так уж и много. Например на EURUSD на Альпари сейчас примерно 5000 тиков в сутки.
Причина обращения: