Стратегия пересечения скользящих средних по золоту


Дата создания: 2023-12-27 15:56:12 Последнее изменение: 2023-12-27 15:56:12
Копировать: 0 Количество просмотров: 863
1
Подписаться
1623
Подписчики

Стратегия пересечения скользящих средних по золоту

Обзор

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

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

Эта стратегия основана на быстро-медленном движущемся среднем. Быстрая линия - 9-дневная ЭМА, медленная линия - 21-дневная ЭМА.

Стоп-старт на определенном процентном уровне от закрытия, стоп-старт на определенном процентном уровне от закрытия.

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

Эта стратегия имеет следующие преимущества:

  1. Логика стратегии проста, ясна, легко понятна и реализуема
  2. Используя функцию отслеживания трендов с помощью движущихся средних, можно эффективно улавливать тенденции.
  3. Вместе с остановкой, остановкой и подвижной остановкой можно эффективно контролировать риск
  4. Гибкость в регулировании параметров, оптимизация для разных рынков

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

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

  1. Движущаяся средняя имеет задержку, может пропустить сигнал настройки
  2. Неправильная установка стоп-лосса или стоп-листа может привести к ненужным потерям или потере прибыли.
  3. Неправильная настройка параметров может привести к слишком частым сделкам или упущенным торговым возможностям

Решение проблемы:

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

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

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

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

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

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

Исходный код стратегии
/*backtest
start: 2022-12-20 00:00:00
end: 2023-12-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("XAUUSD Strategy with SL, TP, and BE", shorttitle="EA", overlay=true)

// Define strategy parameters
fastLength = input(9, title="Fast EMA Length")
slowLength = input(21, title="Slow EMA Length")
stopLossPercent = input(1, title="Stop Loss (%)", minval=0, maxval=5) / 100
takeProfitPercent = input(2, title="Take Profit (%)", minval=0, maxval=5) / 100
breakEvenPercent = input(1, title="Break Even (%)", minval=0, maxval=5) / 100

// Calculate EMAs
fastEMA = ema(close, fastLength)
slowEMA = ema(close, slowLength)

// Plot EMAs on the chart
plot(fastEMA, color=color.blue, title="Fast EMA")
plot(slowEMA, color=color.red, title="Slow EMA")

// Strategy logic
enterLong = crossover(fastEMA, slowEMA)
exitLong = crossunder(fastEMA, slowEMA)

enterShort = crossunder(fastEMA, slowEMA)
exitShort = crossover(fastEMA, slowEMA)

// Calculate stop loss, take profit, and break-even levels
longStopLoss = close * (1 - stopLossPercent)
longTakeProfit = close * (1 + takeProfitPercent)
shortStopLoss = close * (1 + stopLossPercent)
shortTakeProfit = close * (1 - takeProfitPercent)

longBreakEven = close * (1 + breakEvenPercent)
shortBreakEven = close * (1 - breakEvenPercent)

// Execute strategy with stop loss, take profit, and break-even
strategy.entry("Long", strategy.long, when = enterLong)
strategy.exit("Take Profit/Stop Loss Long", from_entry="Long", profit = longTakeProfit, loss = longStopLoss)

strategy.entry("Short", strategy.short, when = enterShort)
strategy.exit("Take Profit/Stop Loss Short", from_entry="Short", profit = shortTakeProfit, loss = shortStopLoss)

// Move stop loss to break even when price reaches break-even level
strategy.exit("Break Even Long", from_entry="Long", loss = longBreakEven)
strategy.exit("Break Even Short", from_entry="Short", loss = shortBreakEven)