![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
В каком смысле "решения"? Из Кембриджа, под авторитетным авторством?
Этих решений 1000. Надо просто сидеть и пробовать, пока не увидишь удовлетворительный результат.
алгоритмы перебора. Чем искать вникать пробовать на простых задачах легче иногда самому ...
А можете своими словами рассказать, что такое CUSUM и как он реализуется?
===
===
Метод конечно шедевреальный, а как глубоко продуманный! Ну фигли - Кэмбридж! Ребята, а вы все, собственными мозгами не в состоянии пользоваться, даже формулы из арифметики только со ссылкой на авторитетное издание?
===
Алексей, а если исходные данные могут занимать отрицательные значения? То все, математическая катастрофа?
Представляю себе этот метод примерно так. Пусть до разладки среднее значение суммируемого ряда Xn равно A, а e - маленькое положительное число. Тогда ряд Xn-A+e при суммировании будет давать слабый тренд вверх, а Xn-A-e - вниз. Если после разладки среднее ряда равно B и |A-B|>e, то произойдёт смена направления тренда одного из двух построенных нами рядов. Поскольку нам интересно накопление суммы каждого ряда с определённым знаком (до заданного порогового значения), то накопление с противоположным знаком мы просто на каждом шаге обнуляем.
Из ВИки: Когда значение S превышает определенное пороговое значение, было обнаружено изменение значения. Приведенная выше формула обнаруживает изменения только в положительном направлении. Когда отрицательные изменения должны быть найдены , а также, операция мин следует использовать вместо максимальной работы, и на этот раз изменение было обнаружено , когда значение S находится ниже значения (отрицательный) порогового значения.
Это было первое что в голову пришло)))
Придется видимо делать несколько проверок. На разницу скоростей на всем диапазоне, и если больше вычисленной ширины коридора по первому скользящему окну и потом скользящим окном из 3 - 5 значений идти смотреть среднее, номинальные и если несколько окон последовательно, значит коридор, если параметры окна на следующем шаге зашкаливают, значит коридора нет.
CUSUM - параметрический тест (подразумевает нормальность ряда). Непараметрический тест можно сделать на основе теста Манна-Уитни (есть в алглибе). Нужно для каждого момента времени n брать все разбития ряда на два куска от 1 до k и от k+1 до n и считать на них Манна-Уитни. Если два таких куска окажутся неодинаково распределёнными, то момент k+1 можно считать моментом разладки.
Считаем среднее от разницы на двух соседних барах. Положительное значение средней - значит наклон вверх, отрицательное - вниз. За счет использования средней отфильтровываются кратковременные незначительные смены направления. Сюда еще преодоление порога можно прикрутить (для приобщения, так сказать, к высшей математике).
Можно посчитать две средних, одна чуть быстрее, вторая чуть медленнее - по их положению будет определяться наклон средней.
CUSUM - параметрический тест (подразумевает нормальность ряда). Непараметрический тест можно сделать на основе теста Манна-Уитни (есть в алглибе). Нужно для каждого момента времени n брать все разбития ряда на два куска от 1 до k и от k+1 до n и считать на них Манна-Уитни. Если два таких куска окажутся неодинаково распределёнными, то момент k+1 можно считать моментом разладки.
А еще можно просто начать пользоваться собственными мозгами.
А еще можно просто начать пользоваться собственными мозгами.
Ну да, фатальный недостаток)
Ну да, фатальный недостаток)
и даже здесь нет собственных слов, а ссылка на нечто типа авторитетное. Но не в тему. Здесь решается элементарная задача и для ее решения достаточно элементарных средств.
Но на каждый чих выкатывать авторитета... это пц. Кризис разума.
CUSUM - параметрический тест (подразумевает нормальность ряда). Непараметрический тест можно сделать на основе теста Манна-Уитни (есть в алглибе). Нужно для каждого момента времени n брать все разбития ряда на два куска от 1 до k и от k+1 до n и считать на них Манна-Уитни. Если два таких куска окажутся неодинаково распределёнными, то момент k+1 можно считать моментом разладки.
Считаем среднее от разницы на двух соседних барах. Положительное значение средней - значит наклон вверх, отрицательное - вниз. За счет использования средней отфильтровываются кратковременные незначительные смены направления. Сюда еще преодоление порога можно прикрутить (для приобщения, так сказать, к высшей математике).
Можно посчитать две средних, одна чуть быстрее, вторая чуть медленнее - по их положению будет определяться наклон средней.
Мысль не понял. Это и было проблемой. Точка перегиба заходила в расчёт средней, а результат запаздывал. Справа и слева нужно среднее считать.
А что тут понимать? Если линия направлена вверх, то ее разница с ее предыдущим значением положительна, если направлена вниз то разница отрицательна (и чем больше разница по модулю, тем круче направлена). Вот этот вот показатель направления усредняется, чтобы пропускать некоторые ложные кратковременные смены направления. Естественно, если используется усреднение, то будет запаздывание. Запаздывание будет в любом случае, если что-то отсеиваешь.
Можно и не усреднять, а сделать что-то типа NRTR. Например, когда линия направлена вверх, фиксируем максимум, откат от максимума на порог будет сменой направления. Это порог может быть постоянным, может быт пропорциональным std. Но и в этом случае будет запаздывание. Оно всегда будет. Чем меньше ошибок определения смены направления, тем больше запаздывание, чем меньше запаздывание, тем больше ошибок.
И знаете, решение таких задач яйца этого самого, выеденного, не стоит, они решаются между делом на лету. Что, ребята, с вами здесь творится? Вы тут скоро арифметические действия не сможете выполнять без авторитетной формулы.