Стратегия Doji Candlestick Reversal Trading

Автор:Чао Чжан, Дата: 2023-09-27 16:40:28
Тэги:

Обзор

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

Принципы

Основными принципами этой стратегии являются:

  1. Определение моделей доджи путем расчета диапазона открытых/закрытых цен и общего движения цен.

  2. Проверка предыдущего закрытия выше/ниже текущего высокого/низкого, чтобы избежать ложных сигналов.

  3. Суждение о ценах открытия/закрытия по отношению к линиям SMA для получения сигналов обворота.

  4. генерация длинных/коротких сигналов при выявлении квалифицированных моделей доджи.

Основными этапами кодекса являются:

  1. Расчет линий SMA

  2. Переключение через свечи для определения моделей додзи

  3. Проверка предыдущей тесной и текущей высокой/низкой отношений

  4. Подтверждение сигналов обратного движения, основанных на отношениях открытие/закрытие и SMA

  5. Графика сигнальных маркеров и выход длинных/коротких сигналов

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

Преимущества этой стратегии включают:

  1. Узоры Doji понятны и легко идентифицируются/используются.

  2. Фильтры SMA помогают уменьшить ложные сигналы.

  3. Ясные длинные/короткие сигналы делают торговые операции простыми.

  4. Обратная торговля фиксирует краткосрочные тенденции.

  5. Гибкие параметры могут адаптироваться к различным рыночным условиям.

  6. Легко понять и реализовать, для начинающих.

Риски

Некоторые потенциальные риски:

  1. Опирается на единую схему, склонна к ложным прорывам.

  2. Нет механизма остановки потерь для контроля потерь.

  3. Плохая настройка параметров может привести к чрезмерной торговле.

  4. Зависит от тренда, не работает на трендовых рынках.

  5. Работа зависит от оптимизации параметров.

Решения:

  1. Добавьте другие фильтры для подтверждения сигналов.

  2. Внедрить стоп-лосс для управления рисками.

  3. Оптимизировать параметры и ограничить частоту торговли.

  4. Использовать в основном на рынках с ограниченным диапазоном.

  5. Постоянное тестирование и оптимизация.

Области улучшения

Некоторые способы улучшения стратегии:

  1. Добавьте фильтр громкости, чтобы избежать ложных прорывов.

  2. Внедряйте механизмы стоп-лосса, такие как отслеживание стоп-лосса.

  3. Оптимизировать параметры на основе рыночных условий, таких как тенденции.

  4. Добавьте другие индикаторы для подтверждения сигналов, такие как MACD, KDJ и т. д.

  5. Добавьте определение тренда, чтобы избежать торговли с противоположным трендом.

  6. Оптимизируйте период просмотра, чтобы сбалансировать частоту и качество.

Резюме

Эта стратегия использует модели доджи с SMA для эффективной обратной торговли. Она имеет такие преимущества, как простые правила и легкая торговля. Но также имеет риски и области для улучшения. При постоянной оптимизации она может стать прочной краткосрочной торговой системой.

[/trans]


/*backtest
start: 2022-09-20 00:00:00
end: 2023-09-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Doji Reversal", overlay=true)

smaPeriod = input(title="SMA Period", defval=10, minval=0)
tolerance = input(title="Tolerance", defval=0.1, minval=0)

lookbackEnd = input(title="End", defval=2, minval=0)

avg = sma(close, smaPeriod)
signal_long = bool(false)
signal_short = bool(false)

for i = 1 to lookbackEnd
    is_doji = (abs(close[i] - open[i]) / (high[i] - low[i])) < tolerance
    signal_long := signal_long or ( is_doji and (close[i-1] <= high[i] or i == 1) and close[i-1] > high[i] and high[i] < avg and close > open )
    signal_short := signal_short or ( is_doji and (close[i-1] >= low[i] or i == 1) and close[i-1] < low[i] and low[i] > avg and close < open )

plotshape(signal_long, "LONG", style=shape.triangleup, size=size.normal)
plotshape(signal_short, "SHORT", style=shape.triangledown, size=size.normal)

strategy.entry("LONG", strategy.long, when=signal_long)
strategy.entry("SHORT", strategy.short, when=signal_short)

Больше