Este artigo apresenta um sistema de estratégia de negociação que combina vários indicadores técnicos. O sistema integra vários métodos de análise técnica, incluindo MACD, EMA, Média Móvel Simples e MA100, juntamente com gerenciamento de risco e filtros de tempo, com o objetivo de fornecer aos traders uma solução de negociação abrangente.
Esta estratégia é um sistema de análise técnica multi-estratégia que compreende quatro sub-estratégias independentes: estratégia MACD, estratégia EMA8, estratégia MA simples e estratégia MA100. O sistema permite que os traders escolham de forma flexível diferentes tipos de estratégia com base nas condições do mercado, com cada sub-estratégia tendo sua lógica de entrada e saída única, apoiada por mecanismos de gerenciamento de risco correspondentes.
A estratégia do MACD: Captura as tendências do mercado identificando padrões ascendentes e descendentes consecutivos no histograma do MACD. Os sinais de compra são acionados por três barras ascendentes consecutivas do histograma, enquanto os sinais de venda são acionados por duas barras descendentes consecutivas.
Estratégia EMA8: Combina a EMA semanal 8, máximos anteriores e análise de padrões de velas. O sistema entra em posições longas quando o preço ultrapassa a EMA semanal 8, fecha acima dos máximos anteriores e mostra padrões de velas fortes. Esta estratégia inclui uma configuração de stop-loss de 2%.
Estratégia de MA simples: utiliza múltiplas médias móveis exponenciais (10,15,25,35,40 períodos) para construir um sistema de tendência.
Estratégia MA100: combina MA de 100 dias, MA de 8 dias e MA de 25 dias, incorporando oscilador estocástico para condições de sobrevenda. O sistema procura oportunidades de compra em áreas de sobrevenda quando os MA de curto prazo estão acima dos MA de longo prazo e os preços flutuam perto do MA100. Esta estratégia emprega uma configuração de stop-loss de 3%.
Este sistema de negociação de análise técnica multi-estratégia fornece aos traders uma estrutura de decisão de negociação abrangente, integrando vários métodos de análise técnica maduros. As principais vantagens do sistema estão em sua flexibilidade e capacidades de controle de risco, embora exija que os traders tenham uma compreensão profunda dos mercados para a implementação correta. Através da otimização e melhoria contínua, este sistema tem o potencial de se tornar uma ferramenta de negociação cada vez mais refinada.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-09 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ v5 code implements multiple trading strategies //@version=5 strategy("Multi-Strategy Trading System", overlay=true) // Input parameters for customization strategy_type = input.string("MACD", "Strategy Type", options=["MACD", "EMA8", "SimpleMA", "MA100"]) show_macd = input.bool(true, "Show MACD Signals") show_ema = input.bool(true, "Show EMA Signals") show_ma = input.bool(true, "Show MA Signals") // MACD Strategy Components [macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9) // Function to detect three consecutive ascending histogram bars isThreeAscendingBars(hist) => not na(hist[3]) and hist[3] < hist[2] and hist[2] < hist[1] and hist[1] < hist[0] // Function to detect two consecutive descending histogram bars isTwoDescendingBars(hist) => not na(hist[2]) and hist[2] > hist[1] and hist[1] > hist[0] // EMA Strategy Components ema8_weekly = request.security(syminfo.tickerid, "W", ta.ema(close, 8)) weeklyHigh = request.security(syminfo.tickerid, "W", high) previousWeekHigh = weeklyHigh[1] isStrongCandleWeekly = request.security(syminfo.tickerid, "W", close > open and (close - open) > (high - low) * 0.6) // Simple MA Strategy Components ema10 = ta.ema(close, 10) ema15 = ta.ema(close, 15) ema25 = ta.ema(close, 25) ema35 = ta.ema(close, 35) ema40 = ta.ema(close, 40) // MA100 Strategy Components ma100 = ta.sma(close, 100) ma8 = ta.sma(close, 8) ma25 = ta.sma(close, 25) // Corrected Stochastic Oscillator Calculation stochK = ta.stoch(high, low, close, 14) stochD = ta.sma(stochK, 3) isOversold = stochK < 20 and stochD < 20 // MACD Strategy Logic if strategy_type == "MACD" // Buy condition: Three ascending histogram bars after lowest if isThreeAscendingBars(histLine) strategy.entry("MACD Buy", strategy.long) // Sell condition: Two descending histogram bars after highest if isTwoDescendingBars(histLine) strategy.close("MACD Buy") // EMA8 Strategy Logic if strategy_type == "EMA8" if close > ema8_weekly and close > previousWeekHigh and isStrongCandleWeekly strategy.entry("EMA8 Buy", strategy.long) strategy.exit("EMA8 Exit", "EMA8 Buy", stop=low - (low * 0.02)) // Simple MA Strategy Logic if strategy_type == "SimpleMA" isUptrend = ema10 > ema15 and ema15 > ema25 and ema25 > ema35 and ema35 > ema40 if isUptrend and close > ema10 and close[1] <= ema10[1] strategy.entry("MA Buy", strategy.long) strategy.exit("MA Exit", "MA Buy", stop=low - (low * 0.02)) // MA100 Strategy Logic if strategy_type == "MA100" isUptrend = ma8 > ma100 and ma25 > ma100 isPriceNearMA100 = math.abs(close - ma100) / ma100 * 100 < 1 if isUptrend and isPriceNearMA100 and isOversold strategy.entry("MA100 Buy", strategy.long) strategy.exit("MA100 Exit", "MA100 Buy", stop=low - (low * 0.03)) // Plotting components for visualization plot(ma100, "MA100", color=color.blue, linewidth=2) plot(ema8_weekly, "EMA8 Weekly", color=color.yellow, linewidth=2) plot(series=histLine, title="MACD Histogram", style=plot.style_histogram, color=histLine > 0 ? color.green : color.red)