Стратегия торгового импульса, основанная на ЦО и ВМА

Автор:Чао Чжан, Дата: 2023-11-28 16:42:54
Тэги:

img

Обзор

Стратегия называется Моментная торговая стратегия, основанная на CMO и WMA. Она использует Chande Momentum Oscillator (CMO) и его взвешенную скользящую среднюю (WMA) для построения торговых сигналов.

Логика стратегии

Основной показатель этой стратегии - CMO. CMO тесно связан с другими индикаторами импульса, такими как RSI, но также имеет свою уникальность. CMO напрямую измеряет импульс изменения цен. Его расчет основан на сырых негладких данных, поэтому отражает экстремальные краткосрочные изменения цен. Значение CMO варьируется от +100 до -100, что позволяет сравнивать абсолютную силу импульса в целом.

Стратегия сначала рассчитывает однодневную изменение цены abs ((close - close[1]) как исходный импульс xMom. Затем она рассчитывает SMA xMom за длину дней, обозначенную как xSMA_mom. После этого она рассчитывает изменение цены за длину дней xMomLength, а именно close - close[Distance]. Наконец, CMO рассчитывается как xMomLength, разделенный на xSMA_mom, затем умноженный на 100. Эта CMO сглаживается WMA (параметр LengthWMA), чтобы получить xWMACMO. Торговый сигнал заключается в том, чтобы пойти длинным (коротким), когда CMO пересекает выше (ниже) своей WMA.

Преимущества

Наибольшее преимущество этой стратегии заключается в том, что она отражает характеристики импульса в ценовых тенденциях. Ограниченная конструкция CMO более напрямую отражает изменения импульса. По сравнению с SMA, WMA лучше сглаживает краткосрочный шум. Таким образом, эта стратегия может эффективно идентифицировать точки входа в среднесрочные и долгосрочные тенденции. Кроме того, сочетание CMO и WMA обеспечивает лучшую стабильность, чем один индикатор.

Риски

Самый большой риск этой стратегии заключается в высокой частоте торговли, что приводит к увеличению расходов на скольжение. Как CMO, так и WMA имеют краткосрочные параметры, которые могут вызвать чрезмерные бессмысленные сбои. Это особенно серьезно, когда торговое средство имеет большие колебания. Кроме того, фиксированные параметры не могут адаптироваться к изменяющейся рыночной среде.

Мы можем рассмотреть возможность внедрения адаптивной оптимизации параметров CMO и WMA, что позволит им динамически корректироваться. Добавление фильтрующих условий для сокращения ненужной торговли является другим вариантом. Снижение волатильности посредством диверсификации портфеля также помогает.

Руководство по улучшению

Стратегия может быть усовершенствована из следующих аспектов:

  1. Добавить адаптивный механизм параметров ОКР для поиска оптимальных параметров для различных режимов волатильности;

  2. Добавить адаптивный механизм параметров WMA, чтобы эффект сглаживания соответственно менялся;

  3. Добавьте условия фильтра, такие как индекс волатильности, чтобы контролировать бессмысленные повороты;

  4. Рассмотреть возможность объединения с другими показателями для повышения стабильности;

  5. Оптимизируйте механизм остановки потери.

Заключение

Стратегия реализует простое и эффективное следование трендам на основе CMO и WMA. Ее преимущество заключается в четком улавливании характеристик динамики цен. Но она также имеет некоторую слабость в способности к сохранению прибыли после открытия позиций. Как настройка параметров, так и комбо могут значительно улучшить стабильность. В целом эта стратегия имеет много возможностей и ценности для улучшения.


/*backtest
start: 2022-11-21 00:00:00
end: 2023-11-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 13/02/2017
//    This indicator plots Chandre Momentum Oscillator and its WMA on the 
//    same chart. This indicator plots the absolute value of CMO.
//    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.
////////////////////////////////////////////////////////////
strategy(title="CMO & WMA", shorttitle="CMO & WMA")
Length = input(9, minval=1)
LengthWMA = input(9, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=gray, linestyle=line)
xMom = abs(close - close[1])
xSMA_mom = sma(xMom, Length)
xMomLength = close - close[Length]
nRes = 100 * (xMomLength / (xSMA_mom * Length))
xWMACMO = wma(nRes, LengthWMA)
pos = iff(nRes > xWMACMO, 1,
	   iff(nRes <= xWMACMO, -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="CMO")
plot(xWMACMO, color=red, title="WMA")

Больше