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


Дата создания: 2023-12-20 13:59:38 Последнее изменение: 2023-12-20 13:59:38
Копировать: 0 Количество просмотров: 716
1
Подписаться
1621
Подписчики

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

Обзор

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

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

Когда 10-дневная средняя линия пересекает 200-дневную среднюю линию, а 20-дневная средняя линия пересекает 50-дневную среднюю линию, делайте больше; когда 10-дневная средняя линия пересекает 200-дневную среднюю линию, а 20-дневная средняя линия пересекает 50-дневную среднюю линию, делайте пустоту. Здесь, судя по двойной средней линии, можно эффективно отфильтровать ложные прорывы.

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

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

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

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

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

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

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

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

  1. Увеличение количества подтверждений. Количество сделок может подтвердить прорыв цены, чтобы избежать входа при низком количестве ложных прорывов.
  2. В сочетании с другими показателями, такими как MACD, KDJ и т. д. в качестве вспомогательных. Больше показателей может повысить стабильность системы.
  3. Параметры автоматической оптимизации. Параметры, оптимизированные с помощью генетических алгоритмов, такие как 10-дневная, 20-дневная и т. Д., Приспосабливаются к различным рыночным условиям.

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

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

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

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

//@version=3
strategy("Advancing Our Basic Strategy", overlay=true)

ema10 = ema(close, 10)
ema20 = ema(close, 20)
ema50 = ema(close, 50)
ema200 = ema(close, 200)

long = ema10 > ema200 and ema20 > ema50
short = ema10 < ema200 and ema20 < ema50
longcondition = long and long[10] and not long[11]
shortcondition = short and short[10] and not short[11]

closelong = ema10 < ema200 or ema20 < ema50 and not long[11]
closeshort = ema10 > ema200 or ema20 > ema50 and not short[11]

plot(ema10, title="10", color=green, linewidth=2)
plot(ema20, title="20", color=red, linewidth=3)
plot(ema50, title="50", color=purple, linewidth=2)
plot(ema200, title="200", color=blue, linewidth=3)

testPeriodStart = timestamp(2018,8,1,0,0)
testPeriodStop = timestamp(2038,8,30,0,0)

if time >= testPeriodStart and time <= testPeriodStop
    strategy.entry("Long", strategy.long, 1, when=longcondition)
    strategy.entry("Short", strategy.short, 1, when=shortcondition)
    

strategy.close("Long", when = closelong)
strategy.close("Short", when = closeshort)