Кроссоверная стратегия между несколькими скользящими средними

Автор:Чао Чжан, Дата: 2024-02-04 17:21:25
Тэги:

img

Обзор

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

Принципы

Стратегия основана на следующих ключевых моментах:

  1. Вычислить 21-дневные, 50-дневные, 100-дневные и 200-дневные простые скользящие средние.

  2. Идите длинный, когда цена пересекает любой из скользящих средних, и идти короткий, когда он пересекает ниже.

  3. Установите стоп-лосс близко к самой низкой цене предыдущей панели после открытия длинных позиций и к самой высокой цене после открытия коротких позиций.

  4. Установите цели получения прибыли ниже самой низкой цены для длинных позиций и выше самой высокой цены для коротких позиций в определенных диапазонах.

  5. Закрыть позиции, когда цена достигнет уровня стоп-лосса или уровень прибыли.

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

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

Основными преимуществами этой стратегии являются:

  1. Улучшенная надежность сигнала с помощью анализа нескольких временных рамок. Различные перекрестки скользящих средних помогают отфильтровать некоторые ложные сигналы и позволяют торговать в более четкие моменты тренда.

  2. Динамические остановки облегчают контроль риска. Расчет остановок на основе ценового действия обеспечивает разумные диапазоны для ограничения максимальных потерь на основе каждой сделки.

  3. Простая и понятная структура кода. Синтаксис Pine предлагает читаемые структуры для легкой настройки параметров и оптимизации.

  4. Легкое практическое применение. Кроссоверы скользящих средних являются классической стратегической идеей, которая может быть легко реализована в живой торговле с правильной настройкой параметров.

Риски

Также следует учитывать некоторые риски:

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

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

  3. Неправильное установление параметров увеличивает убытки. Слишком широкие остановки или узкие прибыли могут увеличить максимальную потерю на сделку.

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

  5. Реальные торговые различия: затраты на торговлю, скольжение и т.д. могут влиять на доходность при применении на реальных торговых платформах.

Решения:

  1. Добавьте подтверждение сигнала с другими индикаторами, такими как KDJ, MACD и т.д.

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

  3. Оптимизировать параметры и оценивать долгосрочную отдачу и снижение.

  4. Тщательно проверяйте стратегии в бумажной торговле и добавляйте ручные остановки.

Возможности для расширения

Есть возможности для дальнейшего совершенствования:

  1. Добавьте количественные правила входа и выхода, например, проверьте новые максимумы и минимумы, чтобы обеспечить торговлю с более четкими тенденциями.

  2. Инклюзивное размещение позиций и управление рисками. Динамический размер позиций на основе размера счета и рыночных условий.

  3. Используйте такие индикаторы, как PRZ, ATR, DMI и т. д., чтобы отфильтровать и выбрать соответствующие тенденции.

  4. Сменяйте длинные и короткие периоды хранения.

  5. Создать фондовый пул с использованием моделей инвестирования факторов.

  6. Добавьте машинное обучение для контроля рисков. Используйте LSTM, RNN и т. Д., Чтобы помочь в суждении и предотвратить человеческие ошибки.

Заключение

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


/*backtest
start: 2024-01-04 00:00:00
end: 2024-02-03 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("DolarBasar by AlperDursun", shorttitle="DOLARBASAR", overlay=true)

// Input for Moving Averages
ma21 = ta.sma(close, 21)
ma50 = ta.sma(close, 50)
ma100 = ta.sma(close, 100)
ma200 = ta.sma(close, 200)

// Calculate the lowest point of the previous candle for stop loss
lowestLow = ta.lowest(low, 2)

// Calculate the highest point of the previous candle for stop loss
highestHigh = ta.highest(high, 2)

// Calculate take profit levels
takeProfitLong = lowestLow - 3 * (lowestLow - highestHigh)
takeProfitShort = highestHigh + 3 * (lowestLow - highestHigh)

// Entry Conditions
longCondition = ta.crossover(close, ma21) or ta.crossover(close, ma50) or ta.crossover(close, ma100) or ta.crossover(close, ma200)
shortCondition = ta.crossunder(close, ma21) or ta.crossunder(close, ma50) or ta.crossunder(close, ma100) or ta.crossunder(close, ma200)

// Stop Loss Levels
stopLossLong = lowestLow * 0.995
stopLossShort = highestHigh * 1.005

// Exit Conditions
longExitCondition = low < stopLossLong or high > takeProfitLong
shortExitCondition = high > stopLossShort or low < takeProfitShort

if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)

if (longExitCondition)
    strategy.exit("Long Exit", from_entry="Long", stop=stopLossLong, limit=takeProfitLong)

if (shortExitCondition)
    strategy.exit("Short Exit", from_entry="Short", stop=stopLossShort, limit=takeProfitShort)


Больше