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

 
Yurixx:
Piligrimm

Надеюсь, что число скептически настроенных к мультивалютному анализу поуменьшилось, и полученные результаты помогут кому-то найти свою эффективную стратегию торговли.

Надо отдать вам должное, очень интересная и осмысленная идея.
И вайвелет преобразование выглядит весьма конструктивно. Надо разбираться.
Браво!
Вайвелеты имеют значительное преимущество если их использовать вместо индикаторов, они поддерживают высокую динамику при развротах и дают заметно меньшее запаздыване относительно исходных данных. Кратко суть вайвелет преобразования в том, если кто не знаком с этим, что они раскладывают сигнал на спектральные составляющие, далее отсекая часть спектра, по оставшимся гармоникам формируют новый сигнал. Для разложения в спектр им нужно всего три отсчета, это не сравнить, например со скользящими средними, где для получения аналогичной сглаженности потребуется 6-10 отсчетов, что вносит соответствующую задержку относительно реальных данных.
Но как и индикаторы, сами вайвелет преобразования не способны дать прогноза, а картина нарисованная ими отражает только прошлое, и делать какие-либо серьезные заключения о будущем по этой картине - бессмысленно, надо строить прогнозирующие системы, только так можно с большей или меньшей уверенностью говорить о тенденции рынка.
 
elritmo:
Piligrimm, расскажи а как с помощью мт вывести график close какой либо пары на чарт другой валютной пары?

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

Основная проблема Фурье-преобразований заключается в том, что они применимы только для периодических функций. Если использовать их для непериодической функции, опираясь на конечный кусок истории, то в результате получается периодическая функция, которая бесконечно повторяет опорный кусок.
Судя по вашей цитате, вайвелет преобразования должны страдать тем же недостатком. Это так ?
 
xnsnet:

Это не вызвано перегрузкой сервера ДЦ, более быстрым приходом измененных котировок, а лишь разницей в настройках фильтров, каждый настраивает так как считает нужным. Да, именно поэтому толстокожесть советника является необходимостью, потому что у одного ДЦ он сделает одно, а у другого другое. Фильтр действует таким образом, что как бы отбирает наиболее реалистичные котировки, с учетом временных промежутков, но он не эмулирует котировки, а лишь отбрасывает некторые варианты, оставляя лишь наиболее правдоподобные. К сожалению, для пользователя или программы, это не та правда которую они хотят видеть, поэтому и начинаются такие темы, как анализ между ДЦ.

Замечу что я использую сразу два показателя, серверного и клиентского времени интервалов, поэтому в графиках почти нет разницы, только в таких отфильтрованных участках на стороне сервера.

Разница во времени, исчисляется в восьмибайтном времени, где дата сервера преобразуется в (gcnew DateTime( 1970, 1, 1 ))->AddSeconds( iSrv ), затем используеся сумма разницы времени тика, серверного и клиенского, деленная на девять в восьмой степени, на данном графике, для того чтобы получить разницу в секундах, нужно поделить на десять в седьмой степени. Таким образом я могу делать вывод с высокой точностью исключая проблеммы в скорости обновления данных. Разве что на тик расходуется по одному пикселу, но я думаю для некоторых режимов, типа вывода времени внутри тиков я уберу расход, тогда будет идеально сопоставимо даже по размеру. Ну что поделаешь, копатель я, даже сам того не желая копаю под самый корень:)

Уважаемый Пилигрим, меня интересует, что вы скажете в ответ на это утверждение?

Копайте дальше!!!
Ну а если серьезно, то прежде всего определитесь с конечной целью, что Вы хотите достичь, и как собираетесь использовать полученную информацию, от этого будет зависить то, в каком виде и формате ее лучше представлять. Если Вы собираетесь дальше делать МТС на основе анализа тиков, то нужно синхронизировать тики разных инструментов по времени, а это самое трудное во всей этой работе, иначе Вы не получите объективной картины, а как следствие, и эффективной работы МТС.

