Стратегия торговли «золотой крест» и «мертвый крест» на основе скользящей средней


Дата создания: 2024-02-22 16:25:13 Последнее изменение: 2024-02-22 16:25:13
Копировать: 0 Количество просмотров: 364
1
Подписаться
1182
Подписчики

Стратегия торговли «золотой крест» и «мертвый крест» на основе скользящей средней

Обзор

Движущаяся средняя форексная стратегия - это количественная торговая стратегия, которая отслеживает пересечение краткосрочных и долгосрочных движущихся средних ((EMA) и совершает операции по покупке и продаже во время форексных и форексных операций. Эта стратегия используется в сочетании с MACD для определения торгового сигнала.

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

Стратегия основана на 12-дневных EMA, 26-дневных EMA и MACD. Конкретная логика заключается в следующем:

  1. 12-дневная и 26-дневная ЭМА.
  2. Вычислите MACD (то есть 12-дневную ЭМА минус 26-дневную ЭМА).
  3. 9-дневная EMA MACD рассчитывается как сигнальная линия.
  4. Когда MACD проходит по сигнальной линии, генерируется сигнал покупки.
  5. Когда MACD пересекает сигнальную линию, генерируется сигнал продажи.
  6. При закрытии второго K-провода, генерирующего сигнал, производится соответствующая операция покупки или продажи.

Кроме того, в этой стратегии есть несколько фильтрующих условий:

  1. Торговые часы - это неторговые часы дня.
  2. Абсолютное значение разрыва между MACD и сигнальной линией должно быть больше 0,08.
  3. Каждый раз разрешается только одностороннее хранение.

Анализ преимуществ

Стратегия в сочетании с пересечением скользящих средних и MACD-индикаторами позволяет эффективно улавливать переломные моменты в краткосрочных и среднесрочных тенденциях рынка. Основные преимущества:

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

Анализ рисков

Однако эта стратегия также несет в себе некоторые риски:

  1. Риск совпадения отслеживаемых данных. При практическом использовании параметры и порог могут потребовать корректировки.
  2. Риск чрезмерной стоимости сдвига, связанный с частыми сделками.
  3. “Возвращение тенденции не дает возможности своевременного выхода из кризиса.
  4. В частности, он отметил, что “квантовая торговля увеличивает риск использования собственного рычага”.

Соответствующие методы смягчения:

  1. Динамическая оптимизация параметров, корректировка значений значений.
  2. Умеренное смягчение правил торговли, сокращение ненужных сделок.
  3. В сочетании с другими показателями можно определить обратный сигнал.
  4. Строго контролируйте позиции и рычаги.

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

Эта стратегия может быть оптимизирована в следующих аспектах:

  1. Тестируйте комбинации скользящих средних с более длительным периодом, чтобы найти оптимальные параметры.
  2. Основные факторы, такие как увеличение доходности компании, крупные события, используются в качестве фильтров.
  3. В сочетании с другими показателями, такие как Brin Belt, KDJ и т.д.
  4. Разработка механизмов остановки убытков. При достижении заранее установленной точки остановки убытков, активное прекращение убытков.
  5. Добавить dangere ratio для контроля максимального отвода.

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

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

Исходный код стратегии
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMMA", max_bars_back = 200)

var up1 = #26A69A
var up2 = #B2DFDB
var down1 = #FF5252
var down2 = #FFCDD2
var confirmationLength = 2

var earliest = timestamp("20 Jan 2024 00:00 +0000")

// Regn u
shortEMA = ta.ema(close, 12)
longEMA = ta.ema(close, 26)
macd = shortEMA - longEMA
signal = ta.ema(macd, 9)
delta = macd - signal
absDelta = math.abs(delta)
previousDelta = delta[1]

signalCrossover = ta.crossover(macd, signal)
signalCrossunder = ta.crossunder(macd, signal)

harskiftetdag = hour(time[confirmationLength]) > hour(time)

enterLongSignal = signalCrossover[confirmationLength] and (macd > signal) and (absDelta >= 0.08)
exitLongSignal = signalCrossunder[confirmationLength] and (macd < signal)

enterShortSignal = signalCrossunder[confirmationLength] and (macd < signal) and (absDelta >= 0.08)
exitShortSignal = signalCrossover[confirmationLength] and (macd > signal)

// Så er det tid til at købe noe
qty = math.floor(strategy.equity / close)

if time >= earliest and not harskiftetdag
    if exitLongSignal 
        strategy.close("long")
    else if enterLongSignal
        strategy.close("short")
        strategy.entry("long", strategy.long, qty = qty)

    if exitShortSignal
        strategy.close("short")
    else if enterShortSignal
        strategy.close("long")
        strategy.entry("short", strategy.short, qty = qty)

// Så er det tid til at vise noe

plot(macd, color=color.blue)
plot(signal, color=color.orange)

// bgcolor(color = delta > 0.1 ? color.new(color.green, 90) : color.new(color.green, 100))
// bgcolor(color = signalCrossover ? color.purple : signalCrossunder ? color.aqua : color.new(color.green, 100))

histogramColor = delta > 0 ? (previousDelta < delta ? up1 : up2) : (previousDelta > delta ? down1 : down2)

plot(
     delta,
     style=plot.style_columns,
     color=histogramColor
     )