Стратегия торговли по тренду на основе Granville и множественного подтверждения сигналов MACD

EMA MACD GC(Golden Cross) SL(Stop Loss) TP(Take Profit)
Дата создания: 2025-02-20 11:38:15 Последнее изменение: 2025-02-27 17:46:54
Копировать: 2 Количество просмотров: 323
2
Подписаться
319
Подписчики

Стратегия торговли по тренду на основе Granville и множественного подтверждения сигналов MACD Стратегия торговли по тренду на основе Granville и множественного подтверждения сигналов MACD

Обзор

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

Стратегический принцип

Процесс реализации стратегии состоит из четырех ключевых шагов:

  1. Подтверждение обратного сигнала Granville: мониторинг того, пробилась ли цена вверх ниже средней линии EMA, что указывает на возможный обратный тренд.
  2. Первое подтверждение золотого форка MACD: после появления сигнала о реверсии Гранвиля, ожидание появления золотого форка MACD, второе подтверждение поворота тренда.
  3. Проверка прорыва MACD: подтверждение того, что MACD-линия прорвалась впервые, что свидетельствует о продолжающемся усилении восходящей динамики.
  4. MACD второй шаг назад: ожидание MACD после прорыва шаг назад и снова пройти через сигнальную линию, это окончательный входный сигнал.

Стоп-потеря устанавливается с использованием метода динамической корректировки, основанной на волнообразности обратной K-линии. Стоп-потеря устанавливается на низкую точку обратной K-линии, стоп-потеря устанавливается в 1,618 раз больше волнообразности обратной K-линии, что соответствует принципу расширения Фибоначчи.

Стратегические преимущества

  1. Механизм многократного подтверждения: значительно снижает риск ложных сигналов путем объединения ценового поведения, трендовых и динамических индикаторов.
  2. Динамический риск-менеджмент: на основе реальных колебаний на рынке установлены стоп-стоп, что делает риск-менеджмент более адаптивным.
  3. Проверка непрерывности тренда: подтверждение множественных сигналов MACD повышает точность захвата непрерывных трендов.
  4. Умение адаптироваться: параметры стратегии могут быть оптимизированы в зависимости от различных рыночных условий и временных циклов.

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

  1. Сигнальная задержка: многократный механизм подтверждения может привести к задержке времени входа, что может повлиять на потенциальную прибыль.
  2. Промежуточный рынок: в поперечном сворачивании рынка, частое ложное прорыв может привести к последовательному остановке убытков.
  3. Чрезмерная зависимость от технических индикаторов: чисто технический анализ может потерять свою эффективность при резких колебаниях настроений на рынке.
  4. Чувствительность параметров: в различных рыночных условиях может потребоваться частое корректирование параметров для поддержания эффективности стратегии.

Направление оптимизации стратегии

  1. Классификация рыночных условий: введение показателей волатильности, использование различных параметров в различных рыночных условиях.
  2. Оптимизация времени входа в поле: можно рассмотреть возможность увеличения количества подтвержденных транзакций во время второго возвращения MACD, чтобы повысить надежность сигнала.
  3. Динамическая коррекция стоп-лосса: можно корректировать кратность стоп-лосса в зависимости от динамики рыночных колебаний.
  4. Повышение рыночного настроения: в сочетании с рыночными настроениями, в период экстремальных настроений, изменяется степень радикальности стратегии.

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2024-02-21 00:00:00
end: 2025-02-18 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Granville + MACD Strategy", overlay=true, initial_capital=100000, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// ■ Parameter Settings
emaPeriod = input.int(20, "EMA Period for Granville", minval=1)
fastLen   = input.int(12, "MACD Fast Period", minval=1)
slowLen   = input.int(26, "MACD Slow Period", minval=1)
signalLen = input.int(9,  "MACD Signal Period", minval=1)

// ■ Calculate EMA (for Granville reversal detection)
ema_val = ta.ema(close, emaPeriod)

// ■ Granville Reversal Detection (e.g., price crosses above EMA from below)
granvilleReversal = ta.crossover(close, ema_val)

// ■ Calculate MACD
[macdLine, signalLine, _] = ta.macd(close, fastLen, slowLen, signalLen)

// ■ State management variables (to manage state transitions)
var bool   granvilleDone   = false    // Reversal bar confirmed flag
var float  granvilleLow    = na       // Low of the reversal bar (used for SL)
var float  granvilleRange  = na       // Range of the reversal bar (used for TP calculation)
var bool   macdGC_done     = false    // First MACD Golden Cross confirmed
var int    goldenCrossBar  = na       // Bar index of the first MACD Golden Cross
var float  initialMacdHigh = na       // MACD value at the Golden Cross (used for break detection)
var bool   breakoutDone    = false    // MACD line breaks the initial Golden Cross MACD value

// ■ (1) Granville Reversal Detection
if granvilleReversal
    granvilleDone  := true
    granvilleLow   := low             // Low of the reversal bar (SL)
    granvilleRange := high - low      // Range of the reversal bar (used for TP calculation)
    // Reset MACD-related states
    macdGC_done     := false
    breakoutDone    := false
    initialMacdHigh := na
    goldenCrossBar  := na

// ■ (2) MACD Golden Cross (first signal) detection
if granvilleDone and (not macdGC_done) and ta.crossover(macdLine, signalLine)
    macdGC_done    := true
    goldenCrossBar := bar_index
    initialMacdHigh:= macdLine

// ■ (3) Check if MACD line breaks the initial MACD value at the Golden Cross
if macdGC_done and (not breakoutDone) and (macdLine > initialMacdHigh)
    breakoutDone := true

// ■ (4) When MACD retests and crosses above the signal line again, it's the entry timing
// ※ Check for a crossover after the first Golden Cross bar
entryCondition = granvilleDone and macdGC_done and breakoutDone and (bar_index > goldenCrossBar) and ta.crossover(macdLine, signalLine)

// ■ TP and SL settings at entry
if entryCondition
    entryPrice = close
    tpPrice = entryPrice + granvilleRange * 1.618
    slPrice = granvilleLow
    strategy.entry("Long", strategy.long)
    strategy.exit("Exit Long", from_entry="Long", stop=slPrice, limit=tpPrice)
    // Reset states after entry (for the next entry)
    granvilleDone   := false
    macdGC_done     := false
    breakoutDone    := false
    initialMacdHigh := na
    goldenCrossBar  := na

// ■ Plotting (for reference)
// Display the EMA on the price chart (with fixed title)
plot(ema_val, color=color.orange, title="EMA (20)")

// Plot MACD and Signal in a separate window (with fixed titles)
plot(macdLine, color=color.blue, title="MACD")
plot(signalLine, color=color.red, title="Signal")