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


Дата создания: 2024-01-22 12:14:29 Последнее изменение: 2024-01-22 12:14:29
Копировать: 1 Количество просмотров: 541
1
Подписаться
1617
Подписчики

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

Обзор

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

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

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

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

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

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

  1. Эффективный способ захвата переменных в рыночных тенденциях, открытие прибыльных позиций вблизи ключевых точек
  2. Использование перекрестного соединения двух различных периодических равномерных линий позволяет избежать ошибочного сигнала
  3. Предоставление функций обратной связи для проверки эффективности стратегии в различных рыночных условиях
  4. Карта четкая, можно интуитивно увидеть перекрестные сигналы и изменения позиций

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

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

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

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

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

  1. Испытание комбинированного эффекта различных равнолинейных циклов
  2. Повышение показателей фильтрации, таких как объем сделок или волатильность, чтобы избежать распространенных методов
  3. Вместе с экономическими данными или базовыми новостями в качестве фильтра
  4. Подумайте о стратегии сдерживания убытков, такой как сдерживание движения или сдерживание времени
  5. Оценка эффективности различных периодов

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

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

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

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

//@version=5
strategy("[S_R__9] - Death and Golden Cross", overlay=true)

// Specific Time Date Range For Backtest
startDate = input.int(title='Start Date', defval=1, minval=1, maxval=31, group='DATE CONFIG')
startMonth = input.int(title='Start Month', defval=1, minval=1, maxval=12, group='DATE CONFIG')
startYear = input.int(title='Start Year', defval=2023, minval=1800, maxval=2100, group='DATE CONFIG')

endDate = input.int(title='End Date', defval=31, minval=1, maxval=31, group='DATE CONFIG')
endMonth = input.int(title='End Month', defval=12, minval=1, maxval=12, group='DATE CONFIG')
endYear = input.int(title='End Year', defval=2023, minval=1800, maxval=2100, group='DATE CONFIG')

SPECIFIC_DATE = input.bool(title='USE SPECIFIC DATE ?', defval=false, group='DATE CONFIG')

inDateRange = SPECIFIC_DATE ? time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0) and time < timestamp(syminfo.timezone, endYear, endMonth, endDate, 0, 0) : true

// Calculate 50 SMA and 200 SMA
sma50 = ta.sma(close, 50)
sma200 = ta.sma(close, 200)

// Detect a Death Cross (50 SMA crossing below 200 SMA)
deathCross = ta.crossunder(sma50, sma200)
// Detect a Golden Cross (50 SMA crossing above 200 SMA)
goldenCross = ta.crossover(sma50, sma200)

// Strategy Execution
if (inDateRange)
    if (deathCross)
        strategy.entry("Death Cross long", strategy.short)

    if (goldenCross)
        strategy.entry("Golden Cross short", strategy.long)

// Plot SMAs
plot(sma50, color=color.red, title="50 SMA")
plot(sma200, color=color.blue, title="200 SMA")

// Plotting Death Cross signal
plotshape(series=deathCross and inDateRange, title="Death Cross Signal", location=location.belowbar, color=color.red, style=shape.labeldown, text="DEATH CROSS")

// Plotting Golden Cross signal
plotshape(series=goldenCross and inDateRange, title="Golden Cross Signal", location=location.abovebar, color=color.green, style=shape.labelup, text="GOLDEN CROSS")