Двойная стратегия обратного движения скользящей средней является торговой стратегией, которая сочетает в себе принципы среднего обратного движения и скользящей средней. Она сначала генерирует сигналы обратного движения с использованием методологии 123 обратного движения, а затем фильтрует сигналы с экспоненциальными скользящими средними 2/20, принимая сделки только тогда, когда сигналы от обоих совпадают для улучшения надежности. Эта стратегия направлена на захват краткосрочных возможностей обратного движения, используя длительный тренд фильтр для выявления высоковероятных настроек.
Стратегия состоит из двух частей:
Стратегия 123 возникает из книги
Эта стратегия использует 2/20 EMA для определения долгосрочной тенденции. Когда цена находится выше линии 2/20 EMA, она сигнализирует о восходящем тренде. Когда цена находится ниже линии 2/20 EMA, она сигнализирует о нисходящем тренде. Это отфильтровывает ложные прорывы.
Стратегия генерирует торговые сигналы только тогда, когда сигнал 123 обратного движения совпадает с сигналом 2/20 EMA.
Эта стратегия имеет следующие преимущества, объединяя краткосрочные изменения и долгосрочные тенденции:
123 Цели реверсии предполагают сценарии перекупки и перепродажи, в которых часто происходят значительные колебания цен, что позволяет достичь более высоких целей прибыли.
Фильтр EMA 2/20 устраняет сигналы против тренда, предотвращая плохие сделки во время фейкоутов.
Объединение двух дополняющих друг друга показателей значительно улучшает надежность и результаты соотношения риска и прибыли.
Ясная функциональность каждого компонента делает логику интуитивно понятной для понимания, оптимизации и адаптации к меняющейся рыночной среде.
Несмотря на преимущества, необходимо учитывать некоторые риски:
Прошлые результаты не гарантируют будущие результаты.
2/20 EMA не может полностью отфильтровать сильные трендовые рынки.
Производительность очень чувствительна к настройкам параметров, которые должны быть надежно оптимизированы путем обширного обратного тестирования и настроены на меняющиеся рынки.
Хорошие краткосрочные результаты не гарантируют длительную производительность. Рынки очень стохастичны, и долгосрочные результаты требуют надежной проверки в различных средах.
Эти риски можно управлять с помощью настройки параметров, остановки потерь, контроля рисков и т. Д. Больше условий, таких как объем, индикаторы волатильности, могут улучшить надежность.
Некоторые способы дальнейшей оптимизации стратегии:
Испытывать различные наборы параметров, чтобы найти более стабильные и выраженные модели обратного отклонения для сигналов более высокого качества.
Экспериментировать с различными параметрами MA или включать несколько проверок MA для более точной оценки тенденции.
Для уменьшения ложных сигналов и улучшения стабильности могут быть включены фильтры объема, волатильности и другие.
Методы машинного обучения на больших исторических наборах данных могут позволить динамическую и надежную настройку параметров.
Интеллектуальные правила стоп-лосса помогают контролировать максимальное снижение и риск.
Улучшение размеров позиций и распределение капитала могут повысить общую эффективность.
Двойная движущаяся средняя реверсия - это простая, но практичная краткосрочная стратегия торговли. Объединяя концепции средней реверсии и следующей за трендом, она направлена на получение прибыли от высоковероятных переворотов цен при избежании ложных прорывов. Ясная логика делает ее интуитивной для понимания, оптимизации и применения.
/*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 )