A estratégia de combinação de Supertrend e EMA é uma estratégia de negociação que combina o indicador de Supertrend com vários indicadores de EMA. A estratégia usa o indicador de Supertrend para determinar a direção atual da tendência do mercado e usa diferentes períodos de indicadores de EMA como gatilhos para sinais de compra e venda. Quando a EMA de curto prazo cruza acima da EMA de médio prazo e o indicador de Supertrend mostra uma tendência de alta, um sinal de compra é gerado; quando a EMA de curto prazo cruza abaixo da EMA de médio prazo e o indicador de Supertrend mostra uma tendência de queda, um sinal de venda é gerado.
O princípio central da Estratégia de Combinação de Supertrend e EMA é utilizar as características do indicador de Supertrend e dos indicadores EMA para capturar mudanças nas tendências do mercado e flutuações de preços. O indicador de Supertrend determina a direção da tendência do mercado atual comparando o preço de fechamento atual com as faixas superior e inferior do período anterior. Quando o preço de fechamento ultrapassa a faixa superior, ele indica uma tendência de alta no mercado; quando o preço de fechamento cai abaixo da faixa inferior, ele indica uma tendência de queda no mercado. Ao mesmo tempo, a estratégia usa quatro períodos diferentes de indicadores EMA (20 dias, 50 dias, 100 dias e 200 dias) e gera sinais de compra e venda gerados pela comparação do cruzamento gerado entre a EMA de médio prazo e a EMA de médio prazo. Quando o indicador de potencial de EMA cruza acima do curto prazo, ele indica quando o momento da tendência de alta é indicado no mercado, combinado com um sinal de compra e venda abaixo da tendência de curto
A estratégia combina o indicador Supertrend com vários indicadores EMA para formar um sistema de negociação completo de tendência. A estratégia usa o indicador Supertrend para determinar as tendências do mercado e gera sinais de compra e venda com base no cruzamento dos indicadores EMA. Tem as vantagens de forte capacidade de seguir tendências, confirmação confiável de sinais e ampla adaptabilidade. No entanto, a estratégia também enfrenta riscos como otimização de parâmetros, volatilidade do mercado e reversão de tendência.
/*backtest start: 2023-06-01 00:00:00 end: 2024-06-06 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Supertrend EMA Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10) // Supertrend Parameters atrPeriod = input(10, title="ATR Period") src = input(hl2, title="Source") multiplier = input(3.0, title="ATR Multiplier", step=0.1) changeATR = input(true, title="Change ATR Calculation Method?") showSignals = input(true, title="Show Buy/Sell Signals?") highlighting = input(true, title="Highlighter On/Off?") // Calculate ATR atr = changeATR ? atr(atrPeriod) : sma(tr, atrPeriod) // Calculate Supertrend up = src - (multiplier * atr) dn = src + (multiplier * atr) up1 = nz(up[1], up) dn1 = nz(dn[1], dn) up := close[1] > up1 ? max(up, up1) : up dn := close[1] < dn1 ? min(dn, dn1) : dn trend = 1 trend := nz(trend[1], trend) trend := trend == -1 and close > dn1 ? 1 : trend == 1 and close < up1 ? -1 : trend // Plot Supertrend upPlot = plot(trend == 1 ? up : na, title="Up Trend", style=plot.style_linebr, linewidth=2, color=color.green) dnPlot = plot(trend == 1 ? na : dn, title="Down Trend", style=plot.style_linebr, linewidth=2, color=color.red) // EMA Parameters shortEmaLength = input(20, title="Short EMA Length") mediumEmaLength = input(50, title="Medium EMA Length") longEmaLength = input(100, title="Long EMA Length") longestEmaLength = input(200, title="Longest EMA Length") // Calculate EMA shortEma = ema(close, shortEmaLength) mediumEma = ema(close, mediumEmaLength) longEma = ema(close, longEmaLength) longestEma = ema(close, longestEmaLength) // Plot EMA plot(shortEma, color=color.red, title="EMA 20") plot(mediumEma, color=color.orange, title="EMA 50") plot(longEma, color=color.aqua, title="EMA 100") plot(longestEma, color=color.blue, title="EMA 200") // Define Buy and Sell Conditions buyCondition = crossover(shortEma, mediumEma) and trend == 1 sellCondition = crossunder(shortEma, mediumEma) and trend == -1 // Plot Buy/Sell Signals plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL") // Add Text Labels for Buy and Sell Signals if (buyCondition) label.new(bar_index, high, text="Buy", color=color.green, textcolor=color.white, style=label.style_label_up, yloc=yloc.abovebar) if (sellCondition) label.new(bar_index, low, text="Sell", color=color.red, textcolor=color.white, style=label.style_label_down, yloc=yloc.belowbar) // Strategy Entry and Exit if (buyCondition) strategy.entry("Buy", strategy.long) if (sellCondition) strategy.close("Buy") // Highlight Trend longFillColor = highlighting ? (trend == 1 ? color.green : color.white) : color.white shortFillColor = highlighting ? (trend == -1 ? color.red : color.white) : color.white fill(plot(ohlc4, title="", style=plot.style_circles, linewidth=0), upPlot, title="UpTrend Highlighter", color=longFillColor) fill(plot(ohlc4, title="", style=plot.style_circles, linewidth=0), dnPlot, title="DownTrend Highlighter", color=shortFillColor) // Alerts alertcondition(buyCondition, title="Buy Alert", message="Supertrend EMA Buy Signal") alertcondition(sellCondition, title="Sell Alert", message="Supertrend EMA Sell Signal")