Смешанная стратегия Gold Composite Moving Average Crossover RSI


Дата создания: 2024-03-01 12:28:38 Последнее изменение: 2024-03-01 12:28:38
Копировать: 0 Количество просмотров: 721
1
Подписаться
1617
Подписчики

Смешанная стратегия Gold Composite Moving Average Crossover RSI

Обзор

Эта стратегия проводит длинные и короткие двунаправленные операции в торговле золотом, используя в качестве основного торгового сигнала пересечение 21-дневной, 50-дневной и 200-дневной линий, а RSI и поглощающая форма помогают фильтровать сигналы для дальнейшей оптимизации входа на рыночную точку.

Стратегический принцип

Стратегия заключается в принятии решений о сделках, основанных на следующих аспектах:

  1. Скрещивание скользящих средних

Используйте золотой/мертвый форк на 21-й и 200-й день как основной индикатор для определения перехода тренда. При пересечении 200-й линии на 21-й день используйте положительный сигнал, а при пересечении 200-й линии на 21-й день используйте отрицательный сигнал.

  1. Поддержка RSI

Установите линию сверхпокупа и линию сверхпродажи RSI, когда RSI выше 70 - это сверхпокупка, а когда RSI ниже 30 - это сверхпродажа. RSI должен находиться в зоне, не являющейся сверхпокупкой, когда есть сигнал о повышении, и в зоне, не являющейся сверхпродажей, когда есть сигнал о снижении, чтобы избежать покупки высокого и продажи низкого.

  1. Форма поглощения подтверждена

При появлении сигнала-наблюдателя должна появляться поглощающая форма candle, а при появлении сигнала-наблюдателя должна появляться поглощающая форма candle, чтобы подтвердить обратный тренд.

Когда эти три условия удовлетворяются одновременно, образуются торговые сигналы и заказы, в результате чего образуется более строгий набор фильтров.

Стратегические преимущества

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

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

  2. Настройка RSI позволяет избежать покупки высоких и продажи низких точек.

  3. Присоединение формы поглощения позволяет еще больше подтвердить надежность обратного тренда.

  4. Стойкость к убыткам меньше, что позволяет эффективно контролировать риск.

Стратегический риск

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

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

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

  3. В некоторых странах, например, в Китае, в Китае, в Китае, в Китае, в Китае, в Китае, в Китае, в Китае, в Китае.

  4. Долгосрочная стабильность работы пока не подтверждена.

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

Направление оптимизации

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

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

  2. В сочетании с другими показателями. Такие показатели, как MACD, KD, также могут помочь определить время изменения тенденции.

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

  4. Тестирование данных на более длительные периоды времени, проверка долгосрочной эффективности стратегии. Проверка стабильности стратегии с помощью более длительных сроков и отсчета рыночных явлений.

Подвести итог

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

Исходный код стратегии
/*backtest
start: 2024-02-01 00:00:00
end: 2024-02-29 23:59:59
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Gold Trading with Simons Strategy", overlay=true)

// Parameters
length21 = input(21, minval=1, title="Length for 21 MA")
length50 = input(50, minval=1, title="Length for 50 MA")
length200 = input(200, minval=1, title="Length for 200 MA")
rsiLength = input(14, minval=1, title="RSI Length")
rsiOverbought = input(70, title="RSI Overbought Level")
rsiOversold = input(30, title="RSI Oversold Level")
takeProfitPercent = input(4, title="Take Profit %")
stopLossPercent = input(1, title="Stop Loss %")

// Moving Averages
ma21 = sma(close, length21)
ma50 = sma(close, length50)
ma200 = sma(close, length200)

// RSI
rsi = rsi(close, rsiLength)

// Engulfing Pattern
isBullishCandle(c) => close[c] > open[c]
isBearishCandle(c) => close[c] < open[c]

bearishEngulfing = isBullishCandle(1) and isBearishCandle(0) and close < open[1] and open > close[1]
bullishEngulfing = isBearishCandle(1) and isBullishCandle(0) and close > open[1] and open < close[1]

// Calculate Take Profit and Stop Loss Levels
takeProfitLevel(entryPrice) => entryPrice * (1 + takeProfitPercent / 100)
stopLossLevel(entryPrice) => entryPrice * (1 - stopLossPercent / 100)

// Entry Conditions
longCondition = crossover(ma21, ma200) and close > ma21 and close > ma50 and rsi < rsiOverbought and bullishEngulfing
shortCondition = crossunder(ma21, ma200) and close < ma21 and close < ma50 and rsi > rsiOversold and bearishEngulfing

// Entry
if (longCondition)
    entryPrice = close
    strategy.entry("Long", strategy.long)
    strategy.exit("Take Profit", "Long", limit=takeProfitLevel(entryPrice))
    strategy.exit("Stop Loss", "Long", stop=stopLossLevel(entryPrice))
if (shortCondition)
    entryPrice = close
    strategy.entry("Short", strategy.short)
    strategy.exit("Take Profit", "Short", limit=takeProfitLevel(entryPrice))
    strategy.exit("Stop Loss", "Short", stop=stopLossLevel(entryPrice))

// Plotting
plot(ma21, color=color.blue, title="21 MA")
plot(ma50, color=color.orange, title="50 MA")
plot(ma200, color=color.red, title="200 MA")
hline(rsiOverbought, "RSI Overbought", color=color.green)
hline(rsiOversold, "RSI Oversold", color=color.red)
plot(rsi, "RSI", color=color.purple)