Комбинированная стратегия рекурсивного скользящего трендового скользящего среднего в сочетании с разворотным паттерном 123


Дата создания: 2024-02-21 16:02:32 Последнее изменение: 2024-02-21 16:02:32
Копировать: 3 Количество просмотров: 686
1
Подписаться
1617
Подписчики

Комбинированная стратегия рекурсивного скользящего трендового скользящего среднего в сочетании с разворотным паттерном 123

Обзор

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

Принципы

123 формы переворачиваются

В этой статье рассматривается книга Ульфа Дженсена “Как я могу получить три раза больше прибыли на рынке фьючерсов”. Его сигнал покупателя - это: STO SLOWK за последние два дня с ростом цены закрытия и 9-дневным циклом, когда цена STO SLOWK ниже 50, и сигнал продажи - это: STO FASTK за последние два дня с падением цены закрытия и 9-дневным циклом, когда цена STO FASTK выше 50, когда цена STO FASTK ниже 50.

Восходящая средняя линия движения

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

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

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

Риски и решения

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

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

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

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

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

Исходный код стратегии
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 01/06/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
// Taken from an article "The Yen Recused" in the December 1998 issue of TASC, 
// written by Dennis Meyers. He describes the Recursive MA in mathematical terms 
// as "recursive polynomial fit, a technique that uses a small number of past values 
// of the estimated price and today's price to predict tomorrows price."
// Red bars color - short position. Green is long.
//
// 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


RMTA(Length) =>
    pos = 0.0
    Bot = 0.0
    nRes = 0.0
    Alpha = 2 / (Length+1)
    Bot := (1-Alpha) * nz(Bot[1],close) + close
    nRes := (1-Alpha) * nz(nRes[1],close) + (Alpha*(close + Bot - nz(Bot[1], 0)))
    pos:= iff(nRes > close[1], -1,
    	     iff(nRes < close[1], 1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Recursive Moving Trend Average", 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, "---- Recursive Moving Trend Average ----")
LengthRMTA = input(21, minval=3)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posRMTA = RMTA(LengthRMTA)
pos = iff(posReversal123 == 1 and posRMTA == 1 , 1,
	   iff(posReversal123 == -1 and posRMTA == -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 )