
Эта стратегия является короткой линейной торговой стратегией, которая использует двойную равномерную линию для определения рыночного переворота. Она определяет, находится ли в настоящее время в тенденции к росту или тенденции к снижению, путем определения закрытия первых трех K-линий.
Основным показателем этой стратегии является ценовая связь закрытия первых трех K-линий. Если первые три K-линии являются отрицательными, то считается, что они находятся в нисходящем тренде; если первые три K-линии являются положительными, то считается, что они находятся в восходящем тренде.
Конкретная логика определения плюса заключается в следующем: если первые три K-линии являются отрицательными, а последняя K-линия является большим отрицательным, то нужно сделать плюс. Логика определения равновесия - это равновесие, когда цена превзошла предыдущую K-линию.
Конкретная логика определения пустоты заключается в том, что если первые три линии K являются солнечными линиями, а последняя линия K является большой солнечной линией, а цена ниже простой движущейся средней, то пустота выполняется. Логика определения равного положения заключается в том, что цена выравнивается, когда она падает ниже предыдущей линии K.
Длина скользящей средней и величина диапазона длины и ширины диапазона диапазона длины устанавливаются пользователем.
Используйте K-образные формы для определения рыночных поворотных точек, чтобы избежать взаимного преследования в тренде и уменьшить убытки.
В сочетании с сигналом фильтрации с подвижной средней, избегайте преждевременного пустоты в целевой строке.
Логика стратегии проста и понятна, легко понять и изменить.
Настраиваемые параметры для различных сортов и временных периодов.
При определенных условиях это позволяет своевременно использовать возможности для краткосрочной адаптации.
Рынок может иметь три последовательных фальшивых реверсий, при этом вход в рынок может быть заперт. Для снижения риска могут быть установлены более строгие условия реверсии.
После неудачи поворота легко отследить и остановить падение. Можно установить стоп-лосс, чтобы контролировать риск.
Неправильная настройка параметров может привести к слишком частым выступлениям или упущенным хорошим возможностям. Необходимо повторно тестировать параметры оптимизации.
При колебаниях большого диска, легко быть подхваченным. Можно усилить критерии определения диагональю, чтобы избежать ошибочного суждения.
Использование более сложных показателей в сочетании с K-линейной формой реверсии, таких как BOLL, MACD и т. д., может повысить точность суждения.
Повышение объема торговли или волатильности в сочетании с K-линейной формой, чтобы избежать пустоты Volume.
Добавление логики остановки. Настройка остановки с фиксированным количеством точек или отслеживание остановки.
Оптимизация параметров, чтобы найти оптимальную комбинацию параметров.
Испытание данных по большему количеству разновидностей и циклов для поиска оптимальных условий.
Эта стратегия в целом является более общей короткой линейной стратегией, использующей простые показатели для захвата краткосрочных рыночных поворотов. Ее преимущества заключаются в том, что она легко понятна, логика ясна, и с определенной оптимизацией можно добиться хорошего эффекта. Но также существуют некоторые типичные риски реверсивной стратегии, которые требуют контроля риска с помощью таких средств, как установка остановочных потерь и строгих реверсивных условий.
/*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)