
Это трейдерская стратегия, построенная с использованием технологии динамической фильтрации. Она фильтрует небольшие колебания цен, устанавливая порог для изменения цены, и только крупные изменения цен принимают участие в расчете, что повышает стабильность стратегии.
Центральным показателем этой стратегии является динамически отфильтрованный индикатор колебаний Чанде (Chande Momentum Swing Indicator, CMO). Динамический индикатор колебаний Чанде относится к динамическим показателям, который определяет динамику плюс-полюс путем вычисления абсолютного значения плюс-полюса плюс-полюса плюс-полюса плюс-полюса плюс-полюс. Стратегия была улучшена, в ней был установлен минимальный полюс-полюс Filter, который участвует в расчете CMO только тогда, когда цена переходит этот полюс. Это отфильтровывает большое количество небольших колебаний на рынке, что делает индикатор более стабильным и надежным.
На основе вычисленных показателей он устанавливает верхнюю и нижнюю линию TopBand, которые генерируют торговый сигнал, когда показатели превышают эти две линии. Наконец, обратный входный параметр reverse позволяет восстановить исходный сигнал и осуществить обратную операцию.
Это очень стабильная и надежная стратегия для отслеживания тенденций, которая эффективно фильтрует рыночный шум и предотвращает арбитраж благодаря применению технологии динамической фильтрации. Существует большое пространство для оптимизации параметров стратегии, можно оптимизировать показатели стратегии, регулируя такие параметры, как Filter, TopBand, LowBand и т. Д. И имеет функцию обратной торговли, которая может гибко адаптироваться к различным рыночным условиям.
Эта стратегия основана на отслеживании тенденций, поэтому она может привести к ошибочным сигналам и убыткам в рыночной консолидации. Кроме того, неправильная оптимизация параметров может привести к чрезмерной частоте торгов или нестабильности сигналов.
Чтобы снизить эти риски, следует разумно оптимизировать параметры, чтобы сделать сигнал более стабильным и надежным; избегать использования этой стратегии при урегулировании рынка, выбирая более подходящий инструмент стратегии; осторожно использовать функцию обратной торговли, которая должна быть избегнута при плохой оптимизации параметров.
Эта стратегия может быть оптимизирована в следующих направлениях:
Оптимизируйте значение параметра Filter, чтобы гарантировать, что частота торгов не будет слишком низкой, в то же время гарантируя фильтрацию рынка шума.
Оптимизация диапазона параметров TopBand и LowBand, чтобы они соответствовали колебаниям рынка и предотвращали ошибочные сигналы.
Динамическая оптимизация параметров с использованием методов, таких как анализ шага вперед, чтобы параметры стратегии адаптировались к изменениям рынка.
Добавление логики стоп-стоп, установка разумных стоп-точек для управления потерями.
В сочетании с другими индикаторами, такими как MACD, KD и т. д., избегайте ошибочных сделок на не трендовых рынках.
Это очень практичная стратегия для отслеживания тенденций. Она использует технологию динамической фильтрации, которая эффективно подавляет рыночный шум, делая сигналы более четкими и надежными. Через оптимизацию параметров и логическую оптимизацию ее можно обучить надежному и стабильному количественному инструменту торговли.
/*backtest
start: 2023-11-11 00:00:00
end: 2023-12-11 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 02/03/2017
// This indicator plots a CMO which ignores price changes which are less
// than a threshold value. CMO was developed by Tushar Chande. A scientist,
// an inventor, and a respected trading system developer, Mr. Chande developed
// the CMO to capture what he calls "pure momentum". For more definitive
// information on the CMO and other indicators we recommend the book The New
// Technical Trader by Tushar Chande and Stanley Kroll.
// The CMO is closely related to, yet unique from, other momentum oriented
// indicators such as Relative Strength Index, Stochastic, Rate-of-Change, etc.
// It is most closely related to Welles Wilder`s RSI, yet it differs in several ways:
// - It uses data for both up days and down days in the numerator, thereby directly
// measuring momentum;
// - The calculations are applied on unsmoothed data. Therefore, short-term extreme
// movements in price are not hidden. Once calculated, smoothing can be applied to the
// CMO, if desired;
// - The scale is bounded between +100 and -100, thereby allowing you to clearly see
// changes in net momentum using the 0 level. The bounded scale also allows you to
// conveniently compare values across different securities.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
fFilter(xSeriesSum, xSeriesV, Filter) =>
iff(xSeriesV > Filter, xSeriesSum, 0)
strategy(title="CMOfilt", shorttitle="CMOfilt")
Length = input(9, minval=1)
Filter = input(3, minval=1)
TopBand = input(70, minval=1)
LowBand = input(-70, maxval=-1)
reverse = input(false, title="Trade reverse")
hline(0, color=gray, linestyle=line)
hline(TopBand, color=red, linestyle=line)
hline(LowBand, color=green, linestyle=line)
xMom = close - close[1]
xMomAbs = abs(close - close[1])
xMomFilter = fFilter(xMom, xMomAbs, Filter)
xMomAbsFilter = fFilter(xMomAbs,xMomAbs, Filter)
nSum = sum(xMomFilter, Length)
nAbsSum = sum(xMomAbsFilter, Length)
nRes = 100 * nSum / nAbsSum
pos = iff(nRes > TopBand, 1,
iff(nRes < LowBand, -1, nz(pos[1], 0)))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos))
if (possig == 1 )
strategy.entry("Long", strategy.long)
if (possig == -1 )
strategy.entry("Short", strategy.short)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nRes, color=blue, title="CMOfilt")