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

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

img

Обзор

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

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

Эта стратегия основана на принципе пересечения скользящей средней. Она рассчитывает одновременно 9-дневные и 55-дневные простые скользящие средние. Когда 9-дневный MA пересекает 55-дневный MA, это сигнализирует о том, что краткосрочная тенденция перевернулась вверх, поэтому идет на длинный. Когда 9-дневный MA пересекает 55-дневный MA, это сигнализирует о том, что краткосрочная тенденция перевернулась вниз, поэтому идет на короткий.

В то же время эта стратегия использует индикатор ATR для установки точек стоп-лосса и берущей прибыли. Индикатор ATR может измерять степень волатильности цен на рынке. Точка стоп-лосса устанавливается на цене закрытия минус значение ATR, поэтому она может установить разумную стоп-лосс на основе волатильности рынка. Точка берущей прибыли использует соотношение риск-вознаграждение, которое здесь установлено на 2 - берущая прибыль = цена закрытия + 2 * значение ATR.

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

Это очень простая и практичная краткосрочная стратегия торговли со следующими преимуществами:

  1. Принцип пересечения скользящей средней легко понять и освоить;
  2. Сочетание стоп-лосса и тека-прибыли эффективно контролирует риски и повышает практичность;
  3. Параметры скользящей средней могут быть гибко скорректированы для адаптации к различным рыночным условиям;
  4. ATR-стоп-лосс может устанавливать точки стоп-лосса на основе волатильности рынка, довольно разумно;
  5. Установка коэффициента риск-вознаграждение может быть скорректирована в соответствии с личными предпочтениями по риску.

Риски

Эта стратегия также сопряжена с некоторыми рисками:

  1. При движущихся средних перекрестных сигналах могут быть ложные прорывы, вызывающие неправильные сделки;
  2. Неправильные параметры стоп-лосса или take-profit могут увеличить убытки или уменьшить прибыль;
  3. Неправильные параметры скользящей средней могут привести к слишком высокой частоте торговли или отставанию сигналов;
  4. Неправильные настройки параметров ATR также могут привести к тому, что точки остановки потерь будут слишком близки или слишком далеко.

Эти риски могут быть уменьшены путем оптимизации параметров, строгого стоп-лосса и разумного размещения позиций.

Оптимизация

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

  1. Использование инструментов оптимизации для поиска оптимальной комбинации параметров скользящей средней;
  2. Добавление других показателей для фильтрации сигналов перекрестного пересечения скользящей средней для предотвращения ложных прорывов;
  3. Попробуйте другие типы скользящих средних, такие как экспоненциальные скользящие средние и т.д.;
  4. Подумайте о добавлении параметра ATR к оптимизации, чтобы сделать стоп-лосс и take-profit более интеллектуальными.

Заключение

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


/*backtest
start: 2022-12-14 00:00:00
end: 2023-12-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("MA Crossover Strategy with Stop-Loss and Take-Profit", overlay=true)

// Input for selecting the length of the moving averages
maShortLength = input(9, title="Short MA Length")
maLongLength = input(55, title="Long MA Length")

// Input for setting the risk-reward ratio
riskRewardRatio = input(2, title="Risk-Reward Ratio")

// Calculate moving averages
maShort = ta.sma(close, maShortLength)
maLong = ta.sma(close, maLongLength)

// Buy condition: 9-period MA crosses above 55-period MA
buyCondition = ta.crossover(maShort, maLong)

// Sell condition: 9-period MA crosses below 55-period MA
sellCondition = ta.crossunder(maShort, maLong)

// Set stop-loss and take-profit levels
atrValue = ta.atr(14)
stopLossLevel = close - atrValue  // Use ATR for stop-loss (adjust as needed)
takeProfitLevel = close + riskRewardRatio * atrValue  // Risk-reward ratio of 1:2

// Execute buy and sell orders with stop-loss and take-profit
strategy.entry("Buy", strategy.long, when = buyCondition)
strategy.exit("Sell", from_entry="Buy", loss=stopLossLevel, profit=takeProfitLevel)

// Plot moving averages on the chart
plot(maShort, color=color.blue, title="Short MA")
plot(maLong, color=color.red, title="Long MA")

Больше