Идеальный фильтр - страница 9

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

Косметические комментарии могу по коду внести. Ато пока каша у Вас, хоть и с виду результирующая кривая вроде как похожа на правду.

1)Индикатор сумматор должен быть отдельно от собственно фильтра который он просчитывает. Смешивать не кошерно. Чтоб накинуть такой индюк на любой фильтр и посмотреть как он наяривает.

2)Суммирование нужно реализовать отдельно как класс или функцию, чтоб не плодить буфера.

3)Совсем странно реализован алгоритм, у меня он совсем простой, у Вас 10 буферов это ахтунг. 1 буфер должен быть только для просмотра, остальное в функцию.

4)То что Вам посоветовал hrenfx, колени считать от bid и ask ВР, отнимать коммисию и среднее проскальзывание по данной паре, если его МО отлично от нуля.

 
hrenfx:

Прошу не обижаться, а отнестись с пониманием:

Ок, если Вам так удобней. 

J.B:

Спасибо, прочел, очень интересно. Автор искал именно то что ищу я, то есть найти способ тестирования индикаторов относительно "идеала", к сожалению я так понял пока решения не найдено, я не увидел его в приведённой теме с форума MQL4. 

Интуиция подсказывает что нужно сгенерировать с помощью индикатора точки входа и выхода и сравнить их с идеальными сгенерированные с помощью ZigZag. Главный вопрос это критерий сравнения. Как сравнить два временных ряда в данном контексте?

Минимум сумы разностей элементов? x1-y1+...+xn-yn Но точки входа\выхода разных стратегий могут иметь разную плотность и к тому нужно учесть не точность попадания бар в бар, для этого исходные ВР должны сравниваться по нечетким алгоритмам, для этого с технической точки зрения нужно исходные ВР отфильтровать например по Гаусу, размыть границы и вычислять разность только элементов >0 или некоторого порога.

Ну и всё таки я пришел к выводу что  чистый ZigZag, не показывает идеальные вхолды\выходы, нужно брать ZigZag от двойной SMA малого периода смещённого на пол периода назад. Дело в том что чистый ZigZag ловит совершено нереальные места, которые никаким способом нельзя вычислить, статистические флуктуации, выбросы и подобное, на такие точки ровняться нет смысла так как они бессмысленны.

У меня возникла мысль на счет критерия "идеальности" индикатора, может пригодится кому:

(SUM((price-Filter),N)*SUM(boolReverse,N))/N>>>0;

То есть на определённом участке в N баров суммируется разность фильтра и исходного ВР(например price), на том же участке считаются количество разворотных точек, произведение этих величин должно стремится к 0. Логически это значит что фильтр наиболее повторяет исходный ВР но при этом он «гладкий» так как количество разворотов минимально.

Такой критерий имеет недостатки, например если filter=price, можно тогда не произведение брать а квадрат суммы, или просто сумму. Ну в общем идея должна быть понятна.


 
hrenfx:

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

Резюмируя на пальцах: в случае с FXOPEN ECN можете считать, что ВР проскальзывания - нулевая константа, а реджектов просто нет. Т.е. учитывайте только единственную торговую издержку - комиссию.

Dima_S:

Вот Вам статистика по проскальзываниям на FXOpen - с реального счета, лот постоянный 0.3, число трэйдов по каждому инструменту около 20, в среднем, кроме EURAUD.


Замечательно! благодарствую! По идее перспективы радужные, даже на таком простом принципе.

m.butya:


Вам(втору) как новичку, конечно удобнее маятся с индикаторами по началу, в принципе это неплохо, но это переходный этап, пока не научитесь обходиться без них. Я имею в виду что все эти фильтры типа JJMA и подобные использовать как основу для построения стратегии это изврат. Они только для наглядности нужны новичкам. Все проходят через это, главное не зациклиться, сама тема «идеальный фильтр» намекает на такую зацикленность. Это опасно, можно застрять в новичках на долго.

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

ЗЫ: Про «нулевое» проскальзывание и прочее придётся узнать самому на практике, нельзя про это узнать на форуме, это познается только через адекватный слив. Но если выделить главный фактор, то это на сколько хватит капитала выдержать длинные шпили и всякие «выбросы» которые у вас отфильтровываются сейчас, чтобы часто не закрываться лосем или Коляном, затем то что в реальной торговле парни с ДЦ так же как и вы примерно знают где люди будут ставить ордера и там раздвигает бид  аск, для них это такая же творческая работа как и у вас при создании ТС. Я не говорю что это непреодолимое препятствие, но нужно понимать что «грааль» это очень временное явление и уж точно не может быть построен на фильтре(ах), точнее это сложно и избыточно.

