AdaptiveMomentumRibbon
AdaptiveMomentumRibbon — встроенная Pine-стратегия из @tradejs/strategies.
Runtime передает в core.ts загрузчик скрипта (loadPineScriptFile), поэтому Pine-логика хранится отдельно и обновляется независимо от TypeScript-кода.
Логика входа
core.tsзагружает Pine-код черезloadPineScriptFile('adaptiveMomentumRibbon.pine').- Берет последние свечи (
AMR_LOOKBACK_BARS) и выполняет Pine черезrunPineScript. - Читает последние значения plot:
entryLong,entryShortinvalidated,activeBuy,activeSellsignalOsc,kcMidline,kcUpper,kcLower,invalidationLevel
- Если оба
entryодновременноtrue, делает skip (конфликт). - Если позиция уже открыта:
- закрывает по противоположному сигналу
- опционально закрывает по invalidation (
AMR_EXIT_ON_INVALIDATION)
- Если позиции нет и сигнал валидный:
- применяет side-конфиг (
LONGилиSHORT) - считает TP/SL/qty
- возвращает
entry
Выходы
CLOSE_BY_AMR_SIGNAL— противоположный сигналCLOSE_BY_AMR_INVALIDATION— invalidation приAMR_EXIT_ON_INVALIDATION=true
Параметры конфига (что означает каждый)
Общие runtime-параметры
ENV— режим запуска.INTERVAL— таймфрейм.MAKE_ORDERS— выполнять ордера или только считать сигналы.BACKTEST_PRICE_MODE— режим цены исполнения в бэктесте.
AI/ML-параметры
AI_ENABLED— включает AI enrichment/gating.MIN_AI_QUALITY— минимальное качество AI.ML_ENABLED— включает ML enrichment.ML_THRESHOLD— порог ML-оценки.
Параметры Pine-модели AMR
AMR_MOMENTUM_PERIOD—Momentum Periodв Pine.AMR_BUTTERWORTH_SMOOTHING—Butterworth Smoothingв Pine.AMR_WAIT_CLOSE— подтверждать сигналы только на закрытии свечи.AMR_SHOW_INVALIDATION_LEVELS— рисовать invalidation-уровни.AMR_SHOW_KELTNER_CHANNEL— рисовать Keltner Channel.AMR_KC_LENGTH— период Keltner midline.AMR_KC_MA_TYPE— тип MA для midline (SMA,EMA,SMMA (RMA),WMA,VWMA).AMR_ATR_LENGTH— период ATR для Keltner.AMR_ATR_MULTIPLIER— множитель ATR для Keltner bands.
Параметры исполнения/визуализации
AMR_LOOKBACK_BARS— сколько свечей передавать в Pine на один расчет.AMR_EXIT_ON_INVALIDATION— закрывать позицию по invalidation-сигналу.AMR_LINE_PLOTS— какие plot-линии переносить вfigures.lines.CLOSE_OPPOSITE_POSITIONS— поле есть в конфиге по общему шаблону, текущийAdaptiveMomentumRibbonhook-логику по нему не использует.
Параметры сценария LONG
LONG.enable— включить/выключить long-сценарий.LONG.direction— направление ордера (LONG).LONG.TP— take-profit в процентах.LONG.SL— stop-loss в процентах.
Параметры сценария SHORT
SHORT.enable— включить/выключить short-сценарий.SHORT.direction— направление ордера (SHORT).SHORT.TP— take-profit в процентах.SHORT.SL— stop-loss в процентах.
Используемые индикаторы (что означает каждый)
Pine-серии, которые использует стратегия
entryLong,entryShort— бинарные входные сигналы.activeBuy,activeSell— состояние активного buy/sell контекста.invalidated— флаг инвалидированного сигнала.signalOsc— сглаженный осциллятор AMR (центр вокруг 0).kcMidline— центральная линия Keltner.kcUpper— верхняя граница Keltner.kcLower— нижняя граница Keltner.invalidationLevel— текущий invalidation-уровень.
Линии в figures
- все серии из
AMR_LINE_PLOTSдобавляются вfigures.lines - это позволяет выбирать, какие Pine-линии отображать в UI и в бэктест-чартах
Payload сигнала
figures:
- линии по
AMR_LINE_PLOTS - точка входа
additionalIndicators.amr:
entryLong,entryShort,activeBuy,activeSell,invalidatedsignalOsc- значения KC и invalidation-уровня
lineValuesпо выбранным plot
Пример runtime-конфига
{
"ENV": "CRON",
"INTERVAL": "15",
"AMR_LOOKBACK_BARS": 400,
"AMR_MOMENTUM_PERIOD": 20,
"AMR_BUTTERWORTH_SMOOTHING": 3,
"AMR_WAIT_CLOSE": true,
"AMR_KC_LENGTH": 20,
"AMR_KC_MA_TYPE": "EMA",
"AMR_ATR_LENGTH": 14,
"AMR_ATR_MULTIPLIER": 2,
"AMR_EXIT_ON_INVALIDATION": true,
"AMR_LINE_PLOTS": ["kcMidline", "kcUpper", "kcLower", "invalidationLevel"],
"LONG": { "enable": true, "direction": "LONG", "TP": 2, "SL": 1 },
"SHORT": { "enable": true, "direction": "SHORT", "TP": 2, "SL": 1 }
}
Запуск
npx @tradejs/cli backtest --user root --config AdaptiveMomentumRibbon:amr-default --connector bybit --timeframe 15
npx @tradejs/cli signals --user root --timeframe 15