Комбинированная стратегия двойного движущегося среднего перехода и ATR trailing stop является очень практичной количественной торговой стратегией. Стратегия сначала использует крест смерти и золотой крест, сформированный двойными движущимися средними, для определения рыночных тенденций и точек перехода. В то же время стратегия также сочетает средний истинный диапазон для установки остановок, чтобы обеспечить прибыль, контролируя риски.
Двойная стратегия перехода скользящей средней использует пересечение быстрых и медленных линий для определения рыночных тенденций. Когда быстрая линия пересекается ниже медленной линии сверху вниз, она образует смертельный крест, указывающий на то, что рыночная тенденция меняется от роста к падению. Когда быстрая линия пересекается выше медленной линии снизу вверх, она образует золотой крест, указывающий на то, что рыночная тенденция меняется от падения к росту.
В частности, стратегия использует 9-дневную быструю линию STOCH в качестве быстрой линии и 3-дневную EMA в качестве медленной линии. Когда закрытие ниже, чем предыдущее закрытие, и быстрая линия пересекает выше 50 для пересечения над медленной линией, она очищает позицию, чтобы пойти коротко. Когда закрытие выше, чем предыдущее закрытие и быстрая линия пересекает ниже 50 для пересечения ниже медленной линии, она очищает позицию, чтобы пойти долго.
Стратегия ATR trailing stop использует средний истинный диапазон для установки точек остановки потери.
В частности, стратегия использует 5-дневный ATR и устанавливает точку остановки потери в минус 3,5 раза ATR. Когда цена достигает точки остановки, она закрывает позицию для остановки потери.
Комбинированная стратегия двойного перехода к скользящей средней и последующей остановки ATR сочетает в себе преимущество стратегии скользящей средней при определении тенденций и переходов и преимущество стратегии ATR при контроле рисков, что делает ее очень практичной стратегией.
В частности, стратегия имеет следующие преимущества:
Используйте смертельный крест и золотой крест, сформированные двумя скользящими средними для определения точек переворота тренда рынка и точного определения сигналов переворота.
Комбинируйте индикатор STOCH для подтверждения сигналов обратного движения и избегания ложных сигналов.
ATR Trailing Stop гибко устанавливает точки остановки потери на основе волатильности рынка, чтобы максимизировать блокировку прибыли.
Стратегия включает в себя множество показателей и методов технического анализа, чтобы сделать стратегию более надежной.
Идея стратегии ясна и понятна, параметры гибки для корректировки, и ее легко использовать в режиме реального времени.
Хотя стратегия имеет много преимуществ, все же есть некоторые риски, которые следует отметить:
Сигналы, генерируемые двойными скользящими средними, могут отставать и не способны точно покупать и продавать в точках переворота. Периоды могут быть умеренно сокращены или объединены с другими индикаторами для оптимизации.
Показатель ATR не чувствителен к большим колебаниям рынка и не может своевременно обновлять стоп-лосс.
Сочетание нескольких параметров и условий увеличивает сложность стратегии. Неправильные параметры могут вызвать чрезмерно агрессивную торговлю и увеличить риски. Параметры необходимо тщательно оценивать и постепенно корректировать.
Согласно вышеуказанному анализу рисков, стратегия может быть оптимизирована в следующих аспектах:
Корректировка параметров скользящей средней продолжительности периода с целью сокращения периодов для раннего выявления возможностей реверсии.
Добавить другие индикаторы для определения сигналов обворота, такие как MACD, KD и т. д., чтобы сформировать множественные подтверждения.
Динамически регулировать периоды ATR или вводить волатильность рынка для обновления стоп-лосса в режиме реального времени.
Оценить различия между фондовым и фьючерсным рынками и соответственно скорректировать параметры, чтобы сделать их более подходящими для обоих рынков.
Добавьте торговые издержки и скольжение в обратном тестировании, чтобы сделать стратегию ближе к реальному торговому окружению.
Подумайте о добавлении моделей машинного обучения для динамической оптимизации нескольких параметров.
Комбинированная стратегия двойного движущегося среднего обратного движения и последующей остановки ATR является эффективной и практичной количественной стратегией. Она сочетает в себе двойные преимущества определения рыночного обратного движения с движущимися средними и контроля рисков путем установки ATR trail stops. Она обеспечивает прибыль, сокращая ненужные потери. Стратегия имеет гибкую корректировку параметров и проста в эксплуатации в режиме реального времени. В то же время она также может быть расширена и оптимизирована во многих аспектах для адаптации к более обширной рыночной среде. В целом стратегия обеспечивает отличную стратегическую основу для количественной торговли.
/*backtest start: 2023-12-26 00:00:00 end: 2024-01-25 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 17/05/2019 // This is combo strategies for get // a cumulative signal. Result signal will return 1 if two strategies // is long, -1 if all strategies is short and 0 if signals of strategies is not equal. // // 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. // // Secon strategy // Average True Range Trailing Stops Strategy, by Sylvain Vervoort // The related article is copyrighted material from Stocks & Commodities Jun 2009 // // 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 ATR_TrailingStop(nATRPeriod, nATRMultip) => xATR = atr(nATRPeriod) nLoss = nATRMultip * xATR pos = 0.0 xATRTrailingStop = 0.0 xATRTrailingStop := iff(close > nz(xATRTrailingStop[1], 0) and close[1] > nz(xATRTrailingStop[1], 0), max(nz(xATRTrailingStop[1]), close - nLoss), iff(close < nz(xATRTrailingStop[1], 0) and close[1] < nz(xATRTrailingStop[1], 0), min(nz(xATRTrailingStop[1]), close + nLoss), iff(close > nz(xATRTrailingStop[1], 0), close - nLoss, close + nLoss))) pos := iff(close[1] < nz(xATRTrailingStop[1], 0) and close > nz(xATRTrailingStop[1], 0), 1, iff(close[1] > nz(xATRTrailingStop[1], 0) and close < nz(xATRTrailingStop[1], 0), -1, nz(pos[1], 0))) pos strategy(title="Combo Backtest 123 Reversal & Average True Range Trailing Stops", shorttitle="Combo", overlay = true) Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) nATRPeriod = input(5) nATRMultip = input(3.5) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posATR_TrailingStop = ATR_TrailingStop(nATRPeriod, nATRMultip) pos = iff(posReversal123 == 1 and posATR_TrailingStop == 1 , 1, iff(posReversal123 == -1 and posATR_TrailingStop == -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 ? red: possig == 1 ? green : blue )