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


Дата создания: 2023-11-06 10:27:00 Последнее изменение: 2023-11-06 10:27:00
Копировать: 0 Количество просмотров: 632
1
Подписаться
1617
Подписчики

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

Обзор

Эта стратегия определяет направление многополюса, рассчитывая пересечение 9-дневной средней линии, 20-дневной средней линии и 200-дневной средней линии. Она объединяет классическую мысль о пересечении двух средних линий, а также добавляет средства для определения долгосрочных тенденций 200-дневной средней линии.

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

Эта стратегия основана на расчете отношений между 9-дневным средним, 20-дневным средним и 200-дневным средним.

Во-первых, он рассчитывает 9-дневную среднюю линию и 20-дневную среднюю линию. Если 9-дневная средняя линия пересекает 20-дневную среднюю линию, это сигнал к покупке; если 9-дневная средняя линия пересекает 20-дневную среднюю линию, это сигнал к продаже.

Затем он рассчитывает 200-дневную среднюю линию как индикатор долгосрочного тренда. Если 20-дневная средняя линия пересекает 200-дневную среднюю линию, это сигнал долгосрочного падения; если 20-дневная средняя линия пересекает 200-дневную среднюю линию, это сигнал долгосрочного падения.

В конце концов, он объединяет 9-дневную среднюю линию, 20-дневную среднюю линию и 200-дневную среднюю линию, чтобы определить конкретный момент покупки и продажи. Фактический торговый сигнал создается только тогда, когда 9-дневная средняя линия и 20-дневная средняя линия пересекаются вверх или вниз.

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

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

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

    1. Увеличение оценки 200-дневной средней линии, чтобы избежать переустановки в течение длительного падения и уменьшить убытки
    1. объединение нескольких равнолинейных отношений, более надежное определение сигналов, избежание увеличения количества недействительных сделок
    1. Сигналы о равномерном перекрестке легко распознаются и подходят для ручной торговли
    1. Простой, понятный и понятный код, используемый в качестве входной стратегии для количественных сделок
    1. Гибкая оптимизация, например, изменение среднелинейных параметров или добавление других показателей

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

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

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

    1. Испытание комбинаций различных среднелинейных параметров для поиска оптимальных параметров
    1. Присоединение к стратегии “стоп-лосс” и строгий контроль за единичными потерями
    1. Рассмотреть возможность управления объемом сделок и адаптировать позиции к различным рыночным условиям
    1. Оптимизация поступления, подтверждение в сочетании с такими показателями, как Momentum
    1. Оптимизация выхода на рынок, установление разумной цены на остановку
    1. Добавление дополнительных показателей для оценки тенденций и вероятности обратного отсчета
    1. Присоединение к моделям машинного обучения в поисках более сложной логики транзакций

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

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

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

//@version=1
strategy("Dieyson Swingtrade EMA 20+200 and bar & line color", overlay=true)


//bar color rules
Dgbar = close>close[1] and ema(close,20)>ema(close[1],20)
Drbar = close<close[1] and ema(close,20)<ema(close[1],20)

//Barcolors
barcolor(Dgbar ? green : na)
barcolor(Drbar ? red : na)

//MM09 Colorful

MMgreen9 = ema(close,9)>ema(close[1],9) and ema(close,20)>ema(close[1],20)
MMred9 = ema(close,9)<ema(close[1],9) and ema(close,9)<ema(close[1],9)
col8 = (MMgreen9 ? color(green,0) : na)
col28 = (MMred9 ? color(red,0) : na)
col38 = (not MMgreen9 and not MMred9 ? color(black,0) : na)

//plot(ema(close,9), color=col8, style=line, linewidth=1)
//plot(ema(close,9), color=col28, style=line, linewidth=1)
//plot(ema(close,9), color=col38, style=line, linewidth=1)

//MM20 Colorful

MMgreen = ema(close,20)>ema(close[1],20)
MMred = ema(close,20)<ema(close[1],20)
col = (MMgreen ? color(green,0) : na)
col2 = (MMred ? color(red,0) : na)
col3 = (not MMgreen and not MMred ? color(yellow,0) : na)
col4 = color(black,0)
plot(ema(close,20), color=col, style=line, linewidth=2)
plot(ema(close,20), color=col2, style=line, linewidth=2)
plot(ema(close,20), color=col3, style=line, linewidth=2)
plot(ema(close,200), color=col4, style=line, linewidth=3)
//plot(vwap(15), color(white,0), style=line, linewidth=3)
//plot(cross(ema(close,9), ema(close,20)) ? ema(close,9) : na, style = cross,color=fuchsia, transp=0, linewidth = 4)
plot(cross(ema(close,20), ema(close,200)) ? ema(close,20) : na, style = cross,color=fuchsia, transp=0, linewidth = 4)

c = crossover(ema(close,9), ema(close,20)) and ema(close,9) > ema(close,20)
// c = crossover(close, ema (close,9) and ema(close,9) > ema(close[1],9))
v = crossunder(close, ema (close,9))

strategy.entry("COMPRA", strategy.long,when=c)
strategy.entry("VENDA", strategy.short,when=v)