Правильная подготовка исходных данных - 90% успеха в решение любой задачи, а в трейдинге это еще более актуально, и неудача многих, кто пытается заниматься прогнозированием, как раз в том, что не сумели правильно сформировать данные в соответствии с алгоритмом их обработки.

 
Кстати если я приделаю к программе взаимодействие, то я смогу комбинировать результаты нескольких ДЦ и дополнять отсутствующие данные в обе стороны, например на скриншотах выше заметно что оба ДЦ страдают свойственной им фильтрацией, фактически в противоположную сторону, по графику EURUSD это легко заметно в самом начале. А так как вся суть делемы состоит именно в отсекании тиковых данных фильтрами, то таким способом фильтрация исчезнет в небольшом объеме. Все зависит от того каких брокеров сравнивать. Но это как нибудь потом:)
 
Yurixx:
Piligrimm:
Кратко суть вайвелет преобразования в том, если кто не знаком с этим, что они раскладывают сигнал на спектральные составляющие, далее отсекая часть спектра, по оставшимся гармоникам формируют новый сигнал.
В таком случае, чем вайвелет преобразования отличаются от различного рода преобразований Фурье, спектрального анализа и пр. ?

Основная проблема Фурье-преобразований заключается в том, что они применимы только для периодических функций. Если использовать их для непериодической функции, опираясь на конечный кусок истории, то в результате получается периодическая функция, которая бесконечно повторяет опорный кусок.
Судя по вашей цитате, вайвелет преобразования должны страдать тем же недостатком. Это так ?

Нет, вайвелет преобразования построены по иным принципам, чем Фурье-преобразования, и в этом их приимущество по сравнению с другими методами спектрального анализа, хотя говорить о спектральном анализе здесь вообще, на мой взгляд, не правомерно, здесь скорее нужно говорить о специфическом методе фильтрации. После преобразования получается так называемая карта коэффициентов, и ее можно использовать также для визуального анализа и поиска закономерностей в исследуемом процессе. Но я в этой области не специалист, и последние года 3-4 не интересовался этой темой, сейчас в интернете, я думаю, появилось много новой информации по вайвелет преобразованиям. Я привык их называть так, хотя правильней будет - вейвлет-преобразования.

Кстати, вот нашел ссылку на использование вейвлет-преобразования совместно с нейронными сетями: http://library.mephi.ru/data/scientific-sessions/2001/Neuro_Lect/2343.htm там есть пример:
"Анализ финансовых временных рядов и значимость факторов при нейросетевом моделировании".

И еще ссылка: http://www.tradeways.org/wave_4.php
 
Фактически я уже вижу решение нужна программа сервер для хранения тиков, возможно самый простой способ заполнить тики в единое русло, это использовать SQL тогда по сути можно несколько серверов под это дело задействовать для сбора данных с разных ДЦ:) Хотя лучше всего было бы написать для этого собственный сервер, но мои возможности ограничены парой рук поэтому для реализации этого действа придется пожертвовать мелочами:) И проблеммы связи исчезают, только в случае перебоев у интернет провайдера:) Хотя если говорить по правде, лучше SQL может быть только собственный сервер.
 
xnsnet:
Кстати если я приделаю к программе взаимодействие, то я смогу комбинировать результаты нескольких ДЦ и дополнять отсутствующие данные в обе стороны, например на скриншотах выше заметно что оба ДЦ страдают свойственной им фильтрацией, фактически в противоположную сторону, по графику EURUSD это легко заметно в самом начале. А так как вся суть делемы состоит именно в отсекании тиковых данных фильтрами, то таким способом фильтрация исчезнет в небольшом объеме. Все зависит от того каких брокеров сравнивать. Но это как нибудь потом:)
Здесь все может оказаться не так просто. А если эти отличия вызваны в рсновном тем, что ДЦ получают информацию из разных источников? В таком случае Вы будете вносить только дополнительные искажения. Но в любом случае пробуйте, только с оглядкой на то, чтобы не внести дополнительные помехи.
 
Piligrimm:
Здесь все может оказаться не так просто. А если эти отличия вызваны в рсновном тем, что ДЦ получают информацию из разных источников? В таком случае Вы будете вносить только дополнительные искажения. Но в любом случае пробуйте, только с оглядкой на то, чтобы не внести дополнительные помехи.

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

P.S.: Надеюсь никто больше не будет убеждать меня в том, что с тиками работать не нужно или бессмысленно:))))
Причина обращения: