В процессе загрузки ресурсов... загрузка...

Тройная скользящая средняя последовательность тренда и интеграция импульса

Автор:Чао Чжан, Дата: 2024-11-27 16:08:16
Тэги:ЕМАТЕМАMACDSMA

img

Обзор

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

Принципы стратегии

Стратегия определяет торговые сигналы посредством трех основных систем технических индикаторов:

  1. Система тройной экспоненциальной скользящей средней (TEMA) подтверждает общее направление тренда. Она рассчитывает три слоя EMA и объединяет их динамические изменения для оценки силы тренда.
  2. Система перекрестного использования быстрого/медленного MA использует 9-периодные и 15-периодные EMA для фиксации среднесрочных точек переворота тренда.
  3. Пересечение цены с 5-периодным EMA служит окончательным сигналом подтверждения точного времени входа.

Торговые сигналы запускаются при выполнении всех условий:

  • MACD пересекает линию сигнала с восходящим трендом TEMA
  • Краткосрочная EMA пересекает долгосрочную EMA
  • Цены пересекают 5-периодную ЭМА

Преимущества стратегии

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

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

  1. Многочисленные требования к подтверждению могут привести к задержке вступления и упущенным возможностям на быстро меняющихся рынках.
  2. Фиксированные точки остановки потерь должны быть скорректированы с учетом различных волатильностей рынка, чтобы избежать преждевременного выхода.
  3. Может генерировать частые ложные сигналы в диапазоне ограниченных, неуравновешенных рынков.
  4. Задержки могут выйти из качественных тенденций слишком рано во время серьезных колебаний рынка.

Руководство по оптимизации

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

Резюме

Стратегия создает надежную торговую систему путем интеграции нескольких систем технических индикаторов. Ее основные сильные стороны заключаются в нескольких механизмах подтверждения и комплексных системах контроля рисков.


/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-31 23:59:59
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("ITG Scalper Strategy", shorttitle="lokesh_ITG_Scalper_Strategy", overlay=true)

// General inputs
len = input(14, title="TEMA period")
FfastLength = input.int(13, title="Filter fast length")
FslowLength = input.int(18, title="Filter slow length")
FsignalLength = input.int(14, title="Filter signal length")
sl_points = 7 // 5 points stop loss
tp_points = 100 // 100 points target profit
trail_points = 15 // Trailing stop loss every 10 points

// Validate input
if FfastLength < 1
    FfastLength := 1
if FslowLength < 1
    FslowLength := 1
if FsignalLength < 1
    FsignalLength := 1

// Get real close price
realC = close

// Triple EMA definition
ema1 = ta.ema(realC, len)
ema2 = ta.ema(ema1, len)
ema3 = ta.ema(ema2, len)

// Triple EMA trend calculation
avg = 3 * (ema1 - ema2) + ema3

// Filter formula
Fsource = close
FfastMA = ta.ema(Fsource, FfastLength)
FslowMA = ta.ema(Fsource, FslowLength)
Fmacd = FfastMA - FslowMA
Fsignal = ta.sma(Fmacd, FsignalLength)

// Plot EMAs for visual reference
shortema = ta.ema(close, 9)
longema = ta.ema(close, 15)
yma = ta.ema(close, 5)
plot(shortema, color=color.green)
plot(longema, color=color.red)
plot(yma, color=#e9f72c)

// Entry conditions
firstCrossover = ta.crossover(Fmacd, Fsignal) and avg > avg[1]
secondCrossover = ta.crossover(shortema, longema)  // Assuming you meant to cross shortema with longema
thirdCrossover = ta.crossover(close, yma)

var bool entryConditionMet = false

if (firstCrossover)
    entryConditionMet := true

longSignal = entryConditionMet and secondCrossover and thirdCrossover

// Strategy execution
if (longSignal)
    strategy.entry("Long", strategy.long)
    entryConditionMet := false  // Reset the entry condition after taking a trade

// Calculate stop loss and take profit prices
var float long_sl = na
var float long_tp = na

if strategy.position_size > 0  // Long position
    long_sl := close - sl_points
    long_tp := close + tp_points
    
    // Adjust stop loss with trailing logic
    if (close - long_sl > trail_points)
        long_sl := close - trail_points
        
    strategy.exit("Exit Long", "Long", stop=long_sl, limit=long_tp)

// Plotting Buy signals
plotshape(series=longSignal, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal")

// Alerts
alertcondition(longSignal, title="Buy Signal", message="Buy Signal")


Связанные

Больше