Эта стратегия называется
Основная логика стратегии двойной скользящей средней:
Когда вышеперечисленные торговые сигналы возникают, мы будем рисовать соответствующие знаки на графике для легкого визуального суждения.
Наибольшее преимущество стратегии двойной скользящей средней заключается в том, что она может эффективно объединять индикаторы тренда и индикаторы перекупленности/перепроданности, чтобы сделать торговые сигналы более надежными.
Сочетание RSI и MA может проверять сигналы друг с другом и избегать ложных сигналов, генерируемых одним индикатором.
По сравнению с одной стратегией RSI или MA, двойная стратегия скользящей средней может получить более прибыльные возможности.
Сильная адаптивность: эта стратегия использует только два параметра, простой в эксплуатации, низкой стоимости и адаптируется к различным рыночным условиям.
Легко оптимизировать. Настраивая параметры цикла RSI и MA, удобно оптимизировать и адаптироваться к большему количеству сортов.
Несмотря на многочисленные преимущества стратегии двойной скользящей средней, риска не могут быть полностью избегнуты при фактическом применении.
В МР используются средние исторические цены и могут отставать от последних изменений цен.
RSI может испытывать ложные прорывы, что приводит к неправильным сигналам.
Неспособны адаптироваться к быстро меняющимся тенденциям рынков, склонны к остановке потерь.
Неправильные параметры также могут сильно повлиять на эффективность стратегии.
В ответ мы в основном осуществляем контроль рисков в следующих аспектах:
Использование адаптивной МД для корректировки параметров цикла на основе последних изменений цен.
Увеличить механизм остановки потери для контроля одиночных потерь.
Оптимизировать параметры для выбора наилучшей комбинации параметров для тестирования.
Примите шаг стоп-лосс, чтобы зафиксировать частичную прибыль и снизить риски.
Для потенциальных проблем с стратегией двойной скользящей средней мы рассматриваем оптимизацию из следующих аспектов:
Использовать адаптивную MA вместо обычной MA, чтобы быстрее улавливать изменения тренда цен.
Например, покупайте только тогда, когда цена закрытия и объем торгов повышаются вместе.
Комбинировать другие индикаторы для фильтрации недействительных сигналов, например, проверяет индикаторы MACD или KD.
Оптимизировать диапазон параметров, чтобы найти оптимальную комбинацию параметров.
Использовать методы машинного обучения для адаптивной оптимизации параметров.
Ожидается, что с помощью вышеуказанных оптимизаций будет значительно улучшена реальная производительность стратегии двойной скользящей средней.
Стратегия двойной скользящей средней интегрирует преимущества индикаторов RSI и MA. Благодаря сотрудничеству двух, более точные и надежные торговые сигналы могут быть генерированы. По сравнению с едиными техническими индикаторными стратегиями, стратегии двойной скользящей средней имеют более высокую точность сигнала, меньше ложных сигналов, легкую оптимизацию и другие преимущества. Но риск неисправности не может быть полностью избегнут. Мы также предложили некоторые конкретные меры контроля риска. Кроме того, есть измерения, которые могут быть дополнительно оптимизированы для этой стратегии. Благодаря сочетанию адаптивных индикаторов, других вспомогательных индикаторов проверки, оптимизации параметров и других средств, ожидается дальнейшее улучшение показателя доходности стратегии. В целом, эта стратегия обеспечивает простое и практичное решение технического анализа для количественной торговли.
/*backtest start: 2023-10-31 00:00:00 end: 2023-11-30 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="RSI + MA", shorttitle="RSI + MA") reverseTrade = input(false, title = "Use Reverse Trade?") lengthRSI = input(14, minval=1, title="RSI Length") sourceRSI = input(close, "RSI Source", type = input.source) showMA = input(true, title="Show MA") lengthMA = input(9, minval=1, title="MA Length") offsetMA = input(title="MA Offset", type=input.integer, defval=0, minval=-500, maxval=500) up = rma(max(change(sourceRSI), 0), lengthRSI) down = rma(-min(change(sourceRSI), 0), lengthRSI) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) ma = sma(rsi, lengthMA) plot(showMA ? ma : na, "MA", color=color.blue, linewidth=2, style=0, offset=offsetMA) plot(rsi, "RSI", color=#9915FF, linewidth=1, style=0) band1 = hline(70, "Upper Band", color=#C0C0C0, linestyle=2, linewidth=1) band0 = hline(30, "Lower Band", color=#C0C0C0, linestyle=2, linewidth=1) fill(band1, band0, color=color.new(#9915FF,95), title="Background") buy = reverseTrade ? rsi[1] < ma[1] and rsi > ma : rsi[1] > ma[1] and rsi < ma sell = reverseTrade ? rsi[1] > ma[1] and rsi < ma : rsi[1] < ma[1] and rsi > ma strategy.entry("Buy", true, when = buy) strategy.entry("Sell", false, when = sell)