A estratégia quantitativa multifatorial Great Delight combina múltiplos indicadores técnicos, incluindo médias móveis, o MACD e a nuvem de Ichimoku, como uma estratégia de longo prazo de tendência.
Considerando as tendências de longo prazo e de curto prazo, bem como a verificação de múltiplos fatores, esta estratégia pode efetivamente filtrar os negócios de ruído causados por falhas.
Quando o preço está acima do MA de 200 dias, a estratégia acredita que o mercado está em uma tendência de alta.
Os requisitos de sinal tornam-se mais rigorosos agora: além dos sinais de compra MA e MACD de 20 dias, a nuvem Ichimoku também deve dar um sinal de compra (nuvem verde ou preço acima do topo da nuvem) antes de desencadear uma compra.
A lógica do sinal de venda é semelhante, mas invertida: em um mercado de touros, uma vela fechada abaixo do fundo da nuvem ou os gatilhos de reversão da nuvem vendem; em um mercado de urso, entre na nuvem vermelha ou os gatilhos de MA e MACD de 20 dias vendem.
A maior vantagem desta estratégia reside na combinação de múltiplos indicadores de longo e curto prazo para determinar as situações de mercado, que podem filtrar efetivamente os falsos sinais.
Por meio de verificações em várias camadas, a taxa de rentabilidade pode ser consideravelmente melhorada. Além disso, a coordenação entre indicadores de longo e curto prazo também torna a estratégia adequada para operações de curto e médio prazo.
O principal risco desta estratégia é a probabilidade de múltiplos indicadores darem sinais errados ao mesmo tempo.
A estratégia pode ser otimizada a partir dos seguintes aspectos:
A estratégia Great Delight filtra o ruído através de combinações científicas de indicadores, permitindo uma lucratividade persistente enquanto controla riscos. Considerando tendências de longo prazo e oportunidades de curto prazo, é amplamente aplicável em investimentos de médio e longo prazo.
/*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 )