Ну да всё верно, я новичок и мне пока в радость «маяться» с фильтрами. Как паттернами пользоваться пока не в курсе, если Вы о свечных фигурах вроде «голова и плечи», «внутренний бар», «повешенный» и тп. то я чисто интуитивно пока не мотивирован к такому анализу. Каким то язычеством это пахнет(ИМХО). Как раз таки именно паттерновые алгоритмы «избыточны», то есть это перебор и сравнение целой кучи всяких фигур, количество которых можно «сократить»(в мат. смысле) наверно в сотни раз(ИМХО), но тогда это всё сведётся к простой фильтрации, ну может немного более чем простой, но это не перебор сотен каких то загадочных фигур. И честно говоря я не уверен что эти «классические» свечные паттерны ещё остаются эффективны, также непонятно на каком масштабе они работают а на каком нет и огого сколько вопросов ещё. Но самое главное что я не понимаю причины почему сложная свечная фигура вообще должна что то предсказывать, на чем это основано?(риторический вопрос) Я читал Дж.Швагера TA Полный курс и ряд других книжек, по началу просто накапливал инфу как есть, но постепенно начало накапливаться стойкое ощущение жуткой избыточности, всех этих «фигур», «паттернов» и прочих сложных структур.

Это же динамический хаос, чисто интуитивно я против «памяти» сложных структур в этом контексте, нет причин для этого(ИМХО на данный момент). Это как броуновское движение, есть только мгновенный импульс и беспорядочные вектора сил, меняющие этот импульс во времени, единственное отличие что в случае цВР, вектора сил не совсем беспорядочные, они как мне кажется имеют фрактальную структуру, которою можно путём декомпозиции разбить на компоненты и соответственно затем вычислить неравномерности в плотности вероятности распределения этих «сил» на ближайшее будущее. «Ближайшее» это значит до момента изменения импульса, к примеру как если идёт игра в футбол и мы предсказываем траекторию мяча, тогда логично что её можно достаточно достоверно предсказать от удара к удару человека по нему, как только происходит резкое смена направления, траектория вычисляется заново, предыдущая история уже ни имеет смысла, только последний удар по мячу. В общем что то типа того… Нам не известно расположение игроков и их тактика, мы видим только мяч. Я думаю при таких условиях это наиболее верный путь прогнозирования. Предсказывать где будет мяч после 2-го удара, затея неудачная, как и учитывать «магические связки» предыдущих импульсов. Горизонт прогноза маленький. Но тем не менее этого может быть вполне достаточно чтоб заработать, как мне кажется, если вовремя сесть на трамвай и вовремя выскочить.

gunia:

Косметические комментарии могу по коду внести. Ато пока каша у Вас, хоть и с виду результирующая кривая вроде как похожа на правду.

1)Индикатор сумматор должен быть отдельно от собственно фильтра который он просчитывает. Смешивать не кошерно. Чтоб накинуть такой индюк на любой фильтр и посмотреть как он наяривает.

2)Суммирование нужно реализовать отдельно как класс или функцию, чтоб не плодить буфера.

3)Совсем странно реализован алгоритм, у меня он совсем простой, у Вас 10 буферов это ахтунг. 1 буфер должен быть только для просмотра, остальное в функцию.

4)То что Вам посоветовал hrenfx, колени считать от bid и ask ВР, отнимать коммисию и среднее проскальзывание по данной паре, если его МО отлично от нуля.

Спасибо, за коменты, поднаберусь опыта в MQL попробую "косметически" красиво делать индюки и совы, пока это только тесты идей, потому прошу прощения за корявость исполнения.

lucky_teapot:

Ок, если Вам так удобней. 

У меня возникла мысль на счет критерия "идеальности" индикатора, может пригодится кому:

(SUM((price-Filter),N)*SUM(boolReverse,N))/N>>>0;

То есть на определённом участке в N баров суммируется разность фильтра и исходного ВР(например price), на том же участке считаются количество разворотных точек, произведение этих величин должно стремится к 0. Логически это значит что фильтр наиболее повторяет исходный ВР но при этом он «гладкий» так как количество разворотов минимально.

Такой критерий имеет недостатки, например если filter=price, можно тогда не произведение брать а квадрат суммы, или просто сумму. Ну в общем идея должна быть понятна.


Замечательная идея, учитывая её простоту, спасибо!

 
J.B:
Это как броуновское движение... к примеру как если идёт игра в футбол и мы предсказываем траекторию мяча...

Аналогия с футболом и броуновским движением неверна. Это не физика.

 
m.butya:

