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


Дата создания: 2024-01-19 14:13:07 Последнее изменение: 2024-01-19 14:13:07
Копировать: 0 Количество просмотров: 579
1
Подписаться
1617
Подписчики

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

Обзор

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

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

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

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

Анализ преимуществ

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

  1. Мысли просты, легко понятны и реализуемы.

  2. Параметры для быстрого и медленного среднего значения, которые можно настроить для разных рынков;

  3. Включает в себя параметры Stop Loss и Stop Stop, которые позволяют ограничить потери;

  4. Это может быть как в трендовых, так и в зональных городах.

Анализ рисков

Также существуют риски, связанные со смещением двойных скользящих средних:

  1. При перекрёстке двух средних линий может возникнуть ложный прорыв и риск убытков.

  2. Неправильная настройка параметров стоп-лосса и стоп-стоп может привести к чрезмерным потерям или снижению ожидаемой прибыли;

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

Решение проблемы:

  1. Фильтрация сигналов в сочетании с другими техническими показателями;

  2. тестирование и оптимизация параметров предохранителя;

  3. В сочетании с фундаментальным анализом.

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

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

  1. тестирование средних комбинаций различных параметров для поиска оптимальных параметров;

  2. Увеличение количественных показателей подтверждения цен, чтобы избежать ложных прорывов;

  3. Динамическая коррекция амплитуды стоп-лома для оптимизации стоп-лома;

  4. Оптимизация в сочетании с изменениями в объемах сделок, изменениями в объемах сделок и т. Д.

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

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

Исходный код стратегии
/*backtest
start: 2023-01-12 00:00:00
end: 2024-01-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Moving Average Crossover", overlay=true)

// Define input parameters
fast_length = input(10, title="Fast MA Length")
slow_length = input(30, title="Slow MA Length")
stop_loss_percent = input(1.0, title="Stop Loss (%)", minval=0.1, maxval=10, step=0.1)
take_profit_percent = input(2.0, title="Take Profit (%)", minval=0.1, maxval=10, step=0.1)

// Calculate moving averages
fast_ma = sma(close, fast_length)
slow_ma = sma(close, slow_length)

// Entry conditions
long_condition = crossover(fast_ma, slow_ma)
short_condition = crossunder(fast_ma, slow_ma)

// Plot moving averages on the chart
plot(fast_ma, title="Fast MA", color=color.blue)
plot(slow_ma, title="Slow MA", color=color.red)

// Strategy orders
strategy.entry("Long", strategy.long, when=long_condition)
strategy.entry("Short", strategy.short, when=short_condition)

// Set stop loss and take profit levels
stop_loss_price = close * (1 - stop_loss_percent / 100)
take_profit_price = close * (1 + take_profit_percent / 100)
strategy.exit("Take Profit/Stop Loss", from_entry="Long", stop=stop_loss_price, limit=take_profit_price)
strategy.exit("Take Profit/Stop Loss", from_entry="Short", stop=take_profit_price, limit=stop_loss_price)