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

Автор:Чао Чжан, Дата: 2023-12-27 15:56:12
Тэги:

img

Обзор

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

Логика стратегии

Стратегия основана на быстрых и медленно движущихся средних. Быстрая линия - это 9-дневная EMA, а медленная линия - 21-дневная EMA. Она длится, когда быстрая линия пересекает над медленной линией снизу. Она становится короткой, когда быстрая линия пересекает ниже медленной линии сверху. Выходы запускаются обратными пересечениями.

Стоп-лосс устанавливается на основе процента закрытия. Приобретение прибыли устанавливается на основе процента закрытия. Стоп-лосс перемещается к цене входа, когда цена достигает уровня безубыточности.

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

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

  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)


Больше