Аналогия с футболом и броуновским движением неверна. Это не физика.

Всё же какая то аналогия нужна, иначе произвольный перебор в бесконечном алгоритмическом пространстве не имеет шансов на успех. Про броуновское движение и футбол это не мой эксклюзив, например господин Achmad Hidayat многие эксперты основывает на физике. Да и вообще физиков не с проста переучивают в аналитики в фондах(кванты и тп.), физики и математики более перспективны для таких исследований чем экономисты. Наверняка это имеет причины. Хотя я могу ошибаться, это так… лирическое отступление.

Если Вы говорите «это не физика», то что же тогда «это», на Ваш взгляд?

 
J.B:

...

Если Вы говорите «это не физика», то что же тогда «это», на Ваш взгляд?

Хаотичное непредсказуемое. Задача научиться извлекать из этого прибыль. )))
 

Простое сравнение текущей цены со средним значением цены на дневном периоде. Если цена провалилась под самоадаптирующуюся СМА, то на подтяжке следует продавать. Работает на любом периоде.

https://charts.mql5.com/1/537/usdchfd-m1-straighthold-investment-group.png 

Ну и на тиковый объем нужно посматривать. Если столбик валюты выше столбика другой валюты  это подтверждение. Или как здесь говорят "фильтр".

 
J.B:

Всё же какая то аналогия нужна, иначе произвольный перебор в бесконечном алгоритмическом пространстве не имеет шансов на успех. Про броуновское движение и футбол это не мой эксклюзив, например господин Achmad Hidayat многие эксперты основывает на физике. Да и вообще физиков не с проста переучивают в аналитики в фондах(кванты и тп.), физики и математики более перспективны для таких исследований чем экономисты. Наверняка это имеет причины. Хотя я могу ошибаться, это так… лирическое отступление.

Если Вы говорите «это не физика», то что же тогда «это», на Ваш взгляд?

Почитайте Lecturing_Birds_on_Flying. Талеб тоже философствует на "эту" тему хорошо. А вообще это невыразимо словами как Дао)) Только понял, а оно уже изменилось.
 
tol64:
Хаотичное непредсказуемое. Задача научиться извлекать из этого прибыль. )))
m.butya:
Почитайте Lecturing_Birds_on_Flying. Талеб тоже философствует на "эту" тему хорошо. А вообще это невыразимо словами как Дао)) Только понял, а оно уже изменилось.

При всём уважении, но я против «хаотичного непредсказуемого», «ДАО» и прочих ссылок на загадочность и непредсказуемость. Такая модель всё равно что отсутствие модели, отсутствие модели модели и тп. А это значило бы полное равноправие в НЕзарабатывании всех участников марафона. Разве на практике это наблюдается? НЕТ! Значит есть модель с профитным МО. А значит не так уж рынок непредсказуем. Да что об этом говорить, если на элементарном выше приведённом алгоритме стабильный пипсовый профит, даже на максимальных 2х старых пипсах спреда.

Пока чисто практически вижу только 2 типа алгоритмов. Инерционный и осциллирующий. Остальное либо алхимия, либо вообще разводняк. Иначе говоря есть вполне конкретная модель. Она естественно даёт на выходе только вероятности, но эти вероятности вполне конкретны и предсказуемы. Иначе бы не было вообще смысла этим заниматься. Может если понимать «хаотичное непредсказуемое» с точки зрения «женской логики» то оно как бы и верно, то есть для одних верно для других нет, консперология, дифференциация в зависимости от социального статуса и тп., но я так не рассуждаю, простите. Если что то верно, то это так для всех или ни для кого. А раз кто то косит миллиарды, то всё таки оно верно, значит нужно всего лиш правильно смоделировать.

iTC:

Простое сравнение текущей цены со средним значением цены на дневном периоде. Если цена провалилась под самоадаптирующуюся СМА, то на подтяжке следует продавать. Работает на любом периоде.

https://charts.mql5.com/1/537/usdchfd-m1-straighthold-investment-group.png 

Ну и на тиковый объем нужно посматривать. Если столбик валюты выше столбика другой валюты  это подтверждение. Или как здесь говорят "фильтр".

Это в моей классификации осциллирующая стратегия, «канальная» как некоторые называют. Очевидно что многое зависит от способа вычисления МО, относительно которого считается отклонения, соответственно и границы канала, отскок\прорыв и тп.

Согласитесь, осцилляция относительно МО справедливо только  для флэта, после «прорыва» границы канала резко возрастает вероятность «квантового скачка». Это очень похоже на орбиты электронов, которые дискретны.