Количественная стратегия торговли, основанная на трех последовательных бычьих/медвежих свечах и двойных скользящих средних

Автор:Чао Чжан, Дата: 2024-03-28 16:22:18
Тэги:

img

Обзор стратегии

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

Принцип стратегии

  1. Вычислите размер тела трех подряд свечей и определите, показывают ли они тенденцию к увеличению.
  2. Если тела трех последовательных свечей увеличиваются в размерах, а третья свеча закрывается быстрой, генерируется сигнал покупки; если тела трех последовательных свечей увеличиваются в размерах, а третья свеча закрывается понижающей, генерируется сигнал продажи.
  3. Введите две скользящие средние по 50-дневным и 200-дневным периодам, представляющие среднесрочные и долгосрочные тенденции соответственно.
  4. График сигналов покупки/продажи и двух скользящих средних на графике, чтобы визуально продемонстрировать логику стратегии и состояние тренда.
  5. Выполнять соответствующие операции по вводу на основе сигналов покупки/продажи.

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

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

  1. Три последовательных бычьих/медвежьих свечи являются сильным бычьим/медвежьим сигналом, который представляет собой непрерывное укрепление длинных/коротких сил и обеспечивает импульс для продолжения тренда.
  2. Система двойной скользящей средней может эффективно проверять направление и силу тренда. Когда краткосрочная скользящая средняя пересекается выше/ниже долгосрочной скользящей средней, это указывает на то, что тенденция начинает укрепляться/слабеть.
  3. Эти два измерения подтверждают друг друга, образуя относительно надежный сигнал входа, который помогает улучшить уровень выигрыша и соотношение прибыли/убытка стратегии.
  4. Аннотации в графике интуитивны и понятны, что позволяет легко отслеживать исполнение стратегии и эволюцию тренда.

Стратегические риски

  1. Рыночный шум и колебания могут приводить к частым ложным сигналам, что приводит к нестабильному результату стратегии.
  2. Внезапные изменения или ускорения тренда могут привести к тому, что сроки вступления в стратегию будут менее идеальными, что подвергнет ее дополнительному риску.
  3. Отсутствие четких правил получения прибыли, стоп-лосса и управления позициями может привести к тому, что снижение и максимальные потери стратегии превысят ожидания.

Руководство по оптимизации

  1. Настроить определение трех последовательных бычьих/медвежьих моделей свечей, например, учитывая дополнительные условия, такие как амплитуда, длина и цвет последовательных свечей, чтобы улучшить точность сигнала.
  2. Внедрить больше скользящих средних параметров периода, таких как 5-дневный, 10-дневный, 20-дневный и т.д., чтобы построить систему с несколькими скользящими средними и обогатить измерения суждения о тренде.
  3. На основе сигналов входа устанавливаются разумные уровни прибыли и стоп-лосса и правила управления позициями, такие как фиксированное соотношение прибыли/стоп-лосса, процент прибыли/стоп-лосса, последующий стоп-лосс и т.д., чтобы контролировать риск одной сделки.
  4. Рассмотреть возможность добавления показателей объема, таких как дивергенция объема и цены, прорывы объема и т. д., для дальнейшего подтверждения поворотных точек тренда и повышения надежности сигналов входа.

Резюме стратегии

Комбинируя классическую модель трех последовательных бычьих/медвежьих свечей с двойной системой скользящих средних, эта стратегия направлена на захват отправной точки тренда и получение прибыли от потенциальных спредов цен в начале тренда. Ее преимущества заключаются в четких сигналах, простой логике, простоте реализации и оптимизации; в то же время, она также имеет потенциальные риски и возможности для улучшения, такие как частые торговли, нестабильные сигналы и недостаточный контроль рисков. В будущем мы можем начать с таких аспектов, как фильтрация сигналов, управление позициями, получение прибыли / стоп-лосс и т. Д., Чтобы постоянно обогащать и укреплять общую производительность этой стратегии и предоставлять больше ссылок для количественной торговой практики.


/*backtest
start: 2023-03-22 00:00:00
end: 2024-03-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Consecutive Candles with MAs", shorttitle="CCMAs", overlay=true)

// Üç ardışık mumun büyüklüklerinin arttığını kontrol eden fonksiyon
isThreeConsecutiveCandlesIncreasing() =>
    firstCandleBody = abs(close[2] - open[2])
    secondCandleBody = abs(close[1] - open[1])
    thirdCandleBody = abs(close - open)
    firstCandleBody < secondCandleBody and secondCandleBody < thirdCandleBody

// Üçüncü mum kapandığında al veya sat koşulu
longCondition = isThreeConsecutiveCandlesIncreasing() and close > open
shortCondition = isThreeConsecutiveCandlesIncreasing() and close < open

// 50 ve 200 periyotluk hareketli ortalamalar
ma50 = sma(close, 50)
ma200 = sma(close, 200)

// Al veya sat sinyallerini grafiğe ekleme
plotshape(series=longCondition, title="Al Sinyali", location=location.belowbar, color=color.green, style=shape.triangleup, text="AL")
plotshape(series=shortCondition, title="Sat Sinyali", location=location.abovebar, color=color.red, style=shape.triangledown, text="SAT")

// Hareketli ortalamaların grafiğe eklenmesi
plot(ma50, title="50 Periyotluk Hareketli Ortalama", color=color.blue)
plot(ma200, title="200 Periyotluk Hareketli Ortalama", color=color.red)

// Al veya sat komutlarını çalıştırma
if (longCondition)
    strategy.entry("Al", strategy.long)
if (shortCondition)
    strategy.entry("Sat", strategy.short)


Больше