Осциллятор A/D Kaufman
Название стратегии
Название на русском:
Осциллятор A/D KaufmanОригинальное название:
TSM AD Oscillator (S)
2. Автор и источник
Автор идеи: Perry J. Kaufman
Источник: исходник
TSM AD Oscillator (S)из набора Kaufman strategies
3. Краткая идея стратегии
Стратегия пытается ловить разворотные участки через положение осциллятора DRF внутри нормализованного диапазона 0..1.
Когда осциллятор входит в верхнюю зону, рынок считается перекупленным и стратегия продает. Когда осциллятор входит в нижнюю зону, рынок считается перепроданным и стратегия покупает. Вход может идти либо по сырому осциллятору, либо по его сглаженной версии.
4. Используемые данные и таймфрейм
Провайдер:
BingXPerpetual_StagingИнструмент:
btc-usdtТаймфрейм baseline-переноса:
1h
5. Рассчитываемые индикаторы и ряды
TSMADOscillatorпользовательский индикатор
считает
DRFпоOpen,High,Low,Close
ATR(20)используется для нормализации размера позиции
smoothedADoscрассчитывается формулой экспоненциального сглаживания
6. Правила входа в длинную позицию
Long открывается, если выбранная входная серия осциллятора опускается ниже buyband.
Выбранная серия:
сырой
ADosc, еслиentryrule = 1;сглаженный
smoothedADosc, еслиentryrule = 2.
Вход выполняется рыночной заявкой на следующем баре.
7. Правила входа в короткую позицию
Short открывается, если выбранная входная серия осциллятора поднимается выше sellband.
Вход выполняется рыночной заявкой на следующем баре.
8. Начальный стоп-лосс
В исходной авторской логике явного начального stop-loss нет.
В рабочем TSLab-переносе добавлен инженерный защитный стоп, потому что локальный workflow стратегии требует защитный выход уже на первом runnable baseline. Для long используется уровень Close - 2 * ATR(20), для short Close + 2 * ATR(20).
Это отклонение от исходника, а не авторское правило Kaufman.
9. Сопровождение позиции
В базовом переносе сопровождение позиции строится на исходных сигнальных выходах автора плюс добавленном защитном ATR-стопе.
Отдельного трейлинг-стопа, перевода в безубыток и частичного выхода исходник не содержит.
10. Правила выхода
exitrule = 1если позиция открыта, она закрывается на закрытии текущего бара
exitrule = 2в исходнике long закрывается, когда
ADosc > 0в исходнике short закрывается, когда
ADosc < 0
В проектной реализации TSLab TSMADOscillator работает в шкале 0..1, поэтому для runnable baseline центр осциллятора трактован как 0.5. Соответственно в TSLab-версии:
long закрывается, когда
ADosc > 0.5short закрывается, когда
ADosc < 0.5
Это инженерное разрешение противоречия между шкалой осциллятора и текстом исходного выхода через ноль.
11. Манименеджмент и размер позиции
Размер позиции считается по формуле:
size = investment / (ATR(20) * bigpointvalue)
Это волатильностный размер, а не риск через стоп-лосс.
12. Используемые индикаторы и параметры
smoothsellbandbuybandcombineinvestmententryruleexitruleATR Period = 20
В текущем runnable baseline по умолчанию активированы:
entryrule = 1exitrule = 2
Исходные значения 0/0 из EasyLanguage-кода не открывают и не закрывают позиции, поэтому для рабочего переноса использованы активные режимы.
13. Диапазоны параметров для оптимизации
На следующем этапе разумно оптимизировать:
smoothsellbandbuybandвозможно
combine
Если стратегия будет дорабатываться до optimization-ready версии, нужно отдельно определить допустимые диапазоны и шаги.
14. Неоднозначности и места для проверки
Тело функции
TSMADOscillatorотсутствовало в исходнике, поэтому переносcombine=1реализован по текстовому описанию Kaufman.Авторский stop-loss отсутствует; в TSLab baseline добавлен инженерный ATR-стоп для соответствия runnable strategy workflow.
Авторский выход
exitrule = 2через ноль конфликтует с принятой шкалой0..1, поэтому в переносе используется центральный уровень0.5.Исходные значения
entryrule = 0иexitrule = 0оставляют систему неактивной; в runnable baseline выставлены1и2.Для криптоперпов на
btc-usdtнужно отдельно проверить, насколько корректно трактуетсяbigpointvalueи фактический размер позиции на этом рынке.