Индикатор "Тангенс" для идентификации тренда и флэтта - страница 4

 

Индикаторами не пользуюсь, но выскажу идеи, возникшие по прочтении предыдущих сообщений

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

                                       (текущая цена/средняя - 1).             (*)

Именно относительные приросты сравнимы: их можно складывать и вычитать, анализируя приросты EURUSD, GBPUSD и EURGBP, поскольку EURGBP=EURUSD/GBPUSD, а при небольших отклонениях

                                     (x+dx)/(y+dy)=(x/y)*(1+dx-dy).    (**)

При отклонениях величиной в фигуру (100 4-разрядных пунктов) ошибка замены (**) порядка 0.01%. Также и для EURGBP=EURСHF/GBPCHF, NZDJPY=AUDJPY/AUDNZD и вообще для всех валютных пар, сравнимы как раз относительные приросты. На порожденных ими графиках будет легче видеть и говорить о "больших" и "малых" значениях. Кроме того, естественным образом пропадут вопросы с японской валютой, а индикатор можно будет использовать для произвольных валют с самыми неожиданными по величине курсами. И для металлов, и для индексов. Хоть для биткоинов и акций.

У относительных приростов есть недостаток, заметный на больших колебаниях входящих значений. Получив убыток 30%, для возврата к прежнему депозиту нужно наторговать почти 43% прибыли. Недостаток устраняется, если делить не на исходный депозит, а на среднее арифметическое депозитов "до" и "после":

                                (-0.3*Depo)/[0.5*(Depo+0.7*Depo)] = -(0.3*Depo)/[0.5*(0.7*Depo+Depo)], или -0.353=-0.353.

Отклонения курсов валют гораздо меньше, уход курса вниз даже на 5 фигур (500 4-разрядных пунктов), до 95%, при возврате вверх за то же число баров (времени, тиков) будет соответствовать не 5%, а 5.25%. Но для пущей точности и в данном случае в (*) можно делить не на среднюю, а на полусумму текущей цены и средней. Тогда важность значений относительного прироста выше и ниже нулевой линии будет одинакова.

Относительно градусов. В языках MQL нет стандартной константы со значением числа Пи. Можно один раз его вычислить по формуле

                 double Pi=2*MathArcsin(1);

и дальше пользоваться. Имея значение тангенса T, угол в градусах в диапазоне от -90 до 90 получаем так:

              double Grad=180*MathArctan(T)/Pi;

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

 
Vladimir:

Индикаторами не пользуюсь, но выскажу идеи, возникшие по прочтении предыдущих сообщений

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

                                       (текущая цена/средняя - 1).             (*)

Именно относительные приросты сравнимы: их можно складывать и вычитать, анализируя приросты EURUSD, GBPUSD и EURGBP, поскольку EURGBP=EURUSD/GBPUSD, а при небольших отклонениях

                                     (x+dx)/(y+dy)=(x/y)*(1+dx-dy).    (**)

При отклонениях величиной в фигуру (100 4-разрядных пунктов) ошибка замены (**) порядка 0.01%. Также и для EURGBP=EURСHF/GBPCHF, NZDJPY=AUDJPY/AUDNZD и вообще для всех валютных пар, сравнимы как раз относительные приросты. На порожденных ими графиках будет легче видеть и говорить о "больших" и "малых" значениях. Кроме того, естественным образом пропадут вопросы с японской валютой, а индикатор можно будет использовать для произвольных валют с самыми неожиданными по величине курсами. И для металлов, и для индексов. Хоть для биткоинов и акций.

У относительных приростов есть недостаток, заметный на больших колебаниях входящих значений. Получив убыток 30%, для возврата к прежнему депозиту нужно наторговать почти 43% прибыли. Недостаток устраняется, если делить не на исходный депозит, а на среднее арифметическое депозитов "до" и "после":

                                (-0.3*Depo)/[0.5*(Depo+0.7*Depo)] = -(0.3*Depo)/[0.5*(0.7*Depo+Depo)], или -0.353=-0.353.

Отклонения курсов валют гораздо меньше, уход курса вниз даже на 5 фигур (500 4-разрядных пунктов), до 95%, при возврате вверх за то же число баров (времени, тиков) будет соответствовать не 5%, а 5.25%. Но для пущей точности и в данном случае в (*) можно делить не на среднюю, а на полусумму текущей цены и средней. Тогда важность значений относительного прироста выше и ниже нулевой линии будет одинакова.

Относительно градусов. В языках MQL нет стандартной константы со значением числа Пи. Можно один раз его вычислить по формуле

                 double Pi=2*MathArcsin(1);

и дальше пользоваться. Имея значение тангенса T, угол в градусах в диапазоне от -90 до 90 получаем так:

              double Grad=180*MathArctan(T)/Pi;

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

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

данный индикатор дает несколько типов неправильных прогонов, отработка высокая.

 а основная Ваша идея - определить по этому индикатору состояние рынка ( тренд, флет), по моему, глупая...

на рынке на текущем моменте всегда не тренд, не флет а неопределённость...а тренд, флет определяется только на истории

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