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


Дата создания: 2023-09-26 15:27:58 Последнее изменение: 2023-09-26 15:27:58
Копировать: 0 Количество просмотров: 623
1
Подписаться
1617
Подписчики

Обзор

Двойная реверсионная стратегия - это стратегия торговли акциями, которая использует как реверсионную, так и реверсионную принципы. Эта стратегия сначала использует принцип 123 реверсионных принципов для создания обратного торгового сигнала, а затем фильтрует его в сочетании с 2 / 20 индексными движущимися средними, чтобы создать торговые указания только тогда, когда эти два сигнала совпадают, чтобы повысить стабильность стратегии.

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

Стратегия состоит из двух частей:

  1. 123 Стратегия переворота

123 обратная стратегия происходит от системы обратной стратегии из книги “Как получить три раза больше прибыли на фьючерсном рынке”. Эта стратегия основана на следующем принципе: если в течение двух дней цена закрытия снижается с высокой, а на 9 день медленная линия K ниже 50, то следует считать, что в настоящее время находится в обратной точке, и следует купить. Если в течение двух дней цена закрытия снижается с низкой, а на 9 день быстрая линия K выше 50, то следует считать, что в настоящее время находится в обратной точке, и следует продать.

  1. Индекс 220 подвижная средняя стратегия

Эта стратегия использует движущиеся средние индекса 220 для определения долгосрочных тенденций. Когда цена выше средней линии 220, она становится “высокой”, а когда цена ниже средней линии 220, она становится “низкой”. Эта стратегия может использоваться для фильтрации ложных прорывов.

Комбинируя эти две стратегии, настоящий торговый сигнал создается, когда 123 обратных сигналов и 2 / 20 средних сигналов совпадают.

Анализ преимуществ стратегии

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

  1. Поймание краткосрочных реверсий дает возможность получить более высокую прибыль

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

  1. 220 Уравнительная фильтрация позволяет избежать риска ложных прорывов

Простая стратегия поворота подвержена воздействию трендовых рынков и создает большое количество ложных сигналов. Добавление средней линии 220 позволяет отфильтровывать сигналы, не соответствующие тренду, избежать риска перевернуться и опуститься, улучшить качество сигнала.

  1. Двойные условия снижают риски прибыли и убытка

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

  1. Стратегическая концепция понятна и легко оптимизируется

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

Анализ стратегических рисков

Несмотря на очевидные преимущества этой стратегии, существуют определенные риски, о которых следует помнить:

  1. Это не обязательно произойдет.

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

  1. Тенденция может сохраниться

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

  1. Параметры требуют оптимизации

Различные параметры могут иметь существенное влияние на эффективность стратегии, и оптимальные параметры должны быть выявлены с помощью большого количества обратной связи и моделирования, а оптимальный диапазон параметров может изменяться в зависимости от рыночной ситуации.

  1. Неопределенность долгосрочного эффекта

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

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

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

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

  1. Оптимизируйте обратный параметр

Можно тестировать различные комбинации параметров в поисках более стабильных и более заметных поворотов, чтобы повысить качество сигналов поворота.

  1. Оптимизация равнолинейной системы

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

  1. Добавить дополнительные условия фильтрации

На основе таких показателей, как количество сделок, волатильность, можно установить больше фильтрующих условий, снизить погрешность и повысить стабильность.

  1. Динамическая оптимизация параметров

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

  1. В сочетании с стратегией остановки убытков

Правильное выполнение стоп-лосса позволяет эффективно контролировать стратегию максимального вывода и рисковые отверстия.

  1. Оптимизация управления капиталом

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

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

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

Исходный код стратегии
/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-25 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 06/08/2021
// 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 2/20 exponential moving average. For the Mov 
// Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
//
// 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


EMA220(Length) =>
    pos = 0.0
    xPrice = close
    xXA = ema(xPrice, Length)
    nHH = max(high, high[1])
    nLL = min(low, low[1])
    nXS = iff((nLL > xXA)or(nHH < xXA), nLL, nHH)
    pos :=  iff(close > xXA and close > nXS , 1,
    	     iff(close < xXA and close < nXS, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & 2/20 Exponential MA", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- 2/20 Exponential MA ----")
LengthMA = input(20, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posEMA220 = EMA220(LengthMA)
pos = iff(posReversal123 == 1 and posEMA220 == 1 , 1,
	   iff(posReversal123 == -1 and posEMA220 == -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 )