Стратегия комбинированного изменения импульса

Автор:Чао Чжан, Дата: 2024-01-12 12:22:47
Тэги:

img

Обзор

Эта стратегия сочетает в себе стратегию 123 Reversal и стратегию CMO moving average для генерации комбинированных торговых сигналов. Стратегия 123 Reversal генерирует торговые сигналы путем формирования новых максимумов или минимумов от цен закрытия в течение двух дней подряд в сочетании с суждениями о рыночной динамике со стороны стохастического осциллятора. Стратегия CMO moving average использует индикатор CMO для определения динамики цен и генерации торговых сигналов. Комбинация сигналов от обеих стратегий может сформировать более надежные комбинированные сигналы.

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

Стратегия 123 Reversal генерирует торговые сигналы на основе следующей логики:

  1. Когда цена закрытия повышается в течение двух дней подряд, а 9-дневный стохастический осциллятор ниже 50, делайте длинный.

  2. Когда цена закрытия падает в течение двух дней подряд и 9-дневный стохастический осциллятор превышает 50, перейдите на короткий.

При оценке того, сформировали ли цены новые максимумы или минимумы в краткосрочной перспективе в сочетании с индикацией импульса стохастическим осциллятором, генерируются торговые сигналы.

Стратегия скользящей средней ОРК генерирует торговые сигналы на основе следующей логики:

  1. Вычислить значения ООК за 5, 10 и 20 дней.

  2. Возьми средний.

  3. Когда средний CMO превышает 70, уходи.

  4. Когда средний показатель CMO опустится ниже -70, перейдите на короткий.

Проведение операций в совокупности по значениям ОКР в разные временные рамки определяет направление динамики цен и генерирует торговые сигналы.

Комбо-стратегия выполняет операцию AND по сигналам обеих стратегий, что означает, что фактические торговые сигналы запускаются только тогда, когда обе стратегии дают сигналы покупки или продажи одновременно.

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

Преимущества этой стратегии включают:

  1. Комбинированные сигналы более надежны при меньшем количестве ложных сигналов.

  2. 123 Стратегия реверсии отражает тенденции после краткосрочных коррекций.

  3. Стратегия скользящей средней ОКР оценивает динамику в течение более длительных временных рамок.

  4. Может адаптироваться к различным рыночным условиям.

Анализ рисков

Риски этой стратегии включают:

  1. Стратегия 123 Reversal в значительной степени зависит от ценовых закономерностей и иногда может потерпеть неудачу.

  2. Показатель ОРС чувствителен к колебаниям рынка, которые могут генерировать ложные сигналы.

  3. Сигналы комбинированной стратегии могут быть слишком консервативными, упуская торговые возможности.

  4. Для адаптации к различным циклам и рыночным условиям необходима надлежащая настройка параметров.

Контрмеры:

  1. Оптимизируйте правила распознавания шаблонов стратегии обратного движения.

  2. Добавить другие вспомогательные показатели в стратегию скользящей средней ОПО.

  3. Динамически оценивать недавнюю производительность и соответственно корректировать параметры.

Руководство по оптимизации

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

  1. Используйте алгоритмы машинного обучения для автоматической оптимизации весов комбинации.

  2. Добавьте адаптивные модули настройки для динамической оптимизации параметров.

  3. Добавить модули стоп-лосса для эффективного контроля рисков.

  4. Оценить надежность стратегии и улучшить алгоритмы распознавания моделей.

  5. Включить выбор отрасли, основные факторы и другие факторы.

Заключение

Эта стратегия образует эффективную комбинированную торговую систему из двух сильно дополняющих друг друга стратегий - 123 Reversal и CMO Moving Average. При надлежащем контроле риска она может генерировать стабильную альфа-доходность. По мере того как алгоритмы и модели продолжают обновляться, ожидается дальнейшее улучшение прибыльности и стабильности этой стратегии.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 19/09/2019
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
//    This indicator plots average of three different length CMO's. This indicator 
//    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.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

CMOav(Length1,Length2,Length3, TopBand, LowBand) =>
    pos = 0
    xMom = close - close[1]
    xMomabs = abs(close - close[1])
    nSum1 = sum(xMom, Length1)
    nSumAbs1 = sum(xMomabs, Length1)
    nSum2 = sum(xMom, Length2)
    nSumAbs2 = sum(xMomabs, Length2)
    nSum3 = sum(xMom, Length3)
    nSumAbs3 = sum(xMomabs, Length3)
    nRes = 100 * (nSum1 / nSumAbs1 + nSum2 / nSumAbs2 + nSum3 / nSumAbs3 ) / 3
    pos := iff(nRes > TopBand, 1,
    	     iff(nRes < LowBand, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & CMOav", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
Length1 = input(5, minval=1)
Length2 = input(10, minval=1)
Length3 = input(20, minval=1)
TopBand = input(70, minval=1)
LowBand = input(-70, maxval=-1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posCMOav = CMOav(Length1,Length2,Length3, TopBand, LowBand)
pos = iff(posReversal123 == 1 and posCMOav == 1 , 1,
	   iff(posReversal123 == -1 and posCMOav == -1, -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)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

Больше