Многофакторная количественная стратегия великого удовольствия

Автор:Чао Чжан, Дата: 2023-12-04 13:04:03
Тэги:

img

Обзор

Многофакторная количественная стратегия Great Delight сочетает в себе несколько технических индикаторов, включая скользящие средние, MACD и облако Ичимоку, как долгосрочную стратегию, следующую за трендом.

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

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

Когда цена выше 200-дневного MA, стратегия считает, что рынок находится в бычьем тренде. До тех пор, пока 20-дневные индикаторы MA и MACD генерируют сигнал покупки одновременно, а цена выше высокой цены облака Ichimoku или внутри облака, генерируется сигнал покупки.

Когда цена опускается ниже 200-дневного MA, стратегия определяет начало медвежьего тренда. Требования к сигналу становятся более строгими: в дополнение к 20-дневным MA и MACD сигналам покупки, облако Ichimoku также должно дать сигнал покупки (зеленое облако или цена выше облака), прежде чем инициировать покупку.

Логика сигнала продажи аналогична, но обратная: на бычьем рынке свеча закрывается ниже дна облака или облака; на медвежьем рынке вводятся красные облака или 20-дневные сигналы продажи MA и MACD.

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

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

  1. 200-дневный MA определяет общую тенденцию, чтобы избежать контратендентных сделок.
  2. 20-дневный MA фокусируется на краткосрочной динамике для отслеживания отклонений.
  3. MACD проверяет изменения тренда.
  4. Облако Ичимоку дважды проверяет, чтобы предотвратить ошибочные сигналы.

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

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

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

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

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

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

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

Заключение

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


/*backtest
start: 2023-11-03 00:00:00
end: 2023-12-03 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy(title="MACD/EMA/SMA/Ichimoku Long Strategy",overlay=true)




// Ichimoku

conversionPeriods = input(9, minval=1, title="Conversion Line Periods"),
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods"),
displacement = input(26, minval=1, title="Displacement")

donchian(len) => avg(lowest(len), highest(len))

conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)


p1 = plot(leadLine1, offset = displacement, color=green,
 title="Lead 1")
p2 = plot(leadLine2, offset = displacement, color=red, 
 title="Lead 2")
fill(p1, p2, color = leadLine1 > leadLine2 ? color(green,50) : color(red,50))



bottomcloud=leadLine2[displacement-1]
uppercloud=leadLine1[displacement-1]




// SMA Indicator - Are we in a Bull or Bear market according to 200 SMA?
SMA200 = sma(close, input(200))
EMA = ema(close,input(20))


//MACD Indicator - Is the MACD bullish or bearish?

fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)

MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD

// Set Buy/Sell conditions

[main,signal,histo]=macd(close,fastLength,slowlength,MACDLength)

buy_entry = if ((uppercloud>bottomcloud or close>max(uppercloud,bottomcloud)) and close>EMA and (delta>0 and close>min(uppercloud,bottomcloud))) or (close<SMA200 and delta>0 and close>EMA and (uppercloud>bottomcloud or close>max(uppercloud,bottomcloud)))
    true
if close<EMA and ((delta<0 and close<min(uppercloud,bottomcloud)) or (uppercloud<bottomcloud and close>max(uppercloud,bottomcloud)))
    buy_entry = false


strategy.entry("Buy",true , when=buy_entry)
alertcondition(buy_entry, title='Long', message='Chart Bullish')


sell_entry = if ((uppercloud<bottomcloud or close<min(uppercloud,bottomcloud)) and close<EMA and (delta<0 and close<max(uppercloud,bottomcloud))) or (close>SMA200 and delta<0 and close<EMA and (uppercloud<bottomcloud or close<min(uppercloud,bottomcloud)))
    true
if close>EMA and ((delta>0 and close>max(uppercloud,bottomcloud)) or (uppercloud>bottomcloud and close<min(uppercloud,bottomcloud)))
    sell_entry = false



strategy.close("Buy",when= sell_entry)


alertcondition(sell_entry, title='Short', message='Chart Bearish')

//plot(delta, title="Delta", style=cross, color=delta>=0 ? green : red )

Больше