Это краткосрочная торговая стратегия, которая использует двойные скользящие средние для определения обратного движения на рынке. Она оценивает текущий восходящий или нисходящий тренд путем изучения закрывающейся связи предыдущих трех свечных баров. Когда обнаруживается изменение тренда, принимаются соответствующие длинные или короткие позиции. Между тем стратегия также использует простую скользящую среднюю для фильтрации коротких сигналов и снижения торгового риска.
Основным показателем этой стратегии является ценовое соотношение трех предыдущих баров свечей. Если три предыдущих бары - все черные свечи, то считается, что текущий тренд снижается; если три предыдущих бары - все белые свечи, то считается, что текущий тренд повышается. Когда после снижающегося тренда появляется большая белая свеча, идите в длинный; когда после восходящего тренда появляется большая черная свеча, идите в короткий.
Логика заключения сделки заключается в следующем: если три предыдущих свеча - это все черные свечи, а последняя - большая черная свеча, то заключение сделки заключается в том, чтобы закрыть позицию, когда цена прорвется через самую высокую точку предыдущей свечи.
Если три предыдущих свечи - это все белые свечи, а последняя свеча - большая белая свеча, и цена ниже простой скользящей средней, то нужно закрыть позицию, когда цена пройдет через самую низкую точку предыдущей свечи.
Длина скользящей средней и величина для оценки больших белых и черных свечей устанавливаются пользователем.
Используйте модели свечей, чтобы определить точки переворота рынка, избегать преследования друг друга в тренде и сократить потери.
Объедините скользящую среднюю для фильтрации сигналов и избегайте преждевременного короткого хода во время целевого ралли.
Логика стратегии проста и ясна, легко понять и изменить.
Настраиваемые параметры подходят для разных сортов и временных циклов.
При определенных условиях целесообразно своевременно использовать возможности краткосрочной корректировки.
Рынок может иметь три последовательных больших черных или белых свечи, образующие ложное изменение, вызывая убытки при занятии позиций.
Если вы не измените курс, то, скорее всего, вас будет преследовать тренд.
Неправильное настройка параметров может привести к чрезмерной торговле или упущенным возможностям. Параметры требуют повторного тестирования и оптимизации.
Повысить стандарты определения белой/черной свечи, чтобы избежать ошибочного суждения.
Использование более сложных индикаторов в сочетании с моделями свечей для определения обратного движения, таких как BOLL, MACD и т. д., для улучшения точности суждения.
Добавить показатели объема торговли или волатильности в сочетании с моделями свечей, чтобы избежать дефицита объема.
Добавьте логику стоп-потери, установите фиксированную точку или следите за стоп-потерями.
Оптимизируйте параметры, чтобы найти лучшую комбинацию параметров.
Испытать больше разновидностей и данных цикла, чтобы найти оптимальную среду применения.
В целом, эта стратегия является относительно универсальной краткосрочной стратегией, которая фиксирует краткосрочные рыночные изменения с помощью простых индикаторов. Ее преимущества просты в понимании, ясная логика и хорошие результаты благодаря некоторой оптимизации. Но есть также некоторые типичные риски отмены стратегии, которые требуют таких средств, как стоп-лосс, строгие критерии обратного движения и т. Д., Чтобы контролировать.
/*backtest start: 2023-12-07 00:00:00 end: 2023-12-14 00:00:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © stormis // Based on strategy by hackertrader (original idea by QuantpT) //@version=5 strategy(title="Mean reversion", shorttitle="MeanRev", precision=16 , overlay=true) moveLimit = input(70) maLength = input(200) ma = ta.sma(close, maLength) downBar = open > close isThreeDown = downBar and downBar[1] and downBar[2] isThreeUp = not downBar and not downBar[1] and not downBar[2] isBigMoveDown = ((open - close) / (0.001 + high - low)) > moveLimit / 100.0 isBigMoveUp = ((close - open) / (0.001 + high - low)) > moveLimit / 100.0 isLongBuy = isThreeDown and isBigMoveDown isLongExit = close > high[1] isShortBuy = isThreeUp and isBigMoveUp isShortExit = close < low[1] strategy.entry("Entry Long", strategy.long, when=isLongBuy) strategy.close("Entry Long", when=isLongExit) strategy.entry("Entry Short", strategy.short, when=close < ma and isShortBuy) strategy.close("Entry Short", when=isShortExit) plot(ma, color=color.gray)