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


Дата создания: 2023-09-19 21:38:06 Последнее изменение: 2023-09-19 21:38:06
Копировать: 0 Количество просмотров: 827
1
Подписаться
1617
Подписчики

Обзор

Эта стратегия основана на индикаторе SuperTrend. Индикатор SuperTrend состоит из двух эквивалентных линий, которые пересекаются в качестве сигнала покупки и продажи.

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

  1. Вычислить демаFast по формуле:*ema5 - ema(ema5,5)

  2. Расчет демаSlow, формула: 2*ema2 - ema(ema2,2)

  3. Быстрая линия состоит из 5-дневных ЭМА и реагирует на изменения цены быстрее; медленная линия состоит из 2-дневных ЭМА и реагирует на изменения цены медленнее.

  4. Когда быстрая линия прорывает медленную линию снизу, генерируется сигнал покупать; когда быстрая линия падает сверху и прорывает медленную линию, генерируется сигнал продавать.

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

  6. Фактическое выполнение сделки в соответствии с сигналами покупки и продажи.

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

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

  1. Простой и практичный технический показатель для определения изменения направления тренда с использованием двухравнолинейного перекрестка.

  2. Параметры скоростной и замедленной линии регулируются и оптимизируются для различных циклов.

  3. Стратегические сигналы ясны, сделки просты в исполнении.

  4. Отслеживание завершено, можно проверить эффективность стратегии.

  5. Визуальный интерфейс показывает, что происходит на перекрестке.

  6. Стратегическая концепция понятна и подходит для начинающих.

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

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

  2. Невозможно эффективно обрабатывать рынок свертывания или колебания, легко потерять. Можно добавить механизм определения тенденции для оптимизации.

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

  4. Необходимо обратить внимание на влияние затрат на прибыль.

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

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

  2. Добавление других показателей для фильтрации сигналов, таких как показатель KDJ и т. д.

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

  4. Добавление функций управления позициями, используя различные проценты торгов в разных рыночных условиях.

  5. Оптимизация стратегии управления капиталом, установление показателей риска, таких как рентабельность и убыточность.

  6. Подумайте о том, чтобы использовать алгоритмы, такие как машинное обучение, для оптимизации параметров или оценки сигналов.

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

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

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

strategy(title = "SuperTrend", shorttitle = "BTC")
ema5=ta.ema(close, 5)
ema2=ta.ema(close, 2)
 
demaFast =  request.security(syminfo.tickerid, "30", 2 * ema5 - ta.ema(ema5, 5)  )

plotchar((2 * ema5 - ta.ema(ema5, 5)), "d", "", location = location.top)
plotchar(demaFast, "fast", "", location = location.top)

demaSlow  = request.security(syminfo.tickerid,"30", 2 * ema2 - ta.ema(ema2, 2)  )
plotchar(demaSlow, "slow", "", location = location.top)

buy = ta.crossover(demaSlow, demaFast)
sell = ta.crossunder(demaSlow, demaFast)
strategy.entry("BUY", strategy.long, 1, when = buy)
strategy.entry("SELL", strategy.short, 1, when = sell )