Краткосрочная стратегия прорыва, основанная на "золотом перекрестке"

Автор:Чао Чжан, Дата: 2024-02-27 17:46:55
Тэги:

img

Обзор

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

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

Стратегия использует 200-периодный простой скользящий средний малонг в качестве долгосрочной линии и 21-периодный экспоненциальный скользящий средний машонт в качестве краткосрочной линии. Она генерирует сигналы покупки, когда цена пересекает длинную линию, а RSI ниже 20. Сигналы продажи генерируются, когда цена пересекает длинную линию, а RSI превышает 80. Для фильтрации ложных сигналов устанавливаются дополнительные критерии: длинные позиции закрываются только тогда, когда цена ниже краткосрочной линии и выше самой низкой цены предыдущей панели; короткие позиции закрываются только тогда, когда цена выше краткосрочной линии и ниже самой высокой цены предыдущей панели.

Стратегия также устанавливает 1% стоп-лосс и 1% прибыль. То есть стоп-лосс для длинных позиций устанавливается на уровне 99% от цены входа, а прибыль - на уровне 101% от цены входа. Для коротких позиций это наоборот. Это обеспечивает строгий контроль риска для каждой сделки.

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

Наибольшее преимущество этой стратегии заключается в ее краткосрочной способности отслеживания. Золотые/смертные крестовые комбинации скользящих средних являются проверенными эффективными техническими индикаторами для выявления краткосрочных изменений тренда. В сочетании с экстремальным фильтрацией стоимости RSI они могут эффективно обнаруживать краткосрочные возможности реверсии и оперативно корректировать позиции. Такие высокочастотные стратегии могут полностью улавливать краткосрочные колебания цен и получать прибыль.

Другим преимуществом является строгий механизм стоп-лосса, установленный в стратегии. Независимо от того, длинный или короткий, стоп-лосс установлен на 1% ниже цены входа/выхода, что позволяет быстро остановить потерю, чтобы предотвратить увеличение потерь. Аналогичным образом, прибыль устанавливается на 1% для своевременного закрепления прибыли после получения прибыли.

Риски

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

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

Руководство по оптимизации

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

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

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

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

  4. Добавление фильтров сеансов торговли, чтобы занимать позиции только в активные часы торговли, чтобы минимизировать риски на ночь.

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

Заключение

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


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

//@version=5
strategy("simple pull back", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Input values
malongperiod = input.int(200, "Long Term SMA Period", group="Parameters")
mashortperiod = input.int(21, "Short Term SMA Period", group="Parameters")
stoprate = 1  // Set the stop loss percentage to 1%
profit = input.int(1, "Take Profit Percentage", group="Parameters") // Change the take profit percentage to 1%
startday = input(title="Start Trade Day", defval=timestamp("01 Jan 2000 13:30 +0000"), group="Period")
endday = input(title="End Trade Day", defval=timestamp("1 Jan 2099 19:30 +0000"), group="Period")

// Plotting indicators
malong = ta.sma(close, malongperiod)
mashort = ta.ema(close, mashortperiod)

plot(malong, color=color.aqua, linewidth=2)
plot(mashort, color=color.yellow, linewidth=2)

// Date range
datefilter = true

// Long entry condition
if close > malong and close < mashort and strategy.position_size == 0 and datefilter and ta.rsi(close, 3) < 20
    strategy.entry("Long", strategy.long)

// Short entry condition
if close < malong and close > mashort and strategy.position_size == 0 and datefilter and ta.rsi(close, 3) > 80
    strategy.entry("Short", strategy.short)

// Exit conditions with 1% stop loss and 1% take profit
strategy.exit("Cut", "Long", stop=(1 - 0.01 * stoprate) * strategy.position_avg_price, limit=(1 + 0.01 * profit) * strategy.position_avg_price)

if close > mashort and close < low[1] and strategy.position_size > 0
    strategy.close("Long")
if close < mashort and close > high[1] and strategy.position_size < 0
    strategy.close("Short")

Больше