Блог им. 3Qu |Замотала, эта Lua.

    • 29 мая 2020, 15:26
    • |
    • 3Qu
  • Еще
Давненько я не брал в руки шашки не писал индикаторов на Lua. Вчера ближе к ночи приспичило перенести старый отработанный индикатор с Python в терминал на Lua-QLua.
Взял, как водится, какой-то готовый, и начал его переделывать. Дел, в общем, немного, вместо одной линии нарисовать три, и оставив болванку везде поменять код. Python, в общем, похож на Lua (все языки программирования оч. похожи), а потому, берем код Python, в Notepad++ копипастим его в Lua индикатор, немного исправляем синтаксис, немного исправляем код под особенности индикаторов, и через 20 минут готово.
Пытаемся добавить на график. Счас! Индикатор вообще не виден.
Начинаем корежить код и танцевать с бубном. Че сделали, так и не поняли, но индикатор в меню настроек появился — победа! Но, не тут-то было. Однако, добавить не удается, тут же вылетает. Опять танцы с бубном.
Теперь добавляется, но Quik наглухо виснет и падает. Но, зато начал писать ошибку — строка 86, там какой-то nil. Какой еще nil, там строка, типа, buff[i] = a*b[i]^2 + c*d[i]^2. Да, сколько можно? Откуда там nil? Бредятина какая-то.

( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

Блог им. 3Qu |Моделирование Торговых Систем на Python. 2.

    • 12 мая 2020, 10:29
    • |
    • 3Qu
  • Еще

Тем, кто не читал предыдущий топик этой темы, рекомендую для начала ознакомиться с ним [1].

В комментариях к предыдущему топику меня критиковали за неоптимальность кода Python. Однако, текст читают люди с совершенно разной подготовкой — от почти не знающих Python или знающих другие языки программирования, до продвинутых пользователей. Последние легко могут обнаружить неоптимальность кода и заменить его своим. Тем не менее, код должен быть доступен и новичкам, возможно не обладающим знанием пакетов и продвинутых методов. Поэтому, в коде я буду, по возможности, использовать только базовые конструкции Python, не требующие глубоких знаний, и которые могут легко читаться людьми, программирующими на других языках. Вместе с тем, по мере изложения, без фанатизма, буду вводить и новые элементы Python.
Если вы хотите как-то улучшить или оптимизировать код, приводите его в комментариях — это только расширит и улучшит изложенный материал.

Ну, а сейчас мы займемся разработкой и тестированием индикаторов. Для начала нам нужна простейшая стратегия с использованием МА — его и построим. Самой лучшей по характеристикам МА является ЕМА. Формула ЕМА:



( Читать дальше )

Блог им. 3Qu |Сравнение ЕМА и фильтра Баттерворта 2-го порядка.

    • 24 января 2020, 20:39
    • |
    • 3Qu
  • Еще
В связи с моим топиком  Фильтр Гаусса N-ного порядка как индикатор, в комментариях возник вопрос сравнения задержек фильтра Баттерворта 2-го порядка и ЕМА.
Для сравнения групповых задержек различных фильтров обычно сравнивают их отклики на единичный скачок 1(t). Это, типа, ступенька высотой 1.
Сравнение ЕМА и фильтра Баттерворта 2-го порядка.
На рисунке сравниваются отклики на единичный скачок 2-х фильтров с периодом 50. SMA с периодом 50 приведена здесь как калибровочная.
Из рисунка можно видеть, что групповая задержка фильтра Баттерворта при одинаковом периоде Т составляет по уровню 0.5 на ~5 отсчетов больше чем у ЕМА.
Простите, а что-же вы хотели увидеть, если фильтром Баттерворта мы обрезали ВЧ часть спектра сигнала? ЕМА плохо подавляет ВЧ компоненты сигнала, отсюда и такая нервная реакция на любой чих.
Спрашивается, а зачем тогда вообще фильтр, если он мало что подавляет?
Хотите, чтобы фильтр подавлял меньше ВЧ компонент, так уменьшите период сглаживания. Сделаем период сглаживания фильтра Баттерворта Т=25, т.е. расширим полосу пропускания фильтра.

( Читать дальше )

Блог им. 3Qu |Фильтр Гаусса N-ного порядка как индикатор.

    • 23 января 2020, 15:23
    • |
    • 3Qu
  • Еще
Представляю вам статью John Ehlers Gaussian and Other Low Lag Filters, в которой рассматривается построение фильтров Гаусса N-ного порядка и их использование в качестве индикаторов. Статья старая, ей более 10 лет, но фильтры не стареют, и статья не потеряла актуальности. Обычное применение фильтров Гаусса — это фильтрация шумов в сигналах и изображениях.
Единственное, что в статье у меня вызывает сомнение, это расчет зависимости коэффициентов полинома фильтра от периода сглаживания. Но это проверять надо, а так как я использую схожие, но другие фильтры, то делать это мне нет никакого резона.
Во всяком случае, такие фильтры являются хорошей заменой стандартных МА и существенно превосходят их по функциональности.
При использовании подобных фильтров нет смысла увлекаться фильтрами высоких порядков. Если нет особой необходимости, вполне достаточно использования фильтров 2-го, ну м.б. 3-го порядков.
Ну, и, для полноты картины, еще одна, более ранняя статья автора POLES, ZEROS, and HIGHER ORDER FILTERS By John Ehlers

....все тэги
2010-2020
UPDONW