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


Дата создания: 2024-01-12 12:22:47 Последнее изменение: 2024-01-12 12:22:47
Копировать: 0 Количество просмотров: 348
1
Подписаться
1166
Подписчики

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

Обзор

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

Стратегический принцип

123 обратная стратегия использует следующие принципы для создания торгового сигнала:

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

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

CMO равнолинейная стратегия использует следующие принципы для создания торговых сигналов:

  1. Вычислите стоимость CMO на 5, 10 и 20 дней
  2. Найдите среднее значение.
  3. Когда средний руководитель компании старше 70, он делает больше.
  4. Если средний показатель CMO ниже 70 - вакансия

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

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

Стратегические преимущества

Эта стратегия имеет следующие преимущества:

  1. Комбинированные сигналы более надежны и уменьшают количество ложных сигналов
  2. 123 Обратная стратегия подходит для захвата краткосрочных корректируемых тенденций
  3. Средняя стратегия CMO по оценке динамики цен на крупном уровне
  4. адаптируемость к различным рыночным условиям

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

Также существуют следующие риски:

  1. 123 Возвратная стратегия зависит от формы цены и может не сработать
  2. Индекс CMO чувствителен к рыночным колебаниям и может давать ошибочные сигналы
  3. Сигналы по комбинации могут быть слишком консервативными и упускать торговые возможности
  4. Необходимость корректировки параметров в соответствии с различными циклами и рыночными условиями

Ответы:

  1. Правила формографического суждения для оптимизации стратегии реверсии
  2. Добавление других вспомогательных показателей в стратегию CMO
  3. Оценка эффективности стратегии за последнее время, динамические параметры корректировки

Направление оптимизации

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

  1. Автоматическая оптимизация комбинаций с помощью алгоритмов машинного обучения
  2. Добавление модуля адаптивной настройки параметров для динамической оптимизации параметров стратегии
  3. Дополнительные модули сдерживания убытков для эффективного управления рисками
  4. Оценка устойчивости стратегий и улучшение алгоритмов идентификации форм
  5. Выбор отрасли, базовые принципы и т.д.

Подвести итог

Стратегия создает эффективную комбинационную торговую стратегию с помощью двух взаимодополняющих стратегий: 123 inversion и CMO linear. При условии контроля риска может быть получена стабильная дополнительная прибыль. Ожидается дальнейшее повышение доходности и стабильности этой стратегии с постоянной оптимизацией алгоритмов и моделей.

Исходный код стратегии
/*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 )