Esta estratégia combina o indicador Ichimoku Cloud e o indicador de média móvel para implementar uma estratégia de negociação quantitativa simples. Gerar sinais de compra quando a linha de conversão está acima da linha de base e o preço de fechamento está acima da linha de conversão. Gerar sinais de venda quando a linha de conversão está abaixo da linha de base e o preço de fechamento está abaixo da linha de conversão. A estratégia é adequada para negociação de curto prazo de ativos de alta volatilidade como criptomoedas.
A nuvem Ichimoku contém três linhas: a linha de conversão, a linha de base e o intervalo de atraso. A linha de conversão representa o preço médio de curto prazo e a linha de base representa o preço médio de longo prazo. O intervalo de atraso é geralmente a média da conversão e das linhas de base.
A Nuvem Ichimoku também contém duas linhas principais: Leading Span A e Leading Span B. Eles representam a faixa média de flutuações de preços em diferentes períodos.
Esta estratégia usa a linha de conversão para determinar a direção geral da tendência e as linhas principais para medir o impulso. Ela gera sinais de negociação com base na tendência, impulso e preços de fechamento.
As principais vantagens desta estratégia são:
Os principais riscos desta estratégia são:
Algumas formas de reforçar esta estratégia:
Em resumo, esta é uma estratégia quantitativa de negociação muito simples que combina Ichimoku Cloud e média móvel para determinar a tendência e o impulso para os sinais de negociação. É adequado para a negociação de ativos voláteis de curto prazo com bom potencial de lucro.
/*backtest start: 2024-01-20 00:00:00 end: 2024-02-19 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Ichimoku Cloud + ema 50 Strategy", overlay=true) len = input.int(50, minval=1, title="Length") src = input(close, title="Source") out = ta.ema(src, len) conversionPeriods = input.int(9, minval=1, title="Conversion Line Length") basePeriods = input.int(26, minval=1, title="Base Line Length") laggingSpan2Periods = input.int(52, minval=1, title="Leading Span B Length") displacement = input.int(1, minval=1, title="Lagging Span") donchian(len) => math.avg(ta.lowest(len), ta.highest(len)) conversionLine = donchian(conversionPeriods) baseLine = donchian(basePeriods) leadLine1 = math.avg(conversionLine, baseLine) leadLine2 = donchian(laggingSpan2Periods) p1 = plot(leadLine1, offset = displacement - 1, color=#A5D6A7, title="Leading Span A") p2 = plot(leadLine2, offset = displacement - 1, color=#EF9A9A, title="Leading Span B") fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90)) plot(out, title="EMA", color=color.white) // Condition for Buy Signal buy_signal = close > out and leadLine1 > leadLine2 // Condition for Sell Signal sell_signal = close < out and leadLine2 > leadLine1 // Strategy entry and exit conditions if (buy_signal) strategy.entry("Buy", strategy.long) if (sell_signal) strategy.entry("Sell", strategy.short) // Exit long position if candle closes below EMA 50 if (strategy.opentrades > 0) if (close < out) strategy.close("Buy") // Exit short position if candle closes above EMA 50 if (strategy.opentrades < 0) if (close > out) strategy.close("Sell")